# $Id$ PNAME="ica-client" PVER="11.100" PBUILD="r2" PCATEGORIE="net-misc" STATE="unstable" DESCRIPTION="Citrix ica client" HOMEPAGE="www.citrix.com" DEPEND=">= virtual/x11" SDEPEND=">= app-arch/rpm2targz-9.0 >= sys-apps/sed-4" INHERITS="alx" SRCFILE="ICAClient-${PVER}-1.i386.rpm" SRCDIR="${BUILDDIR}/${PNAME/-alx/}-${PVER}" # needed to compile libXp PRINTPROTO_PVER="1.0.5" PRINTPROTO_SRCFILE="printproto-${PRINTPROTO_PVER}.tar.bz2" PRINTPROTO_SRCDIR="${BUILDDIR}/printproto-${PRINTPROTO_PVER}" # needed by ica-client libs LIBXP_PVER="1.0.1" LIBXP_SRCFILE="libXp-${LIBXP_PVER}.tar.bz2" LIBXP_SRCDIR="${BUILDDIR}/libXp-${LIBXP_PVER}" # needed to compile motif XBITMAPS_PVER="1.1.1" XBITMAPS_SRCFILE="xbitmaps-${XBITMAPS_PVER}.tar.bz2" XBITMAPS_SRCDIR="${BUILDDIR}/xbitmaps-${XBITMAPS_PVER}" # needed by ica-client libs OPENMOTIF_PVER="2.3.3" OPENMOTIF_SRCFILE="openmotif-${OPENMOTIF_PVER}.tar.gz" OPENMOTIF_SRCDIR="${BUILDDIR}/openmotif-${OPENMOTIF_PVER}" # only keep the essential files to run wfica ALX_ONLY_KEEP="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" # 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" REMOVE_DEPRECATED_MAGE_TARGETS=1 sminclude mtools alx-split SRC_URI=( http://download2.citrix.com/FILES/en/products/Linux${PVER:0:2}/${SRCFILE} http://www.x.org/releases/individual/proto/${PRINTPROTO_SRCFILE} http://www.x.org/releases/individual/lib/${LIBXP_SRCFILE} http://www.x.org/releases/individual/data/${XBITMAPS_SRCFILE} http://www.motifzone.org/files/public_downloads/openmotif/${OPENMOTIF_PVER%.*}/${OPENMOTIF_PVER}/${OPENMOTIF_SRCFILE} mirror://ica-client/${SRCFILE} mirror://printproto/${PRINTPROTO_SRCFILE} mirror://libXp/${LIBXP_SRCFILE} mirror://xbitmaps/${XBITMAPS_SRCFILE} mirror://openmotif/${OPENMOTIF_SRCFILE} ) src_prepare() { ## printproto munpack ${PRINTPROTO_SRCFILE} || die ## libxp munpack ${LIBXP_SRCFILE} || die ## xbitmaps munpack ${XBITMAPS_SRCFILE} || die ## openmotif munpack ${OPENMOTIF_SRCFILE} || die cd ${OPENMOTIF_SRCDIR} || die # disable compilation of demo binaries sed -i -e '/^SUBDIRS/{:x;/\\$/{N;bx;};s/[ \t\n\\]*demos//;}' Makefile.am # add X.Org vendor string to aliases for virtual bindings echo -e '"The X.Org Foundation"\t\t\t\t\tpc' >>bindings/xmbind.alias # add missing files to run autoconf successfully touch NEWS AUTHORS INSTALL COPYING || die autoreconf -I. --verbose --force --install || die ## ica-client install -d ${SRCDIR} cd ${SRCDIR} rpm2targz ${SOURCEDIR}/${PNAME}/${SRCFILE} || die tar --no-same-owner -xvzf ${SRCDIR}/${SRCFILE/.rpm/.tar.gz} || die } src_compile() { export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:$(find ${BUILDDIR} -maxdepth 1 -mindepth 1 -type d -printf %p:)" ## printproto cd ${PRINTPROTO_SRCDIR} ./configure \ --prefix=$(pwd) \ --includedir='${prefix}' \ --libdir='${prefix}/.libs' \ || die mmake || die # some needed symlinks ln -snf . X11 || die ln -snf . extensions || die ## libxp cd ${LIBXP_SRCDIR} ./configure \ --prefix=$(pwd) \ --includedir='${prefix}' \ --libdir='${prefix}/.libs' \ --disable-static \ || die mmake || die ## xbitmaps cd ${XBITMAPS_SRCDIR} ./configure \ --prefix=$(pwd) \ --includedir='${prefix}' \ --libdir='${prefix}/.libs' \ || die mmake || die # some needed symlinks ln -snf . X11 || die ln -snf . bitmaps || die ## openmotif cd ${OPENMOTIF_SRCDIR} # fix some anoying warnings export CFLAGS="${CFLAGS} -fno-strict-aliasing" export CXXFLAGS="${CXXFLAGS} -fno-strict-aliasing" # tell motif where to find xbitmaps CFLAGS="${CFLAGS} $(pkg-config --cflags xbitmaps)" \ mconfigure \ --with-x \ --x-libraries=/usr/X11R6/lib \ --disable-printing \ --disable-xft \ --disable-png \ --disable-jpeg \ || die # doens't like optimations # fix broken libtool: it calles sed and it ends in an infinite loop mmake -j1 LIBTOOL="$(which libtool)" || die } src_install() { local libnameso3 local libnameso2 local libnameso1 local lib ## printproto # nothing ## libxp # libs only cd ${LIBXP_SRCDIR} minstalldir /opt/ica-client || die minstalllib src/.libs/libXp.so.*.*.* /opt/ica-client || die ## xbitmaps # nothing ## openmotif # libs only cd ${OPENMOTIF_SRCDIR} minstalldir /opt/ica-client || die minstalllib lib/Xm/.libs/libXm.so.*.*.* ## ica-client cd ${SRCDIR}/usr/lib/ICAClient cp -a * ${BINDIR}/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' echo 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/ica-client" /opt/ica-client/wfcmgr.bin $*' > ${BINDIR}/usr/bin/wfcmgr || die echo 'env LC_ALL="" LANG="" LD_LIBRARY_PATH="/opt/ica-client" /opt/ica-client/wfica $*' > ${BINDIR}/usr/bin/wfica || die mchmod 0755 /usr/bin/wfcmgr || die mchmod 0755 /usr/bin/wfica || die # fixes some hardcoded pathes minstalldir /etc/env.d || die echo 'ICAROOT=/opt/ica-client' > ${BINDIR}/etc/env.d/10ica-client || die # 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 # 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 }