mirror of
https://github.com/yuzu-emu/build-environments
synced 2024-11-22 11:43:46 +00:00
Initial addition of build-environment files.
This commit is contained in:
parent
51e5a2389f
commit
8a43699577
7 changed files with 299 additions and 0 deletions
4
README.md
Normal file
4
README.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
# build-environments
|
||||
Dockerfile entries used for building yuzu binaries.
|
||||
|
||||
https://hub.docker.com/r/yuzuemu/yuzu-build-environments/
|
5
linux-clang-format/Dockerfile
Normal file
5
linux-clang-format/Dockerfile
Normal file
|
@ -0,0 +1,5 @@
|
|||
FROM ubuntu:18.04
|
||||
MAINTAINER yuzu
|
||||
RUN useradd -m -s /bin/bash yuzu
|
||||
RUN apt-get update && apt-get -y full-upgrade
|
||||
RUN apt-get install -y git clang-format-6.0
|
5
linux-fresh/Dockerfile
Normal file
5
linux-fresh/Dockerfile
Normal file
|
@ -0,0 +1,5 @@
|
|||
FROM ubuntu:18.04
|
||||
MAINTAINER yuzu
|
||||
RUN useradd -m -s /bin/bash yuzu
|
||||
RUN apt-get update && apt-get -y full-upgrade
|
||||
RUN apt-get install --no-install-recommends -y build-essential libsdl2-dev libssl-dev python qtbase5-dev qtwebengine5-dev libqt5opengl5-dev wget git ccache cmake ninja-build
|
12
linux-mingw/Dockerfile
Normal file
12
linux-mingw/Dockerfile
Normal file
|
@ -0,0 +1,12 @@
|
|||
FROM ubuntu:18.04
|
||||
MAINTAINER yuzu
|
||||
RUN useradd -m -s /bin/bash yuzu && mkdir -p /tmp/pkgs
|
||||
RUN apt-get update && apt-get install -y gpg wget git python3-pip python 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 sdl2-mingw-w64 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
|
241
linux-mingw/errno.h
Normal file
241
linux-mingw/errno.h
Normal file
|
@ -0,0 +1,241 @@
|
|||
/**
|
||||
* 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
|
28
linux-mingw/mingw-setup.sh
Normal file
28
linux-mingw/mingw-setup.sh
Normal file
|
@ -0,0 +1,28 @@
|
|||
#!/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/'
|
||||
|
||||
# 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})"
|
4
linux-transifex/Dockerfile
Normal file
4
linux-transifex/Dockerfile
Normal file
|
@ -0,0 +1,4 @@
|
|||
FROM alpine
|
||||
RUN adduser -u 1000 -D -s /bin/bash yuzu
|
||||
RUN apk update && apk add build-base cmake python3-dev qt5-qttools-dev qt5-qtmultimedia-dev
|
||||
RUN pip3 install transifex-client
|
Loading…
Reference in a new issue