summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 2899fdb7d0fd0c4cc9ba92f8044f57cb7c1c1982 (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
# Maintainer: Bence Hornák <bence.hornak@gmail.com>
# Maintainer: xaque <xaque at 🦆 dot com>

pkgname=dcvviewer-bin
_pkgname=dcvviewer
_majver=2023.0
_minver=5629
pkgver=${_majver}.${_minver}
pkgrel=1
pkgdesc="NICE DCV client for Linux. DCV is a desktop remotization server, with support for native as well as web-based clients."
arch=('x86_64')
url="https://www.nice-software.com/products/dcv"
license=('custom: commercial')
depends=('cairo' 'ffmpeg' 'gdk-pixbuf2' 'glib2' 'gst-plugins-base' 'gst-plugins-base-libs' 'gst-plugins-good' 'gstreamer' 'gtk3' 'harfbuzz-icu' 'json-glib' 'krb5' 'libjpeg6-turbo' 'libjpeg-turbo' 'libsasl' 'libsoup3' 'libx11' 'lmdb' 'lz4' 'nss' 'pcsclite' 'protobuf-c' 'sqlite' 'wayland'
)
source=(
  "https://d1uj6qtbmh3dt5.cloudfront.net/${_majver}/Clients/nice-dcv-viewer_${pkgver}-1_amd64.ubuntu2204.deb"
)
sha256sums=('cfb3b660b6c5a21c996cbc181f2b0a1599cbfa8314b27b61925e6be3e88ee655')
install="${_pkgname}.install"
package(){

  # Extract package data, move files to comply with Arch package guidelines
  # (https://wiki.archlinux.org/index.php/Arch_package_guidelines#Directories)
  tar -xf data.tar.zst -C "${pkgdir}" \
    --transform 's,^./usr/lib/x86_64-linux-gnu,./usr/lib,' \
    --transform 's,^./usr/share/dcvviewer/license/EULA.txt,./usr/share/licenses/dcvviewer/EULA,' \
    --transform 's,^./usr/share/dcvviewer\(/license\)\?$,.,' \
    --transform 's,^./usr/share/dcvviewer/third-party-licenses.txt,./usr/share/licenses/dcvviewer/LICENSE,' \
    --transform 's,^./usr/share/doc/nice-dcv-viewer/copyright,./usr/share/licenses/dcvviewer/COPYRIGHT,' \
    --transform 's,^./usr/share/doc\(/nice-dcv-viewer\)\?$,.,' \
    --exclude './usr/share/doc/nice-dcv-viewer/changelog.Debian.gz'

  # Update paths in launcher script
  sed -i 's|libexecdir=${basedir}/lib/x86_64-linux-gnu|libexecdir=${basedir}/lib|' "${pkgdir}/usr/bin/dcvviewer"
  sed -i 's|libdir=${basedir}/lib/x86_64-linux-gnu|libdir=${basedir}/lib|' "${pkgdir}/usr/bin/dcvviewer"

  # Fix for Wayland, force use of XWayland
  # sed -i '2 i export GDK_BACKEND=x11' "${pkgdir}/usr/bin/dcvviewer"

  # Remove libraries replaced by system ones
  
  pushd "${pkgdir}/usr/lib/${_pkgname}"
  
  ## Most runtime ##
  #rm libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgio-2.0.so.0
  #rm libffi.so.* libjson-glib-1.0.so.0
  ##              ##
  
  ## Most  native ##
  mkdir keep
  mv libavcodec.so.* libavutil.so.* keep
  rm *.so*
  rm gtk-query-immodules-3.0 gtk-update-icon-cache glib-compile-schemas glib-compile-resources gdk-pixbuf-query-loaders
  rm -rf gtk-3.0 gstreamer-1.0
  mv keep/* .
  rmdir keep
  sed -i '/export GST_PLUGIN_SCANNER/d' "${pkgdir}/usr/bin/dcvviewer"
  sed -i '/export GST_PLUGIN_SYSTEM_PATH/d' "${pkgdir}/usr/bin/dcvviewer"
  sed -i '/export GTK_PATH/d' "${pkgdir}/usr/bin/dcvviewer"
  sed -i '/export PANGO_LIBDIR/d' "${pkgdir}/usr/bin/dcvviewer"
  #pushd sasl2
  #rm libanonymous.so libdigestmd5.so libplain.so libscram.so libcrammd5.so libsasldb.so    # libsasl
  #rm libgssapiv2.so libgs2.so    # cyrus-sasl-gssapi
  #rm libotp.so    # ?
  #popd
 ##              ##
   
  popd
}