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