# $Id$ PNAME="ica-client" PVER="12.1.0" PBUILD="r1" PCATEGORIE="net-misc" DESCRIPTION="Citrix ICA client." HOMEPAGE="http://www.citrix.com/" # install usb daemon, 1=true/ 0=false USBDAEMON=0 SPECIAL_VARS="USBDAEMON" # install /usr/lib/ICAClient compat symlink, 1=true/ 0=false COMPATSYMLINK=1 DEPEND=">= x11-libs/libXaw-1 >= x11-libs/libX11-1.4 >= x11-libs/libSM-1.2 >= x11-libs/libICE-1 >= x11-libs/libXpm-3.5 >= x11-libs/libXinerama-1.1 >= x11-libs/openmotif-2.3 >= x11-libs/libXp-1 >= dev-libs/glib2-2.28 >= x11-libs/gdk-pixbuf-2.22 >= dev-libs/atk-1.33 >= x11-libs/cairo-1.10 >= x11-libs/pango-1.28 >= x11-libs/gtk2+-2.24 >= media-fonts/font-adobe-75dpi-1 >= media-libs/alsa-lib-1.0.24 >= media-libs/libogg-1.3 >= media-libs/libvorbis-1.3" if [[ ${USBDAEMON} = 1 ]] then DEPEND="${DEPEND} >= sys-fs/udev-166" # ctxusb daemon USB_PVER="2.2" USB_SRCFILE="ctxusb_${USB_PVER}-1.i386.rpm" USB_SRCDIR="${BUILDDIR}/ctxusb_${USB_PVER}" fi SDEPEND=">= app-arch/rpm2targz-9.0 >= virtual/sed" SRCFILE="ICAClient-${PVER}-0.i386.rpm" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" # only keep the essential files to run wfica ALX_ONLY_KEEP="etc/env.d usr/bin/wfica opt/ica-client/wfica opt/ica-client/wfica.sh" # needed to run wfica ALX_ONLY_KEEP+=" opt/ica-client/CHARICONV.DLL" # needed for basic session encryption ALX_ONLY_KEEP+=" opt/ica-client/PDCRYPT1.DLL" # proxy support, needed by wfica ALX_ONLY_KEEP+=" opt/ica-client/libproxy.so" # wfica configuration files ALX_ONLY_KEEP+=" opt/ica-client/config opt/ica-client/nls/en/appsrv.ini opt/ica-client/nls/en/module.ini opt/ica-client/nls/en/wfclient.ini" # keyboard layouts ALX_ONLY_KEEP+=" opt/ica-client/keyboard/keyboard.ini opt/ica-client/keyboard/automatic.kbd opt/ica-client/keyboard/linux.kbd" # language support ALX_ONLY_KEEP+=" opt/ica-client/nls/C opt/ica-client/nls/en/Wfica" # keep UTF-8 too ALX_ONLY_KEEP+=" opt/ica-client/nls/en/UTF-8/Wfica" # required data files ALX_ONLY_KEEP+=" opt/ica-client/gtk opt/ica-client/icons/receiver.png" # pnabrowser and certificates for storefront support ALX_ONLY_KEEP+=" opt/ica-client/util/pnabrowse opt/ica-client/nls/en/pna.nls opt/ica-client/nls/en/UTF-8/pna.nls opt/ica-client/keystore opt/ica-client/libctxssl.so" # compat symlink if [[ ${COMPATSYMLINK} = 1 ]] then ALX_ONLY_KEEP+=" usr/lib/ICAClient" fi if [[ ${USBDAEMON} = 1 ]] then ALX_ONLY_KEEP+=" etc/rc.d/init.d/ctxusbd lib/udev/rules.d/85-ctxusbd.rules opt/ica-client/ctx_usb_isactive opt/ica-client/usb.conf opt/ica-client/VDGUSB.DLL opt/ica-client/ctxusbd opt/ica-client/ctxusb" fi sminclude mtools alx-split SRC_URI=( http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${SRCFILE} mirror://ica-client/${SRCFILE} ) if [[ ${USBDAEMON} = 1 ]] then SRC_URI+=( http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${USB_SRCFILE} mirror://ica-client/${USB_SRCFILE} mirror://ica-client/ctxusbd.service mirror://ica-client/ctxusbd.rules mirror://ica-client/ctxusbd.tmpfilesd ) fi src_prepare() { munpack ${SRCFILE} ${SRCDIR} || die if [[ ${USBDAEMON} = 1 ]] then munpack ${USB_SRCFILE} ${USB_SRCDIR} || die fi } alx_generic_src_install() { cd ${SRCDIR}/opt/Citrix/ICAClient minstalldir /opt/ica-client || die mcopy -a \* /opt/ica-client || die # symlink some inis to config dir from nls dir minstalldir /opt/ica-client/config || die mlink ../nls/en/appsrv.ini /opt/ica-client/config/appsrv.ini || die mlink ../nls/en/module.ini /opt/ica-client/config/module.ini || die mlink ../nls/en/wfclient.ini /opt/ica-client/config/wfclient.ini || die # install wrappers to prevent slowdowns with other locales than 'C' minstalldir /usr/bin || die MCONFIG="/usr/bin/wfcmgr" mclearconfig || die maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/ica-client" /opt/ica-client/wfcmgr.bin $*' || die MCONFIG="/usr/bin/wfica" mclearconfig || die maddconfig 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/ica-client" /opt/ica-client/wfica $*' || die mchmod 0755 /usr/bin/wfcmgr || die mchmod 0755 /usr/bin/wfica || die # fixes some hardcoded pathes minstalldir /etc/env.d || die MCONFIG="/etc/env.d/10ica-client" mclearconfig || die maddconfig 'ICAROOT=/opt/ica-client' || die # compat symlink if [[ ${COMPATSYMLINK} = 1 ]] then minstalldir /usr/lib || die mlink /opt/ica-client /usr/lib/ICAClient || die fi # # set default browserprotocol to tcp/ip # # ( citrix named this in their config as UDP) # sed -i "s:^\(BrowserProtocol=\).*:\1UDP:" \ # ${BINDIR}/opt/ica-client/config/wfclient.ini || die # # newer XenApp use https sed -i "s:^\(BrowserProtocol=\).*:\1HTTPonTCP:" \ ${BINDIR}/opt/ica-client/config/wfclient.ini || die # auto enable com port mapping for com1 and com2 sed -i 's:^\(\[WFClient\]\):\1\nComPort1=/dev/ttyS1\nComPort2=/dev/ttyS2\nLastComPortNum=2\n:' \ ${BINDIR}/opt/ica-client/config/wfclient.ini || die if [[ ${USBDAEMON} = 1 ]] then cd ${USB_SRCDIR}/opt/Citrix/ICAClient mcopy -a \* /opt/ica-client || die minstallunit ctxusbd.service || die minstalludevrule ctxusbd.rules 85-ctxusbd.rules || die minstalldir /usr/bin || die mlink /opt/ica-client/ctx_usb_isactive /usr/bin/ctx_usb_isactive || die mlink /opt/ica-client/ctxusb /usr/bin/ctxusb || die minstalldir /usr/sbin || die mlink /opt/ica-client/ctxusbd /usr/sbin/ctxusbd || die minstalltmp ctxusbd.tmpfilesd ctxusbd.conf || die fi } preinstall() { add_conf_prot_mask /etc/env.d } postinstall() { if [[ ${USBDAEMON} = 1 ]] then [ -d ${MROOT}/run/ctxusbd ] || install -d ${MROOT}/run/ctxusbd mstartunit ctxusbd.service fi } postremove() { if [[ ${USBDAEMON} = 1 ]] then mstopunit ctxusbd.service fi }