diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 204 |
1 files changed, 113 insertions, 91 deletions
@@ -1,37 +1,71 @@ -# Maintainer: bug <bug2000@gmail.com> # Maintainer: leuko <aur_et_aydos_de> +# Maintainer: bug <bug2000@gmail.com> _pkgname=xpra pkgname=${_pkgname}-git -pkgver=v4.2.r1118.g4e13a3288 +pkgver=4.4.r1887.g4d73c3644 pkgrel=1 -pkgdesc="multi-platform screen and application forwarding system screen for X11" -arch=('x86_64') +pkgdesc='multi-platform screen and application forwarding system screen for X11' +arch=(x86_64) url='https://www.xpra.org' -license=('GPL2') +license=(GPL2) # https://github.com/Xpra-org/xpra/blob/master/docs/Build/Dependencies.md +# c => for client +# s => for server depends=( # core - 'gtk3' # UI toolkit + gtk3 # UI toolkit cs + + # for GTK + python-cairo # pkg-config --libs py3cairo + python-gobject # pkg-config --libs gtk+-3.0 pygobject-3.0 # network layer - 'python-rencode' # packet encoding - 'python-lz4' # packet compression - 'openssl' - 'python-paramiko' # SSH integration + python-rencode # packet encoding + python-lz4 # packet compression + openssl # cs + python-paramiko # SSH integration (depends on python-cryptography) # encodings - 'python-pillow' # png,jpeg,webp encoding and decoding, format conversion - - # for GTK3 - 'python-cairo' - 'python-gobject' + python-pillow # png,jpeg,webp encoding and decoding, format conversion cs # xserver - 'libxtst' - 'xf86-video-dummy' - 'libxkbfile' - 'libxres' + # pkg-config --libs x11 xtst xfixes xkbfile + # pkg-config --libs x11 xtst xfixes xcomposite xdamage xext + # pkg-config --libs x11 xres + libx11 + libxtst + libxfixes + libxkbfile + libxcomposite + libxdamage + libxext + libxres + xf86-video-dummy # default virtual X server + + # pkg-config --libs libavutil + ffmpeg + # includes: + # - libvpx (vp8 and 9 codecs for cs) + # - libwebp (includes libpng, libjpeg(-turbo)) + # - x264 + # - libvorbis + # - lame (MP3 encoder) + # - opus + # - speex + + qrencode # Otherwise client menu does not work + xorg-server # Server requires an X executable + + # Above list contains the minimal dependencies. The following are optional but useful. + gstreamer + python-opengl + #python-aioquic # QUIC protocol, requires pylsqpack and ls-qpack + python-zeroconf + python-dbus + libspng + libavif + openh264 ) optdepends=( # unless otherwise noted, the deps are both for client and server @@ -40,109 +74,97 @@ optdepends=( # 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' + #'python-opengl: OpenGL rendering c' + 'python-opengl-accelerate: accelerated rendering c' + 'python-pycups: Printing cs' # 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' + 'python-pyaml: alternative packet encoder cs' + #'python-aioquic: QUIC protocol cs' + 'python-zeroconf: Multicast DNS session publishing s' # depends on -netifaces + 'python-dbus: desktop integration, server control interface cs' + 'sshpass: non-interactive SSH password authentication c' # 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)' + 'python-gssapi: GSSAPI authentication s' + 'python-pykerberos: Kerberos authentication s' + 'python-ldap: LDAP authentication s' + 'python-ldap3: LDAP v3 authentication s' + 'python-pyu2f: U2F authentication s' # 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)' + 'libspng: faster png encoding cs' + 'opencv: Webcam capture c' + 'libyuv: Colourspace conversion cs' + 'python-pycuda: NVENC s' + 'cuda: NVENC s' + 'python-pynvml: NVENC s' # audio forwarding - 'gstreamer: audio framework' - 'libogg: ogg container format' - 'opus: opus codec' - 'flac: flac codec' - 'speex: speex codec' - 'libvorbis: vorbis codec' + # libogg is used by various codecs + #'gstreamer: audio framework' + 'flac: flac codec (includes libogg)' '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-uinput: fine-grained scrolling using virtual input' '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' - + #'xf86-video-dummy-xpra-patch: Xdummy with constant-dpi. Recommended by Xpra' ) -conflicts=('xpra' 'run_scaled-git') -provides=('xpra') +conflicts=(xpra) +provides=(xpra=$pkgver) makedepends=( - 'git' - 'python-setuptools' - 'cython' - 'pandoc' -# 'uglify-js' + git + cython + pandoc + brotli # HTML client compression' ) 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') + etc/xpra/xpra.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_audio.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' + cd $_pkgname + git describe --long --tags | sed -E 's/([^-]*-g)/r\1/;s/-/./g;s/^v//' } build() { - cd "$srcdir/$_pkgname" - python setup.py build + cd $_pkgname + python setup.py build -j $(nproc) } package() { - cd "$srcdir/$_pkgname" + cd $_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 + + # /lib exists already + rmdir "$pkgdir"/lib + #Move D-BUS Policy + mkdir -p "$pkgdir"/usr/share/dbus-1 mv "$pkgdir"/{etc,usr/share}/dbus-1/system.d } |