diff options
-rw-r--r-- | .SRCINFO | 80 | ||||
-rw-r--r-- | PKGBUILD | 202 | ||||
-rw-r--r-- | vmware-horizon-client.desktop | 10 | ||||
-rw-r--r-- | vmware-horizon-client.install | 15 | ||||
-rw-r--r-- | vmware-horizon-usb | 4 | ||||
-rw-r--r-- | vmware-horizon-usb-tmpfiles.conf | 1 | ||||
-rw-r--r-- | vmware-horizon-usb.install | 10 | ||||
-rw-r--r-- | vmware-horizon-usb.service | 9 | ||||
-rw-r--r-- | vmware-horizon-virtual-printing.install | 9 | ||||
-rw-r--r-- | vmware-horizon-virtual-printing.service | 11 |
10 files changed, 351 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..a202932e766e --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,80 @@ +pkgbase = vmware-horizon-client + pkgdesc = VMware Horizon Client connect to VMware Horizon virtual desktop + pkgver = 3.4.0 + pkgrel = 2 + url = https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmware_horizon_clients/3_0 + arch = i686 + arch = x86_64 + license = custom + makedepends = libxslt + source = https://download3.vmware.com/software/view/viewclients/CART15Q1/VMware-Horizon-Client-3.4.0-2769709.x86.bundle + source = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vmware-bundle.eclass + source = vmware-horizon-client.desktop + source = vmware-horizon-usb + source = vmware-horizon-usb.service + source = vmware-horizon-usb-tmpfiles.conf + source = vmware-horizon-virtual-printing.service + sha256sums = 50901cae7a3c62b31b68e946a7b1e380f6c2c158aa8532dda536890a602e1d1b + sha256sums = d8794c22229afdeb698dae5908b7b2b3880e075b19be38e0b296bb28f4555163 + sha256sums = 21927f16cfb92ac07777297787106982b301b5d42ca068e052a01dc3f2cbb208 + sha256sums = 7c78953823f7307814104881b322dcf66c36ca02e44e559239ac51abcf1e7a37 + sha256sums = 5e737d69e49ea7e039bc94f358b45c8e6d9071b7c041a53800555d3dc21c8dac + sha256sums = ec763930dd50d6e77a31c40c939909752cfb124cafb0a4ca4f76860375a14d75 + sha256sums = e47e770a1e19ed321de7c2765b2d682f59ac466aef92b2e4ea5e65cacf56de36 + +pkgname = vmware-horizon-client + install = vmware-horizon-client.install + depends = gnome-icon-theme + optdepends = freerdp: RDP remote desktop connections + optdepends = rdesktop: RDP remote desktop connections + optdepends = vmware-horizon-pcoip: PCoIP remote desktop connections + optdepends = vmware-horizon-rtav: Real-Time Audio-Video + optdepends = vmware-horizon-smartcard: Authenticate via Samrtcard + optdepends = vmware-horizon-usb: Redirect USB devices + optdepends = vmware-horizon-virtual-printing: Redirect local printers + conflicts = vmware-view-open-client + conflicts = vmware-view-open-client-beta + conflicts = vmware-view-client + depends_i686 = openssl + depends_i686 = libpng12 + depends_i686 = gtk2 + depends_i686 = libxml2 + depends_i686 = libxss + depends_x86_64 = lib32-openssl + depends_x86_64 = lib32-libpng12 + depends_x86_64 = lib32-gtk2 + depends_x86_64 = lib32-libxml2 + depends_x86_64 = lib32-libxss + +pkgname = vmware-horizon-pcoip + pkgdesc = VMware Horizon Client connect to VMware Horizon virtual desktop - PCoIP connection + depends = vmware-horizon-client + depends_i686 = libxtst + optdepends_i686 = alsa-lib: audio support via alsa + optdepends_i686 = libpulse: audio support via pulse sound server + depends_x86_64 = lib32-libxtst + optdepends_x86_64 = lib32-alsa-lib: audio support via alsa + optdepends_x86_64 = lib32-libpulse: audio support via pulse sound server + +pkgname = vmware-horizon-rtav + pkgdesc = VMware Horizon Client connect to VMware Horizon virtual desktop - real-time audio-video (webcam and audio-in) + depends = vmware-horizon-client + +pkgname = vmware-horizon-smartcard + pkgdesc = VMware Horizon Client connect to VMware Horizon virtual desktop - smartcard authentication + depends = vmware-horizon-client + depends_i686 = pcsclite + depends_x86_64 = lib32-pcsclite + +pkgname = vmware-horizon-usb + pkgdesc = VMware Horizon Client connect to VMware Horizon virtual desktop - USB redirection + install = vmware-horizon-usb.install + depends = vmware-horizon-client + +pkgname = vmware-horizon-virtual-printing + pkgdesc = VMware Horizon Client connect to VMware Horizon virtual desktop - virtual printing + install = vmware-horizon-virtual-printing.install + depends = vmware-horizon-client + depends = openssl098 + depends = libcups + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..bb0e67418d54 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,202 @@ +# Maintainer: Christian Hesse <mail@eworm.de> + +pkgbase=vmware-horizon-client +pkgname=('vmware-horizon-client' 'vmware-horizon-pcoip' 'vmware-horizon-rtav' 'vmware-horizon-smartcard' 'vmware-horizon-usb' 'vmware-horizon-virtual-printing') +pkgver=3.4.0 +_build=2769709 +pkgrel=2 +pkgdesc='VMware Horizon Client connect to VMware Horizon virtual desktop' +arch=('i686' 'x86_64') +url='https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmware_horizon_clients/3_0' +license=('custom') +makedepends=('libxslt') +source=("https://download3.vmware.com/software/view/viewclients/CART15Q1/VMware-Horizon-Client-${pkgver}-${_build}.x86.bundle" + 'http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vmware-bundle.eclass' + 'vmware-horizon-client.desktop' + 'vmware-horizon-usb' + 'vmware-horizon-usb.service' + 'vmware-horizon-usb-tmpfiles.conf' + 'vmware-horizon-virtual-printing.service') +sha256sums=('50901cae7a3c62b31b68e946a7b1e380f6c2c158aa8532dda536890a602e1d1b' + 'd8794c22229afdeb698dae5908b7b2b3880e075b19be38e0b296bb28f4555163' + '21927f16cfb92ac07777297787106982b301b5d42ca068e052a01dc3f2cbb208' + '7c78953823f7307814104881b322dcf66c36ca02e44e559239ac51abcf1e7a37' + '5e737d69e49ea7e039bc94f358b45c8e6d9071b7c041a53800555d3dc21c8dac' + 'ec763930dd50d6e77a31c40c939909752cfb124cafb0a4ca4f76860375a14d75' + 'e47e770a1e19ed321de7c2765b2d682f59ac466aef92b2e4ea5e65cacf56de36') + +# We need these functions for the Gentoo eclass... +ebegin() { + echo -n "Begin ${1}: " +} +eend() { + echo 'done' +} + +prepare() { + # We need this variable for the Gentoo eclass... + export T="${srcdir}" + + source "${srcdir}/vmware-bundle.eclass" + + for bundle in ${pkgname[@]}; do + vmware-bundle_extract-bundle-component "${srcdir}/VMware-Horizon-Client-${pkgver}-${_build}.x86.bundle" "${bundle}" "${srcdir}/extract/${bundle}" + done + + # This is a dirty hack, but it works. + # Change dynamic section in ELF files to fix dynamic linking. + # Make sure the length is not changed! + # libudev.so.0 -> libudev.so.1 + # libssl.so.1.0.1 -> libssl.so.1.0.0 + # libcrypto.so.1.0.1 -> libcrypto.so.1.0.0 + for FILE in $(find "${srcdir}/extract/" -type f); do + # executables and libraries only + file --mime "${FILE}" | egrep -q "(application/x-(executable|sharedlib)|text/x-shellscript)" || continue + + # make executable + chmod +x "${FILE}" + + # link against libudev.so.1 + sed -i -e 's/libudev.so.0/libudev.so.1/' "${FILE}" + + # even openssl 1.0.1.x has library file names ending in .so.1.0.0 + sed -i -e 's/libssl.so.1.0.1/libssl.so.1.0.0/' \ + -e 's/libcrypto.so.1.0.1/libcrypto.so.1.0.0/' \ + "${FILE}" + done + + # now that we fixed dynamic linking let's remove binary libs + # we create symlinks in package() function + rm "${srcdir}"/extract/vmware-horizon-pcoip/pcoip/lib/vmware/lib{crypto,ssl}.so.1.0.1 +} + +package_vmware-horizon-client() { + conflicts=('vmware-view-open-client' 'vmware-view-open-client-beta' 'vmware-view-client') + depends=('gnome-icon-theme') + optdepends=('freerdp: RDP remote desktop connections' + 'rdesktop: RDP remote desktop connections' + 'vmware-horizon-pcoip: PCoIP remote desktop connections' + 'vmware-horizon-rtav: Real-Time Audio-Video' + 'vmware-horizon-smartcard: Authenticate via Samrtcard' + 'vmware-horizon-usb: Redirect USB devices' + 'vmware-horizon-virtual-printing: Redirect local printers') + depends_x86_64=('lib32-openssl' 'lib32-libpng12' 'lib32-gtk2' 'lib32-libxml2' 'lib32-libxss') + depends_i686=('openssl' 'libpng12' 'gtk2' 'libxml2' 'libxss') + install=vmware-horizon-client.install + + cd "${srcdir}/extract/vmware-horizon-client/" + + mkdir -p "${pkgdir}/usr/" + cp -a bin/ "${pkgdir}/usr/" + cp -a lib/ "${pkgdir}/usr/" + cp -a share/ "${pkgdir}/usr/" + + mkdir -p "${pkgdir}/usr/share/doc/" + cp -a doc/ "${pkgdir}/usr/share/doc/vmware-horizon-client" + cp -a debug/ "${pkgdir}/usr/share/doc/vmware-horizon-client/" + + install -D -m0644 "${srcdir}/vmware-horizon-client.desktop" "${pkgdir}/usr/share/applications/vmware-horizon-client.desktop" +} + +package_vmware-horizon-pcoip() { + pkgdesc='VMware Horizon Client connect to VMware Horizon virtual desktop - PCoIP connection' + depends=('vmware-horizon-client') + depends_x86_64=('lib32-libxtst') + optdepends_x86_64=('lib32-alsa-lib: audio support via alsa' + 'lib32-libpulse: audio support via pulse sound server') + depends_i686=('libxtst') + optdepends_i686=('alsa-lib: audio support via alsa' + 'libpulse: audio support via pulse sound server') + + cd "${srcdir}/extract/vmware-horizon-pcoip/" + + mkdir -p "${pkgdir}/usr/" + cp -a pcoip/lib/ "${pkgdir}/usr/lib" + cp -a pcoip/bin/ "${pkgdir}/usr/bin" + + case ${CARCH} in + x86_64) + _libdir="lib32" + ;; + i686) + _libdir="lib" + ;; + esac + + ln -sf ../../${_libdir}/libcrypto.so.1.0.0 "${pkgdir}/usr/lib/vmware/libcrypto.so.1.0.0" + ln -sf ../../${_libdir}/libssl.so.1.0.0 "${pkgdir}/usr/lib/vmware/libssl.so.1.0.0" +} + +package_vmware-horizon-rtav() { + pkgdesc='VMware Horizon Client connect to VMware Horizon virtual desktop - real-time audio-video (webcam and audio-in)' + depends=('vmware-horizon-client') + cd "${srcdir}/extract/vmware-horizon-rtav/" + + mkdir -p "${pkgdir}/usr/" + cp -a lib/ "${pkgdir}/usr/lib" +} + +package_vmware-horizon-smartcard() { + pkgdesc='VMware Horizon Client connect to VMware Horizon virtual desktop - smartcard authentication' + depends=('vmware-horizon-client') + depends_x86_64=('lib32-pcsclite') + depends_i686=('pcsclite') + + cd "${srcdir}/extract/vmware-horizon-smartcard/" + + mkdir -p "${pkgdir}/usr/" + cp -a lib/ "${pkgdir}/usr/lib" +} + +package_vmware-horizon-usb() { + pkgdesc='VMware Horizon Client connect to VMware Horizon virtual desktop - USB redirection' + depends=('vmware-horizon-client') + install=vmware-horizon-usb.install + + cd "${srcdir}/extract/vmware-horizon-usb/" + + mkdir -p "${pkgdir}/usr/lib/vmware/view/" + cp -a bin/ "${pkgdir}/usr/lib/vmware/view/usb" + + install -D -m0755 "${srcdir}/vmware-horizon-usb" "${pkgdir}/usr/lib/systemd/scripts/vmware-horizon-usb" + install -D -m0644 "${srcdir}/vmware-horizon-usb.service" "${pkgdir}/usr/lib/systemd/system/vmware-horizon-usb.service" + install -D -m0644 "${srcdir}/vmware-horizon-usb-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/vmware-horizon-usb.conf" + + case ${CARCH} in + x86_64) + _libdir="lib32" + ;; + i686) + _libdir="lib" + ;; + esac +} + +package_vmware-horizon-virtual-printing() { + pkgdesc='VMware Horizon Client connect to VMware Horizon virtual desktop - virtual printing' + depends=('vmware-horizon-client' 'openssl098' 'libcups') + install=vmware-horizon-virtual-printing.install + + cd "${srcdir}/extract/vmware-horizon-virtual-printing/" + + mkdir -p "${pkgdir}/usr/bin/" + + case ${CARCH} in + x86_64) + cp -a bin/x86_64-linux-NOSSL/thnu* "${pkgdir}/usr/bin/" + install -D -m0755 bin/x86_64-linux-NOSSL/.thnumod "${pkgdir}/etc/thnuclnt/.thnumod" + ;; + i686) + cp -a bin/i586-linux-NOSSL/thnu* "${pkgdir}/usr/bin/" + install -D -m0755 bin/i586-linux-NOSSL/.thnumod "${pkgdir}/etc/thnuclnt/.thnumod" + ;; + esac + + install -D -m0755 lib/tprdp.so "${pkgdir}/usr/lib/vmware/rdpvcbridge/tprdp.so" + + install -D -m0644 bin/conf/thnuclnt.convs "${pkgdir}/usr/share/cups/mime/thnuclnt.convs" + install -D -m0644 bin/conf/thnuclnt.types "${pkgdir}/usr/share/cups/mime/thnuclnt.types" + + install -D -m0644 "${srcdir}/vmware-horizon-virtual-printing.service" "${pkgdir}/usr/lib/systemd/system/vmware-horizon-virtual-printing.service" +} + diff --git a/vmware-horizon-client.desktop b/vmware-horizon-client.desktop new file mode 100644 index 000000000000..88df6397f991 --- /dev/null +++ b/vmware-horizon-client.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=VMware Horizon Client +Comment=Connect to VMware Horizon View virtual machines +GenericName=VMware Horizon Client +Exec=vmware-view +Icon=/usr/share/pixmap/vmware-view.png +Terminal=false +StartupNotify=true +Type=Application +Categories=System;Network;Utility; diff --git a/vmware-horizon-client.install b/vmware-horizon-client.install new file mode 100644 index 000000000000..220c88249215 --- /dev/null +++ b/vmware-horizon-client.install @@ -0,0 +1,15 @@ +uela() { + echo " > By installing this package you acknowledge that you agree to the End-User" + echo " > License Agreement (EULA) found in /usr/share/doc/vmware-horizon-client/." + echo " > If you do not agree to VMware EULA remove this package immediately:" + echo " > $ pacman -Rc vmware-horizon-client" +} + +post_install() { + update-desktop-database -q + uela +} + +post_upgrade(){ + update-desktop-database -q +} diff --git a/vmware-horizon-usb b/vmware-horizon-usb new file mode 100644 index 000000000000..b634fb578685 --- /dev/null +++ b/vmware-horizon-usb @@ -0,0 +1,4 @@ +#!/bin/sh + +/usr/lib/vmware/view/usb/vmware-usbarbitrator +/usr/lib/vmware/view/usb/vmware-view-usbd diff --git a/vmware-horizon-usb-tmpfiles.conf b/vmware-horizon-usb-tmpfiles.conf new file mode 100644 index 000000000000..2a09e9f88013 --- /dev/null +++ b/vmware-horizon-usb-tmpfiles.conf @@ -0,0 +1 @@ +d /var/run/vmware 0755 root - - diff --git a/vmware-horizon-usb.install b/vmware-horizon-usb.install new file mode 100644 index 000000000000..91407a80e85b --- /dev/null +++ b/vmware-horizon-usb.install @@ -0,0 +1,10 @@ +post_install() { + echo " > To enable USB redirection you have to launch" + echo " > /usr/lib/systemd/scripts/vmware-horizon-usb or start/enable" + echo " > systemd service vmware-horizon-usb:" + echo " > $ systemctl start vmware-horizon-usb" +} + +post_upgrade(){ + post_install +} diff --git a/vmware-horizon-usb.service b/vmware-horizon-usb.service new file mode 100644 index 000000000000..b9aa55fa1aa5 --- /dev/null +++ b/vmware-horizon-usb.service @@ -0,0 +1,9 @@ +[Unit] +Description=VMware Horizon USB daemon + +[Service] +Type=forking +ExecStart=/usr/lib/systemd/scripts/vmware-horizon-usb + +[Install] +WantedBy=multi-user.target diff --git a/vmware-horizon-virtual-printing.install b/vmware-horizon-virtual-printing.install new file mode 100644 index 000000000000..57ebf9e31833 --- /dev/null +++ b/vmware-horizon-virtual-printing.install @@ -0,0 +1,9 @@ +post_install() { + echo " > To enable virtual printing you have to launch" + echo " > start/enable systemd service vmware-horizon-virtual-printing:" + echo " > $ systemctl start vmware-horizon-virtual-printing" +} + +post_upgrade(){ + post_install +} diff --git a/vmware-horizon-virtual-printing.service b/vmware-horizon-virtual-printing.service new file mode 100644 index 000000000000..29181169f753 --- /dev/null +++ b/vmware-horizon-virtual-printing.service @@ -0,0 +1,11 @@ +[Unit] +Description=VMware Horizon virtual printing +After=org.cups.cupsd.service + +[Service] +Type=forking +Environment="THNUCLNT_SVC=global:daemon" +ExecStart=/usr/sbin/thnuclntd + +[Install] +WantedBy=multi-user.target |