blob: d58b1cf573b97a7db6b619e23a81dcd2866ee9fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
pkgname=xenia-git
pkgver=r6950.3d30b2eec
pkgrel=2
pkgdesc="An experimental emulator for the Xbox 360."
arch=('x86_64')
url="http://xenia.jp"
license=('BSD')
depends=('gtk3' 'lz4' 'glew' 'libx11' 'sdl2')
makedepends=('premake' 'python' 'clang' 'git' 'libpthread-stubs' 'llvm')
provides=('xenia')
conflicts=('xenia')
# TODO: Use system installed deps for non-forked libs
source=("git+https://github.com/benvanik/xenia.git"
"git+https://github.com/openluopworld/aes_128.git"
"git+https://github.com/benvanik/binutils-ppc-cygwin.git"
"git+https://github.com/xenia-project/capstone.git"
"catch::git+https://github.com/catchorg/Catch2.git"
"git+https://github.com/skystrife/cpptoml.git"
"git+https://github.com/jarro2783/cxxopts.git"
"git+https://github.com/HowardHinnant/date.git"
"git+https://github.com/microsoft/DirectXShaderCompiler.git"
"git+https://github.com/discord/discord-rpc.git"
"git+https://github.com/xenia-project/disruptorplus.git"
"git+https://github.com/xenia-project/FFmpeg.git"
"git+https://github.com/GPUOpen-Effects/FidelityFX-CAS.git"
"git+https://github.com/GPUOpen-Effects/FidelityFX-FSR.git"
"git+https://github.com/fmtlib/fmt.git"
"git+https://github.com/KhronosGroup/glslang.git"
"git+https://github.com/ocornut/imgui.git"
"git+https://github.com/Triang3l/premake-androidndk.git"
"git+https://github.com/JoelLinn/premake-cmake.git"
"git+https://github.com/xenia-project/premake-core.git"
"git+https://github.com/xenia-project/premake-export-compile-commands.git"
"git+https://github.com/Tencent/rapidjson.git"
"SDL2::git+https://github.com/libsdl-org/SDL.git"
"git+https://github.com/xenia-project/snappy.git"
"git+https://github.com/KhronosGroup/SPIRV-Tools.git"
"git+https://github.com/xenia-project/utfcpp.git"
"git+https://github.com/KhronosGroup/Vulkan-Headers.git"
"git+https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
"git+https://github.com/xenia-project/xbyak.git"
"xxhash::git+https://github.com/Cyan4973/xxHash.git"
"0001-use-system-premake5.patch"
"0002-remove-logging-from-console-main.patch")
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'd8df7c6d7047fdc4278315b733a470843eab608f8bba5b8ea4355e8c4f44c88f'
'91b5fe5c3a66b72bc4c7965b38a1dd5f925b55ce1f98f873300072f5f0f8a4e0')
pkgver() {
cd "${srcdir}/${pkgname%-git}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
prepare() {
cd "${srcdir}/${pkgname%-git}"
msg2 "Applying patches"
patch -Np1 -i "${srcdir}/0001-use-system-premake5.patch"
patch -Np1 -i "${srcdir}/0002-remove-logging-from-console-main.patch"
msg2 "Setting submodule paths"
# Take intersection of src and src/xenia/third_party
_sources=`ls ${srcdir} -I xenia -I xenia-linux-fixes`
_thirdparties=`ls ${srcdir}/${pkgname%-git}/third_party`
for _modulename in `comm -12 <(echo "${_sources[@]}") <(echo "${_thirdparties[@]}") `
do
_modulepath="third_party/$_modulename"
git submodule init "$_modulepath"
git config "submodule.$_modulepath.url" "$srcdir/$_modulename/"
git -c protocol.file.allow=always submodule update "$_modulepath"
done
# FIXME: Warnings treated as errors that cause the build to fail.
# Warnings:
# - Currently the default /etc/makepkg.conf adds -Wunused-result
# - If config is set to debug, there is a warning about optimizations being off
sed -i 's,"FatalWarnings",--"FatalWarnings",g' premake5.lua
}
build() {
CFLAGS=${CFLAGS/-fvar-tracking-assignments}
CXXFLAGS=${CXXFLAGS/-fvar-tracking-assignments}
cd "${srcdir}/${pkgname%-git}"
mkdir -p build
./xenia-build \
build \
--config=release \
`echo $MAKEFLAGS | grep -oE '\-j\s?[0-9]+' | sed -r 's/-j([0-9]+)/-j \1/' | head -n 1`
}
package() {
cd "${srcdir}/${pkgname%-git}"
install -m755 -d ${pkgdir}/usr/bin
install -m755 build/bin/Linux/Release/* ${pkgdir}/usr/bin
rm ${pkgdir}/usr/bin/*.a
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
## vim:set ts=2 sw=2 et:
|