Compare commits

...

52 Commits

Author SHA1 Message Date
TGP17
d537594304
Add qt6gtk2 (#59) 2024-01-08 12:25:36 -08:00
TGP17
cf30470748
Revert "Adds required Dockerfiles for Linux Arm64" (#58) 2024-01-08 12:18:42 -08:00
TGP17
ec0efa8b1c
Add LLVM 15 (#57) 2023-10-18 14:16:21 -07:00
liushuyu
55b02717e6
Merge pull request #56 from TGP17/linux-arm64
Adds required Dockerfiles for Linux Arm64
2023-10-01 12:15:20 -06:00
TGP17
46c2384383
Adds required Dockerfiles for Linux Arm64 2023-10-01 15:59:36 +02:00
liushuyu
e17f6a13b3
Merge pull request #55 from SachinVin/bump
linux-fresh\Dockerfile: Bump ubuntu to 23.04
2023-09-27 06:36:31 -06:00
SachinVin
50433cf809 linux-fresh\Dockerfile: Bump ubuntu to 23.04
glslang
2023-09-26 18:21:34 +05:30
Steveice10
7d9bfe1840
Add libgl-dev and libsdl2-dev to linux-fresh. (#53) 2023-06-28 01:50:03 -06:00
Steveice10
705f98f1eb
Re-add libqt6opengl6-dev to linux-fresh (#52) 2023-06-28 00:43:13 -06:00
Steveice10
d13778f06c
Clean up Linux build images and dependencies. (#51) 2023-06-28 00:19:42 -06:00
TGP17
660e3995d4
Add checkrt plugin (#49) 2023-05-18 15:21:56 -06:00
bunnei
54902bd4da
Merge pull request #48 from TGP17/Ubuntu20.04
Change AppImage Buildsystem to Ubuntu20.04
2023-05-14 20:09:53 -07:00
TGP17
e1408af504
Change AppImage Buildsystem to Ubuntu20.04 2023-05-11 20:46:50 +02:00
GPUCode
8594403ed1
appimage: Update glslang (#47) 2023-05-08 13:12:22 -06:00
GPUCode
a8238c2b9b
linux: Update glslang (#46)
* Provides a newer glslang version we need
2023-05-08 10:53:35 -06:00
Steveice10
3e2ed3a387
Clean up linux-appimage image. (#45) 2023-05-02 14:21:29 +02:00
Steveice10
20473a647f
Add Vulkan headers to MinGW environment. (#44) 2023-04-15 03:56:42 -06:00
Steveice10
b4f1ce9940
Fix build issues from Qt 6 differences. (#43) 2023-04-15 00:28:28 -06:00
Steveice10
a48e53c6d1
Add Qt 6 to Linux build images. (#42)
* Add Qt 6 to Linux build images.

* Update dependent CI actions.
2023-04-14 21:50:11 -06:00
MT19048
d6e4e7ff16
Add missing file dependency for appimage docker (#41) 2023-04-09 04:47:31 -06:00
MT19048
66014b5b7a
Add linux-appimage dockerfile (#40)
* Create Dockerfile

* Update Dockerfile

* Add AppImage Dockercontainer

* Add missing RUN before commands

* Add missing depenencies

* Change to Debian 11

Change to Debian 11 for more compatibility on older Distros
2023-04-09 03:23:53 -06:00
GPUCode
d154a98283
Port yuzu-emu/build-environments#62: "transifex: New transifex client" (#38)
* transifex: New transifex client

New client uses new API. Same great name, but in go instead of python

* linux-mingw: Update ffmpeg link

---------

Co-authored-by: Kyle Kienapfel <Docteh@users.noreply.github.com>
2023-04-04 16:16:47 -06:00
liushuyu
50bff74af5
linux-mingw: update ffmpeg 2023-02-18 00:04:49 -07:00
SachinVin
5ac00a5145
transifex: Update CMake to 3.22.6... (#37)
* transifex: Update CMake to 3.22.6; port https://github.com/yuzu-emu/build-environments/pull/67

curl

* mingw: fix ffmpeg link

* CI: build on all branches
2023-02-17 23:31:06 -07:00
liushuyu
1c7f3bbe1f
Merge pull request #36 from GPUCode/master
linux: Provide glslang from PPA
2022-12-26 01:32:39 -07:00
GPUCode
22d2da9147 linux: Provide glslang from PPA
- The available version is too old
2022-12-26 10:27:51 +02:00
GPUCode
aa80c0d7c0 linux: Install glslang-tools as well 2022-12-25 20:01:38 -07:00
GPUCode
6c8cac16f4 linux-fresh: Provide glslang 2022-12-25 20:01:38 -07:00
liushuyu
8ed0a5d2fe
linux-mingw: Update to ffmpeg 5.1.2 ...
... also use the SDL2 binary from the ownstuff repository
2022-12-25 19:56:02 -07:00
liushuyu
5796195306
Merge pull request #34 from vitor-k/patch
Re-freeze linux-frozen and install qtbase5-private-dev
2022-10-05 15:34:48 -06:00
Vitor Kiguchi
8531c03ea5 linux-frozen: re-freeze with ubuntu 22.04 2022-10-05 18:21:02 -03:00
Vitor Kiguchi
b07890cd8d linux-fresh: install qtbase5-private-dev 2022-10-05 18:21:02 -03:00
liushuyu
432a6017e3
Merge pull request #33 from vitor-k/ownership
maybe fix dubious ownership issues
2022-10-04 15:26:34 -06:00
Vitor Kiguchi
58f3b8d0e6 maybe fix dubious ownership issues 2022-10-04 18:10:50 -03:00
liushuyu
29239910e6
Merge pull request #31 from vitor-k/patch-1
Update transifex to run on a newer debian release
2022-10-03 18:47:19 -06:00
liushuyu
63c53f8d1f
linux-mingw: adapt scripts from yuzu ...
... now the base image uses Arch Linux
2022-10-03 18:30:47 -06:00
liushuyu
eeaf05faae
linux-flatpak: update Flatpak runtime to 5.15/22.08 2022-10-03 18:11:42 -06:00
Vitor K
84c1c341ba
Update transifex to run on a newer debian release
fixes the cmake version errors.
2022-09-21 16:04:27 -03:00
liushuyu
d5f815ef59
linux-flatpak: update base image to Ubuntu 22.04 ...
update Flatpak SDK to 5.15-21.08
2022-06-16 01:39:08 -06:00
liushuyu
41709733d1
linux-clang-format: update base image to Ubuntu 22.04 2022-06-16 01:33:53 -06:00
liushuyu
cd63907c0c
linux-fresh: update base image to Ubuntu 22.04 LTS 2022-06-16 01:24:48 -06:00
liushuyu
93bab861ed
linux-transifex: update base image to debian:bullseye 2022-06-16 01:24:24 -06:00
liushuyu
dcb85589bf
CI: push images to Docker Hub ...
... if the CI is running for `master` branch and current repo is `citra-emu/build-environments`
2021-09-13 17:55:29 -06:00
liushuyu
9318b96b13
linux-mingw: update dependencies 2021-09-13 17:44:59 -06:00
liushuyu
9a8afae68f
CI: use GitHub Actions to build images 2021-09-13 17:33:46 -06:00
liushuyu
3d500b8622
Merge pull request #27 from FearlessTobi/clang-name
clang-format: Correct package name
2020-08-28 12:32:16 -06:00
Tobias
b6c937a0de
Merge branch 'master' into clang-name 2020-08-28 16:13:52 +02:00
Tobias
96b17bbf95
clang-format: Correct package name
The actual package itself has dropped the use of the decimal in the version number.
2020-08-28 16:13:04 +02:00
liushuyu
1928efad36
Merge pull request #26 from FearlessTobi/patch-1
linux-clang-format: Make use of clang-format 10
2020-08-08 16:00:59 -06:00
Tobias
167b154ec7
linux-clang-format: Make use of clang-format 10
This plays nicer with C++ attributes and is also more up to date.
2020-08-08 18:45:43 +02:00
liushuyu
189b8a2e9b
linux-frozen: re-freezing dependencies to Ubuntu 20.04 2020-08-03 15:22:16 -06:00
liushuyu
8cf77e38eb
linux-transifex: add missing git dependency 2020-08-03 14:58:23 -06:00
11 changed files with 150 additions and 381 deletions

30
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,30 @@
name: 'Citra Docker Image CI'
on:
push:
branches: ["*"]
pull_request:
branches: ["master"]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
image: ["linux-appimage", "linux-fresh"]
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
name: Setup Docker BuildX system
- name: Login to DockerHub
uses: docker/login-action@v2
if: (github.ref == 'refs/heads/master') && (github.repository == 'citra-emu/build-environments')
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- uses: docker/build-push-action@v4
name: Build image
with:
push: ${{ (github.ref == 'refs/heads/master') && (github.repository == 'citra-emu/build-environments') }}
context: ${{ matrix.image }}
tags: citraemu/build-environments:${{ matrix.image }}

76
linux-appimage/Dockerfile Normal file
View File

@ -0,0 +1,76 @@
FROM ubuntu:20.04
LABEL maintainer="citraemu"
ENV DEBIAN_FRONTEND=noninteractive
# Create a user account citra (UID 1027) that the container will run as
RUN useradd -m -u 1027 -s /bin/bash citra
# Update system, install PPAs and install packages for building Citra.
RUN apt-get update && apt-get full-upgrade -y
RUN apt-get install -y software-properties-common lsb-release
RUN add-apt-repository -y ppa:savoury1/build-tools
RUN add-apt-repository -y ppa:savoury1/display
RUN add-apt-repository -y ppa:savoury1/ffmpeg4
RUN add-apt-repository -y ppa:savoury1/gcc-defaults-11
RUN add-apt-repository -y ppa:savoury1/llvm-defaults-13
RUN add-apt-repository -y ppa:savoury1/qt-6-2
RUN add-apt-repository -y ppa:theofficialgman/gpu-tools
RUN apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
RUN apt-get install -y \
build-essential \
libsdl2-dev \
libssl-dev \
gcc-11 \
g++-11 \
cpp-11 \
# Qt 6
qt6-base-dev \
qt6-base-private-dev \
qt6-multimedia-dev \
qt6-l10n-tools \
qt6-tools-dev \
qt6-tools-dev-tools \
qt6-gtk-platformtheme \
qt6-documentation-tools \
qt6-wayland \
# FFmpeg
ffmpeg \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavformat-dev \
libswresample-dev \
libswscale-dev \
# Tools
cmake \
p7zip-full \
wget \
unzip \
git \
ccache \
ninja-build \
glslang-dev \
glslang-tools \
file \
# qt6gtk2 dependencies
gtk2.0
# Install LLVM 15
RUN wget https://apt.llvm.org/llvm.sh
RUN chmod +x llvm.sh
RUN ./llvm.sh 15 all
RUN update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 150
RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 150
# Compile and install qt6gtk2
RUN git clone --recursive https://github.com/trialuser02/qt6gtk2
RUN cd qt6gtk2 && qmake6 && make && make install
# Download tools for building AppImages
RUN wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
RUN wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
RUN wget https://github.com/linuxdeploy/linuxdeploy-plugin-checkrt/releases/download/continuous/linuxdeploy-plugin-checkrt-x86_64.sh
RUN chmod a+x linuxdeploy-x86_64.AppImage
RUN chmod a+x linuxdeploy-plugin-qt-x86_64.AppImage
RUN chmod a+x linuxdeploy-plugin-checkrt-x86_64.sh

View File

@ -1,5 +0,0 @@
FROM ubuntu:20.04
LABEL maintainer="citraemu"
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y full-upgrade
RUN apt-get install -y git clang-format-6.0 p7zip-full

View File

@ -1,7 +0,0 @@
FROM ubuntu:20.04
LABEL maintainer="citraemu"
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y full-upgrade
RUN apt-get install -y p7zip-full wget git flatpak flatpak-builder ca-certificates sshfs curl fuse dnsutils gnupg2 sudo
RUN flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
RUN flatpak install -y flathub org.kde.Platform//5.13 org.kde.Sdk//5.13

View File

@ -1,5 +1,47 @@
FROM ubuntu:20.04
FROM ubuntu:23.04
LABEL maintainer="citraemu"
ENV DEBIAN_FRONTEND=noninteractive
# Create a user account citra (UID 1027) that the container will run as
RUN useradd -m -u 1027 -s /bin/bash citra
RUN apt-get update && apt-get -y full-upgrade
RUN apt-get install -y p7zip-full build-essential libsdl2-dev qtbase5-dev libqt5opengl5-dev qtmultimedia5-dev qttools5-dev qttools5-dev-tools libavcodec-dev libavfilter-dev libavformat-dev libswscale-dev wget git ccache cmake ninja-build
RUN apt-get install -y \
# Tools
build-essential \
ccache \
clang \
clang-format-15 \
cmake \
curl \
git \
lld \
llvm \
ninja-build \
p7zip-full \
python3-pip \
software-properties-common \
unzip \
wget \
zip \
# Qt 6
qt6-base-dev \
qt6-base-private-dev \
libqt6opengl6-dev \
qt6-multimedia-dev \
qt6-l10n-tools \
qt6-tools-dev \
qt6-tools-dev-tools \
libgl-dev \
# glslang
glslang-dev \
glslang-tools \
# Other libraries
libsdl2-dev
# Install Transifex client
RUN curl -O -L https://github.com/transifex/cli/releases/latest/download/tx-linux-amd64.tar.gz && \
tar xf tx-linux-amd64.tar.gz tx && \
mv tx /usr/bin/tx && \
rm tx-linux-amd64.tar.gz

View File

@ -1,19 +0,0 @@
FROM ubuntu:20.04
LABEL maintainer="citraemu"
ENV DEBIAN_FRONTEND=noninteractive
RUN mkdir -p /tmp/pkgs
COPY install_package.py /tmp/pkgs
RUN apt-get update && apt-get install -y p7zip-full build-essential wget git python-launchpadlib ccache ninja-build
RUN cd /tmp/pkgs && python2 install_package.py \
libsdl2-dev 2.0.7+dfsg1-3ubuntu1 bionic \
qtbase5-dev 5.9.3+dfsg-0ubuntu2 bionic \
libqt5opengl5-dev 5.9.3+dfsg-0ubuntu2 bionic \
qt5-qmltooling-plugins 5.9.3-0ubuntu1 bionic \
qtdeclarative5-dev 5.9.3-0ubuntu1 bionic \
qtmultimedia5-dev 5.9.3-0ubuntu3 bionic \
libicu57 57.1-6ubuntu0.2 bionic \
cmake 3.10.2-1ubuntu2 bionic \
libavcodec-dev 7:3.4.4-0ubuntu0.18.04.1 bionic \
libavformat-dev 7:3.4.4-0ubuntu0.18.04.1 bionic \
libswscale-dev 7:3.4.4-0ubuntu0.18.04.1 bionic
RUN rm -rf /tmp/pkgs

View File

@ -1,52 +0,0 @@
#!/usr/bin/python
import sys
import re
import subprocess
from launchpadlib.launchpad import Launchpad
if sys.version_info[0] > 2:
xrange = range
cachedir = '/.launchpadlib/cache/'
launchpad = Launchpad.login_anonymously(
'grab build info', 'production', cachedir, version='devel')
processed_packages = []
deb_file_list = []
def get_url(pkg, distro):
build_ref = launchpad.archives.getByReference(reference='ubuntu').getPublishedBinaries(
binary_name=pkg[0], distro_arch_series='https://api.launchpad.net/devel/ubuntu/' + distro + '/amd64', version=pkg[1], exact_match=True, order_by_date=True).entries[0]
build_link = build_ref['build_link']
deb_name = '{}_{}_{}.deb'.format(pkg[0], pkg[1].split(':', 1)[-1], 'amd64' if build_ref['architecture_specific'] else 'all')
deb_link = build_link + '/+files/' + deb_name
return [deb_link, deb_name]
def list_dependencies(deb_file):
t = subprocess.check_output(
['bash', '-c', '(dpkg -I {} | grep -oP "^ Depends\: \K.*$") || true'.format(deb_file)])
deps = [i.split('|')[0].strip() for i in t.split(',')]
equals_re = re.compile(r'^(.*) \(= (.*)\)$')
return [equals_re.sub(r'\1=\2', i).split('=') for i in filter(equals_re.match, deps)]
def get_package(pkg, distro):
if pkg in processed_packages:
return
print('Getting {}...'.format(pkg[0]))
url = get_url(pkg, distro)
subprocess.check_call(['wget', '--quiet', url[0], '-O', url[1]])
for dep in list_dependencies(url[1]):
get_package(dep, distro)
processed_packages.append(pkg)
deb_file_list.append('./' + url[1])
for i in xrange(1, len(sys.argv), 3):
get_package([sys.argv[i], sys.argv[i + 1]], sys.argv[i + 2])
subprocess.check_call(
['apt-get', 'install', '-y', '--force-yes'] + deb_file_list)

View File

@ -1,13 +0,0 @@
FROM ubuntu:20.04
LABEL maintainer="citraemu"
ENV DEBIAN_FRONTEND=noninteractive
RUN mkdir -p /tmp/pkgs
RUN apt-get update && apt-get install -y gpg wget git python3-pip ccache p7zip-full g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 mingw-w64-tools cmake ninja-build
# workaround broken headers in Ubuntu MinGW package
COPY errno.h /usr/x86_64-w64-mingw32/include/
# add mingw-w64 auxiliary ppa repository
RUN echo 'deb http://ppa.launchpad.net/tobydox/mingw-w64/ubuntu bionic main ' > /etc/apt/sources.list.d/extras.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv '72931B477E22FEFD47F8DECE02FE5F12ADDE29B2' && apt-get update
RUN apt-get install -y qt5base-mingw-w64 qt5tools-mingw-w64 libsamplerate-mingw-w64 qt5multimedia-mingw-w64
COPY mingw-setup.sh /tmp/pkgs
RUN cd /tmp/pkgs && bash -e mingw-setup.sh

View File

@ -1,241 +0,0 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_ERRNO
#define _INC_ERRNO
#include <crtdefs.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _CRT_ERRNO_DEFINED
#define _CRT_ERRNO_DEFINED
_CRTIMP extern int *__cdecl _errno(void);
#define errno (*_errno())
errno_t __cdecl _set_errno(int _Value);
errno_t __cdecl _get_errno(int *_Value);
#endif /* _CRT_ERRNO_DEFINED */
#define EPERM 1
#define ENOENT 2
#define ENOFILE ENOENT
#define ESRCH 3
#define EINTR 4
#define EIO 5
#define ENXIO 6
#define E2BIG 7
#define ENOEXEC 8
#define EBADF 9
#define ECHILD 10
#define EAGAIN 11
#define ENOMEM 12
#define EACCES 13
#define EFAULT 14
#define EBUSY 16
#define EEXIST 17
#define EXDEV 18
#define ENODEV 19
#define ENOTDIR 20
#define EISDIR 21
#define ENFILE 23
#define EMFILE 24
#define ENOTTY 25
#define EFBIG 27
#define ENOSPC 28
#define ESPIPE 29
#define EROFS 30
#define EMLINK 31
#define EPIPE 32
#define EDOM 33
#define EDEADLK 36
#define ENAMETOOLONG 38
#define ENOLCK 39
#define ENOSYS 40
#define ENOTEMPTY 41
#ifndef RC_INVOKED
#if !defined(_SECURECRT_ERRCODE_VALUES_DEFINED)
#define _SECURECRT_ERRCODE_VALUES_DEFINED
#define EINVAL 22
#define ERANGE 34
#define EILSEQ 42
#define STRUNCATE 80
#endif
#endif
#define EDEADLOCK EDEADLK
/* Posix thread extensions. */
#ifndef ENOTSUP
#define ENOTSUP 129
#endif
/* Extension defined as by report VC 10+ defines error-numbers. */
#ifndef EAFNOSUPPORT
#define EAFNOSUPPORT 102
#endif
#ifndef EADDRINUSE
#define EADDRINUSE 100
#endif
#ifndef EADDRNOTAVAIL
#define EADDRNOTAVAIL 101
#endif
#ifndef EISCONN
#define EISCONN 113
#endif
#ifndef ENOBUFS
#define ENOBUFS 119
#endif
#ifndef ECONNABORTED
#define ECONNABORTED 106
#endif
#ifndef EALREADY
#define EALREADY 103
#endif
#ifndef ECONNREFUSED
#define ECONNREFUSED 107
#endif
#ifndef ECONNRESET
#define ECONNRESET 108
#endif
#ifndef EDESTADDRREQ
#define EDESTADDRREQ 109
#endif
#ifndef EHOSTUNREACH
#define EHOSTUNREACH 110
#endif
#ifndef EMSGSIZE
#define EMSGSIZE 115
#endif
#ifndef ENETDOWN
#define ENETDOWN 116
#endif
#ifndef ENETRESET
#define ENETRESET 117
#endif
#ifndef ENETUNREACH
#define ENETUNREACH 118
#endif
#ifndef ENOPROTOOPT
#define ENOPROTOOPT 123
#endif
#ifndef ENOTSOCK
#define ENOTSOCK 128
#endif
#ifndef ENOTCONN
#define ENOTCONN 126
#endif
#ifndef ECANCELED
#define ECANCELED 105
#endif
#ifndef EINPROGRESS
#define EINPROGRESS 112
#endif
#ifndef EOPNOTSUPP
#define EOPNOTSUPP 130
#endif
#ifndef EWOULDBLOCK
#define EWOULDBLOCK 140
#endif
#ifndef EOWNERDEAD
#define EOWNERDEAD 133
#endif
#ifndef EPROTO
#define EPROTO 134
#endif
#ifndef EPROTONOSUPPORT
#define EPROTONOSUPPORT 135
#endif
#ifndef EBADMSG
#define EBADMSG 104
#endif
#ifndef EIDRM
#define EIDRM 111
#endif
#ifndef ENODATA
#define ENODATA 120
#endif
#ifndef ENOLINK
#define ENOLINK 121
#endif
#ifndef ENOMSG
#define ENOMSG 122
#endif
#ifndef ENOSR
#define ENOSR 124
#endif
#ifndef ENOSTR
#define ENOSTR 125
#endif
#ifndef ENOTRECOVERABLE
#define ENOTRECOVERABLE 127
#endif
#ifndef ETIME
#define ETIME 137
#endif
#ifndef ETXTBSY
#define ETXTBSY 139
#endif
/* Defined as WSAETIMEDOUT. */
#ifndef ETIMEDOUT
#define ETIMEDOUT 138
#endif
#ifndef ELOOP
#define ELOOP 114
#endif
#ifndef EPROTOTYPE
#define EPROTOTYPE 136
#endif
#ifndef EOVERFLOW
#define EOVERFLOW 132
#endif
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,36 +0,0 @@
#!/usr/bin/bash -e
# install pefile
pip3 install pefile
MINGW_URL='https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z/download'
TARGET_DIR='mingw64/x86_64-w64-mingw32/lib/'
echo 'Downloading MinGW replacement binaries...'
wget -q "${MINGW_URL}" -O 'mingw.7z'
7z x 'mingw.7z' "${TARGET_DIR}"lib{mf,mfplat,mfuuid}.a
cp -rv "${TARGET_DIR}"/* '/usr/x86_64-w64-mingw32/lib/'
# SDL2
SDL2_VER='2.0.12'
wget "https://www.libsdl.org/release/SDL2-devel-${SDL2_VER}-mingw.tar.gz"
tar -zxf "SDL2-devel-${SDL2_VER}-mingw.tar.gz"
cd SDL2-${SDL2_VER}/
make install-package arch=x86_64-w64-mingw32 prefix=/usr/x86_64-w64-mingw32;
cd ..
# 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})"

View File

@ -1,6 +0,0 @@
FROM debian:buster-slim
LABEL maintainer="citraemu"
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y full-upgrade
RUN apt-get install -y p7zip-full libqt5opengl5-dev qtmultimedia5-dev qttools5-dev qttools5-dev-tools python3-pip cmake
RUN pip3 install transifex-client