summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--0001-ld-preload.patch15
-rw-r--r--PKGBUILD29
3 files changed, 32 insertions, 16 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4285f5200caa..5efe3ff39e03 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,18 +1,20 @@
pkgbase = vmware-horizon-client
pkgdesc = VMware Horizon Client connect to VMware Horizon virtual desktop
pkgver = 5.0.0
- pkgrel = 1
+ pkgrel = 2
url = https://www.vmware.com/go/viewclients
arch = x86_64
license = custom
makedepends = libxslt
source = vmware-horizon-client-5.0.0-12557422-x86_64.bundle::https://download3.vmware.com/software/view/viewclients/CART20FQ1/VMware-Horizon-Client-5.0.0-12557422.x64.bundle
source = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vmware-bundle.eclass
+ source = 0001-ld-preload.patch
source = vmware-horizon-usb
source = vmware-horizon-usb.service
source = vmware-horizon-virtual-printing.service
sha256sums = e2e4af4f82638f28824ebd01c57a099915b57930d885a16f785234882157aaad
sha256sums = d8794c22229afdeb698dae5908b7b2b3880e075b19be38e0b296bb28f4555163
+ sha256sums = 974a6e2f513c114df9923d4366308e31ab53cfaef89d5f794204f1eeb1d98f01
sha256sums = 008b60ebf45f7d1e033c8ad8ce1688d5e1c59fc0668493067fb89b563b1dc00f
sha256sums = a897c1b9e8928fc222880ebbfc7bb6aff940bff4acf4e4e0cd4002fff81c7226
sha256sums = e47e770a1e19ed321de7c2765b2d682f59ac466aef92b2e4ea5e65cacf56de36
diff --git a/0001-ld-preload.patch b/0001-ld-preload.patch
new file mode 100644
index 000000000000..184717a276f7
--- /dev/null
+++ b/0001-ld-preload.patch
@@ -0,0 +1,15 @@
+--- a/vmware-horizon-client/bin/vmware-view 2019-05-28 10:24:21.000000000 +0200
++++ b/vmware-horizon-client/bin/vmware-view 2019-05-28 10:51:19.859301412 +0200
+@@ -16,6 +16,12 @@ snapPath="/snap/gnome-system-monitor/cur
+ cpu=`cat /proc/cpuinfo | grep ARM | wc -l`
+ pid_self=$$
+
++# Starting vmware-view-crtbora results in symbol lookup error. For any reason
++# libgiomm and libpangomm are loaded from /usr/lib/, not /usr/lib/vmware/.
++# Preload these libraries to mitigate the issue.
++LD_PRELOAD="/usr/lib/vmware/libgiomm-2.4.so.1 /usr/lib/vmware/libpangomm-1.4.so.1"
++export LD_PRELOAD
++
+ # Set media provider install path base on $VMWARE_HORIZON_MEDIA_PROVIDER_PATH
+ if [[ "$VMWARE_HORIZON_MEDIA_PROVIDER_PATH" = "" ]]; then
+ mediaproviderPath="/usr/lib/vmware/mediaprovider"
diff --git a/PKGBUILD b/PKGBUILD
index e7c9aee5fcfa..7ae7d9dfe70a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,15 +8,15 @@ pkgname=('vmware-horizon-client'
'vmware-horizon-virtual-printing'
'vmware-horizon-tsdr'
'vmware-horizon-mmr')
+_bundled_with_client=('vmware-horizon-pcoip'
+ 'vmware-horizon-seamless-window')
# Currently unused bundled packages:
# vmware-horizon-media-provider
- # vmware-horizon-seamless-window
# vmware-horizon-serialportclient
-# https://download3.vmware.com/software/view/viewclients/CART19FQ4/VMware-Horizon-Client-4.10.0-11053294.x64.bundle
pkgver=5.0.0
_build=12557422
_cart='CART20FQ1'
-pkgrel=1
+pkgrel=2
pkgdesc='VMware Horizon Client connect to VMware Horizon virtual desktop'
arch=('x86_64')
url='https://www.vmware.com/go/viewclients'
@@ -24,11 +24,13 @@ license=('custom')
makedepends=('libxslt')
source=("${pkgbase}-${pkgver}-${_build}-x86_64.bundle::https://download3.vmware.com/software/view/viewclients/${_cart}/VMware-Horizon-Client-${pkgver}-${_build}.x64.bundle"
'http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vmware-bundle.eclass'
+ '0001-ld-preload.patch'
'vmware-horizon-usb'
'vmware-horizon-usb.service'
'vmware-horizon-virtual-printing.service')
sha256sums=('e2e4af4f82638f28824ebd01c57a099915b57930d885a16f785234882157aaad'
'd8794c22229afdeb698dae5908b7b2b3880e075b19be38e0b296bb28f4555163'
+ '974a6e2f513c114df9923d4366308e31ab53cfaef89d5f794204f1eeb1d98f01'
'008b60ebf45f7d1e033c8ad8ce1688d5e1c59fc0668493067fb89b563b1dc00f'
'a897c1b9e8928fc222880ebbfc7bb6aff940bff4acf4e4e0cd4002fff81c7226'
'e47e770a1e19ed321de7c2765b2d682f59ac466aef92b2e4ea5e65cacf56de36')
@@ -52,7 +54,7 @@ prepare() {
source "${srcdir}/vmware-bundle.eclass"
- for bundle in "${pkgname[@]}" vmware-horizon-pcoip; do
+ for bundle in "${pkgname[@]}" "${_bundled_with_client[@]}"; do
vmware-bundle_extract-bundle-component "${srcdir}/${pkgbase}-${pkgver}-${_build}-${CARCH}.bundle" "${bundle}" "${srcdir}/extract/${bundle}"
done
}
@@ -72,7 +74,7 @@ build() {
# libssl.so.1.0.[12] -> libssl-vmw.so.0
# libcrypto.so.1.0.[12] -> libcrypto-vmw.so.0
- for bundle in "${pkgname[@]}" vmware-horizon-pcoip; do
+ for bundle in "${pkgname[@]}" "${_bundled_with_client[@]}"; do
for FILE in $(find "${bundle}" -type f); do
# executables and libraries only
file --mime "${FILE}" | egrep -q "(application/x-(pie-)?(executable|sharedlib)|text/x-shellscript)" || continue
@@ -110,13 +112,12 @@ build() {
"${srcdir}"/extract/vmware-horizon-pcoip/pcoip/lib/vmware/lib{crypto,ssl}.so.1.0.2
fi
+ # and some more dynamic linking...
+ patch -Np1 < ../0001-ld-preload.patch
+
# remove keymap files, depend on vmware-keymaps instead
rm -rf "${srcdir}"/extract/vmware-horizon-pcoip/pcoip/lib/vmware/xkeymap/
- # disable seamless window feature with vmware-view-crtbora
- # this requires binary libraries with messy linking...
- sed -i 's/vmware-view-crtbora/vmware-view/' "${srcdir}"/extract/vmware-horizon-client/bin/vmware-view
-
sed -i -e '/Name=/a Comment=Connect to VMware Horizon View virtual machines' -e '/Icon=/s/.png$//' \
"${srcdir}"/extract/vmware-horizon-client/share/applications/vmware-view.desktop
}
@@ -156,13 +157,11 @@ package_vmware-horizon-client() {
cp -a pcoip/lib/ "${pkgdir}/usr/"
cp -a pcoip/bin/ "${pkgdir}/usr/"
- #cd "${srcdir}/extract/vmware-horizon-seamless-window/"
-
- #mkdir -p "${pkgdir}/usr/"
- #install -D -m0755 vmware-view-crtbora "${pkgdir}/usr/lib/vmware/view/bin/vmware-view-crtbora"
- #cp -a lib/ "${pkgdir}/usr/"
+ cd "${srcdir}/extract/vmware-horizon-seamless-window/"
- rm -rf "${pkgdir}/usr/lib/vmware/view/crtbora/"
+ mkdir -p "${pkgdir}/usr/"
+ install -D -m0755 vmware-view-crtbora "${pkgdir}/usr/lib/vmware/view/bin/vmware-view-crtbora"
+ cp -a lib/ "${pkgdir}/usr/"
}
package_vmware-horizon-rtav() {