blob: 1063a97cef0d4981ae69ebd5815885b402a5f048 (
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
|
# Mantainer: anon@sansorgan.es
pkgname=proton
# Upstream version
_pkgver='4.11-11'
# Arch - no hyphens
pkgver=4.11.11
pkgrel=3
pkgdesc="Compatibility tool for Steam Play based on Wine and additional components"
arch=('x86_64')
url="https://github.com/ValveSoftware/Proton/"
license=('BSD')
groups=()
depends=(
'wine-valve'
)
makedepends=(
'vulkan-headers'
)
source=("https://github.com/ValveSoftware/Proton/archive/$pkgname-$_pkgver.tar.gz")
prepare() {
cd "Proton-$pkgname-$_pkgver"
#git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git
sed -i 's,wined3d-interop.h,wine/wined3d-interop.h,g' vrclient_x64/vrclient_x64/*
}
build() {
cd "Proton-$pkgname-$_pkgver"
export CXXFLAGS="$CXXFLAGS -Wno-attributes"
export WINEMAKEFLAGS="--nosource-fix --nolower-include --nodlls --nomsvcrt --dll"
export WINEMAKEFLAGS32="$WINEMAKEFLAGS --wine32"
# The build script provided has so much cruft that it's easier to make everything manually
mkdir -p build/lsteamclient.win32
cp -a lsteamclient/* build/lsteamclient.win32
cd build/lsteamclient.win32
winemaker $WINEMAKEFLAGS32 -DSTEAM_API_EXPORTS .
make
cd ../..
mkdir -p build/lsteamclient.win64
cp -a lsteamclient/* build/lsteamclient.win64
cd build/lsteamclient.win64
winemaker $WINEMAKEFLAGS -DSTEAM_API_EXPORTS .
make
cd ../..
# Currently depends on the custom bundled wine
mkdir -p build/vrclient.win32
cp -a vrclient_x64/* build/vrclient.win32
rm -rf build/vrclient.win32/vrclient
mv build/vrclient.win32/vrclient_x64 build/vrclient.win32/vrclient
cd build/vrclient.win32/vrclient
mv -u vrclient_x64.spec vrclient.spec
winemaker -I.. $WINEMAKEFLAGS32 .
CXXFLAGS="$CXXFLAGS --std=c++0x" make
winebuild --dll --fake-module -E vrclient.spec -o vrclient.dll.fake
cd ../../..
mkdir -p build/vrclient.win64
cp -a vrclient_x64/* build/vrclient.win64
cd build/vrclient.win64/vrclient_x64
winemaker -I.. $WINEMAKEFLAGS .
CXXFLAGS="$CXXFLAGS --std=c++0x" make
winebuild --dll --fake-module -E vrclient_x64.spec -o vrclient_x64.dll.fake
}
check() {
cd "Proton-$pkgname-$_pkgver"
}
package() {
cd "Proton-$pkgname-$_pkgver"
install -d -m755 $pkgdir/usr/share/licenses/$pkgname
install -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
install -m644 LICENSE.proton $pkgdir/usr/share/licenses/$pkgname/LICENSE.proton
install -m644 dist.LICENSE $pkgdir/usr/share/licenses/$pkgname/dist.LICENSE
install -d -m755 $pkgdir/usr/share/doc/$pkgname
install -m644 README.md $pkgdir/usr/share/doc/$pkgname/README.md
install -d -m755 $pkgdir/usr/lib32/wine
install -m755 build/lsteamclient.win32/lsteamclient.dll.so $pkgdir/usr/lib32/wine/
install -m755 build/vrclient.win32/vrclient/vrclient.dll.so $pkgdir/usr/lib32/wine/
install -d $pkgdir/usr/lib32/wine/fakedlls
install -m644 build/vrclient.win32/vrclient/vrclient.dll.fake $pkgdir/usr/lib32/wine/fakedlls/vrclient.dll
install -d -m755 $pkgdir/usr/lib/wine
install -m755 build/lsteamclient.win64/lsteamclient.dll.so $pkgdir/usr/lib/wine/
install -m755 build/vrclient.win64/vrclient_x64/vrclient_x64.dll.so $pkgdir/usr/lib/wine/
install -d $pkgdir/usr/lib/wine/fakedlls
install -m644 build/vrclient.win64/vrclient_x64/vrclient_x64.dll.fake $pkgdir/usr/lib/wine/fakedlls/vrclient_x64.dll
}
md5sums=('823636d0419ef2ac2d741ab10d19ab44')
|