committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 26 additions and 472 deletions
-
2.github/workflows/ci.yml
-
12linux-appimage/Dockerfile
-
5linux-clang-format/Dockerfile
-
7linux-flatpak/Dockerfile
-
47linux-fresh/Dockerfile
-
42linux-frozen/Dockerfile
-
54linux-frozen/install_package.py
-
52linux-mingw/Dockerfile
-
241linux-mingw/errno.h
-
20linux-mingw/mingw-setup.sh
-
16linux-transifex/Dockerfile
@ -1,5 +0,0 @@ |
|||||
FROM ubuntu:22.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-12 p7zip-full |
|
||||
@ -1,7 +0,0 @@ |
|||||
FROM ubuntu:22.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 glslang-dev glslang-tools ca-certificates sshfs curl 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.15-22.08 org.kde.Sdk//5.15-22.08 org.kde.Platform//6.4 org.kde.Sdk//6.4 |
|
||||
@ -1,42 +0,0 @@ |
|||||
FROM ubuntu:22.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 \ |
|
||||
software-properties-common \ |
|
||||
wget \ |
|
||||
git \ |
|
||||
python3-launchpadlib \ |
|
||||
ccache \ |
|
||||
ninja-build \ |
|
||||
&& \ |
|
||||
# Install updated version of glslang |
|
||||
add-apt-repository -y ppa:theofficialgman/gpu-tools && \ |
|
||||
apt-get update -y && \ |
|
||||
apt-get install --no-install-recommends -y \ |
|
||||
glslang-dev \ |
|
||||
glslang-tools |
|
||||
|
|
||||
RUN cd /tmp/pkgs && python3 install_package.py \ |
|
||||
libsdl2-dev 2.0.20+dfsg-2build1 jammy \ |
|
||||
qtbase5-dev 5.15.3+dfsg-2 jammy \ |
|
||||
qtbase5-private-dev 5.15.3+dfsg-2 jammy \ |
|
||||
libqt5opengl5-dev 5.15.3+dfsg-2 jammy \ |
|
||||
qt5-qmltooling-plugins 5.15.3+dfsg-1 jammy \ |
|
||||
qtdeclarative5-dev 5.15.3+dfsg-1 jammy \ |
|
||||
qtmultimedia5-dev 5.15.3-1 jammy \ |
|
||||
qt6-base-dev 6.2.4+dfsg-2ubuntu1 jammy \ |
|
||||
qt6-base-private-dev 6.2.4+dfsg-2ubuntu1 jammy \ |
|
||||
libqt6opengl6-dev 6.2.4+dfsg-2ubuntu1 jammy \ |
|
||||
qt6-qmltooling-plugins 6.2.4+dfsg-3ubuntu1 jammy \ |
|
||||
qt6-declarative-dev 6.2.4+dfsg-3ubuntu1 jammy \ |
|
||||
qt6-multimedia-dev 6.2.4-1 jammy \ |
|
||||
libicu70 70.1-2 jammy \ |
|
||||
cmake 3.22.1-1ubuntu1 jammy \ |
|
||||
libavcodec-dev 7:4.4.2-0ubuntu0.22.04.1 jammy \ |
|
||||
libavformat-dev 7:4.4.2-0ubuntu0.22.04.1 jammy \ |
|
||||
libswscale-dev 7:4.4.2-0ubuntu0.22.04.1 jammy |
|
||||
RUN rm -rf /tmp/pkgs |
|
||||
@ -1,54 +0,0 @@ |
|||||
#!/usr/bin/python3 |
|
||||
|
|
||||
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(b'|')[0].decode('utf-8').strip() for i in t.split(b',')] |
|
||||
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]): |
|
||||
# qt6-base-abi is a virtual package, which breaks the script. |
|
||||
if dep[0] != 'qt6-base-abi': |
|
||||
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) |
|
||||
@ -1,52 +0,0 @@ |
|||||
FROM archlinux:latest |
|
||||
LABEL maintainer="citraemu" |
|
||||
|
|
||||
# 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 -u 1027 -s /bin/bash citra && mkdir -p /tmp/pkgs && \ |
|
||||
echo "[ownstuff]" >> /etc/pacman.conf && \ |
|
||||
echo "SigLevel = Optional TrustAll" >> /etc/pacman.conf && \ |
|
||||
echo "Server = https://martchus.no-ip.biz/repo/arch/ownstuff/os/\$arch" >> /etc/pacman.conf && \ |
|
||||
pacman -Syu --noconfirm && \ |
|
||||
pacman -Syu --noconfirm && \ |
|
||||
pacman -S --needed --noconfirm --noprogressbar \ |
|
||||
base-devel \ |
|
||||
sudo \ |
|
||||
gnupg \ |
|
||||
wget \ |
|
||||
git \ |
|
||||
glslang \ |
|
||||
python-pip \ |
|
||||
python \ |
|
||||
ccache \ |
|
||||
p7zip \ |
|
||||
cmake \ |
|
||||
ninja \ |
|
||||
qt6-base \ |
|
||||
qt6-tools \ |
|
||||
mingw-w64-boost \ |
|
||||
mingw-w64-gcc \ |
|
||||
mingw-w64-libusb \ |
|
||||
mingw-w64-lz4 \ |
|
||||
mingw-w64-nlohmann-json \ |
|
||||
mingw-w64-qt5-base \ |
|
||||
mingw-w64-qt5-multimedia \ |
|
||||
mingw-w64-qt5-tools \ |
|
||||
mingw-w64-qt5-winextras \ |
|
||||
mingw-w64-qt6-base \ |
|
||||
mingw-w64-qt6-multimedia \ |
|
||||
mingw-w64-qt6-tools \ |
|
||||
mingw-w64-tools \ |
|
||||
mingw-w64-sdl2 \ |
|
||||
mingw-w64-vulkan-headers \ |
|
||||
mingw-w64-winpthreads \ |
|
||||
mingw-w64-zlib \ |
|
||||
mingw-w64-zstd \ |
|
||||
mingw-w64-glslang \ |
|
||||
&& \ |
|
||||
pacman -Scc --noconfirm && \ |
|
||||
rm -rf /usr/share/man/ /tmp/* /var/tmp/ /usr/{i686-w64-mingw32,lib32} /usr/lib/gcc/i686-w64-mingw32 && \ |
|
||||
mkdir -p /tmp/pkgs |
|
||||
COPY mingw-setup.sh /tmp/pkgs |
|
||||
RUN cd /tmp/pkgs && bash -e mingw-setup.sh |
|
||||
@ -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 |
|
||||
@ -1,20 +0,0 @@ |
|||||
#!/usr/bin/bash -e |
|
||||
# install pefile |
|
||||
pip3 install pefile |
|
||||
|
|
||||
# ffmpeg |
|
||||
FFMPEG_VER='6.0' |
|
||||
LINK_PATH="autobuild-2023-03-31-12-50/ffmpeg-n6.0-11-g3980415627-win64-gpl-shared-6.0" |
|
||||
FILENAME="${LINK_PATH##*/}" |
|
||||
echo "Downloading ffmpeg (${FFMPEG_VER})..." |
|
||||
wget -c "https://github.com/BtbN/FFmpeg-Builds/releases/download/${LINK_PATH}.zip" |
|
||||
7z x "${FILENAME}.zip" |
|
||||
|
|
||||
echo "Copying ffmpeg ${FFMPEG_VER} files to sysroot..." |
|
||||
cp -v "${FILENAME}"/bin/*.dll /usr/x86_64-w64-mingw32/lib/ |
|
||||
cp -vr "${FILENAME}"/include /usr/x86_64-w64-mingw32/ |
|
||||
cp -v "${FILENAME}"/lib/*.{a,def} /usr/x86_64-w64-mingw32/lib/ |
|
||||
|
|
||||
# remove the directory |
|
||||
ABS_PATH="$(readlink -f $0)" |
|
||||
rm -rf "$(dirname ${ABS_PATH})" |
|
||||
@ -1,16 +0,0 @@ |
|||||
FROM debian:bullseye-backports |
|
||||
LABEL maintainer="citraemu" |
|
||||
|
|
||||
ENV DEBIAN_FRONTEND=noninteractive |
|
||||
ENV CMAKE_VER=3.22.6 |
|
||||
|
|
||||
RUN apt-get update && apt-get -y full-upgrade |
|
||||
RUN apt-get install -y git p7zip-full libqt5opengl5-dev qtmultimedia5-dev qttools5-dev qttools5-dev-tools libqt6opengl6-dev qt6-multimedia-dev qt6-l10n-tools qt6-tools-dev qt6-tools-dev-tools python3-pip cmake curl unzip zip |
|
||||
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 |
|
||||
|
|
||||
# Install CMake from upstream |
|
||||
RUN cd /tmp |
|
||||
RUN curl -OL https://github.com/Kitware/CMake/releases/download/v${CMAKE_VER}/cmake-${CMAKE_VER}-linux-x86_64.tar.gz && \ |
|
||||
tar xvf cmake-${CMAKE_VER}-linux-x86_64.tar.gz && \ |
|
||||
cp -rv cmake-${CMAKE_VER}-linux-x86_64/* /usr && \ |
|
||||
rm -rf cmake-* |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue