blob: bbffb9a5d090fe060e1dc466dd6c5f8ee729de4f (
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# Maintainer: bug <bug2000@gmail.com>
# Maintainer: leuko <aur_et_aydos_de>
_pkgname=xpra
pkgname=${_pkgname}-git
pkgver=v4.2.r1118.g4e13a3288
pkgrel=1
pkgdesc="multi-platform screen and application forwarding system screen for X11"
arch=('x86_64')
url='https://www.xpra.org'
license=('GPL2')
# https://github.com/Xpra-org/xpra/blob/master/docs/Build/Dependencies.md
depends=(
# core
'gtk3' # UI toolkit
# network layer
'python-rencode' # packet encoding
'python-lz4' # packet compression
'openssl'
'python-paramiko' # SSH integration
# encodings
'python-pillow' # png,jpeg,webp encoding and decoding, format conversion
# for GTK3
'python-cairo'
'python-gobject'
# xserver
'libxtst'
'xf86-video-dummy'
'libxkbfile'
'libxres'
)
optdepends=(
# unless otherwise noted, the deps are both for client and server
# To use these optional features, install them and then build the package
# again. `setup.py` enables optional features only if the corresponding
# package installations can be found.
# core
'python-opengl: client OpenGL accelerated rendering (client)'
'python-pycups: Printing'
'xf86-video-dummy-xpra-patch: Xdummy with constant-dpi. Recommended by Xpra'
# network layer
'python-pyaml: alternative packet encoder'
'python-cryptography: encryption'
'python-zeroconf: Multicast DNS session publishing (server)'
'python-netifaces: Multicast DNS session publishing (server)'
'python-dbus: desktop integration, server control interface'
'python-paramiko: ssh integration'
'sshpass: non-interactive SSH password authentication'
'brotli: HTML client compression'
# authentication
'python-gssapi: GSSAPI authentication (server)'
'python-pykerberos: Kerberos authentication (server)'
'python-ldap: LDAP authentication (server)'
'python-ldap3: LDAP v3 authentication (server)'
'python-pyu2f: U2F authentication (server)'
# encoding
'x264: h264 encoding (server)'
'ffmpeg: h264, h265, vp8 and vp9 decoding (client)'
'libvpx: vp8 and vp9 codec'
'libwebp: webp codec'
'libpng: png encoding'
'libjpeg-turbo: jpeg encoding'
'opencv: Webcam capture (client)'
'libyuv: Colourspace Conversion'
'python-pycuda: NVENC (server)'
'python-pynvml: NVENC (server)'
# audio forwarding
'gstreamer: audio framework'
'libogg: ogg container format'
'opus: opus codec'
'flac: flac codec'
'speex: speex codec'
'libvorbis: vorbis codec'
'wavpack: wavpack codec'
'faac: aac encoder'
'faad: aac decoder'
'lame: MP3 encoder'
'twolame: MP2 encoder'
'libmad: MP3 encoder'
# not listed on Github deps page but in setup.py
'python-numpy: GPU accelerated capture and compression for NVIDIA cards'
'python-pyinotify: watch for application menu changes'
'xpra-html5: HTML5 client. Can be used with Xpra proxy'
# https://github.com/Xpra-org/xpra/blob/91bdd984e4558dafe6d47317fd2802b75fc1b051/setup.py#L1667
'python-uinput: fine-grained scrolling using virtual input'
)
conflicts=('xpra' 'run_scaled-git')
provides=('xpra')
makedepends=(
'git'
'python-setuptools'
'cython'
'pandoc'
# 'uglify-js'
)
backup=(
'etc/xpra/xpra.conf' 'etc/xpra/xorg.conf'
'etc/xpra/conf.d/05_features.conf'
'etc/xpra/conf.d/10_network.conf'
'etc/xpra/conf.d/12_ssl.conf'
'etc/xpra/conf.d/15_file_transfers.conf'
'etc/xpra/conf.d/16_printing.conf'
'etc/xpra/conf.d/20_sound.conf'
'etc/xpra/conf.d/30_picture.conf'
'etc/xpra/conf.d/35_webcam.conf'
'etc/xpra/conf.d/40_client.conf'
'etc/xpra/conf.d/42_client_keyboard.conf'
'etc/xpra/conf.d/50_server_network.conf'
'etc/xpra/conf.d/55_server_x11.conf'
'etc/xpra/conf.d/60_server.conf'
'etc/xpra/conf.d/65_proxy.conf'
'etc/default/xpra'
'etc/pam.d/xpra' )
source=("git+https://github.com/Xpra-org/xpra")
md5sums=('SKIP')
pkgver() {
cd "$_pkgname"
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
build() {
cd "$srcdir/$_pkgname"
python setup.py build
}
package() {
cd "$srcdir/$_pkgname"
python setup.py install --root="$pkgdir" --optimize=1 --skip-build
sed -i 's|/build/xpra/pkg/xpra/etc/xpra/xorg.conf|/etc/xpra/xorg.conf|' "$pkgdir"/etc/xpra/conf.d/55_server_x11.conf
mv "$pkgdir"/lib/* "$pkgdir"/usr/lib/
rmdir "$pkgdir/lib"
mkdir -p "$pkgdir"/usr/share/dbus-1
#Move D-BUS Policy
mv "$pkgdir"/{etc,usr/share}/dbus-1/system.d
}
|