summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/icaclient/icaclient-22.3.0.24.ebuild')
-rw-r--r--net-misc/icaclient/icaclient-22.3.0.24.ebuild260
1 files changed, 260 insertions, 0 deletions
diff --git a/net-misc/icaclient/icaclient-22.3.0.24.ebuild b/net-misc/icaclient/icaclient-22.3.0.24.ebuild
new file mode 100644
index 000000000000..c6fed4ed5d78
--- /dev/null
+++ b/net-misc/icaclient/icaclient-22.3.0.24.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop wrapper xdg-utils
+
+DESCRIPTION="ICA Client for Citrix Presentation servers"
+HOMEPAGE="https://www.citrix.com/"
+SRC_URI="amd64? ( linuxx64-${PV}.tar.gz )
+ x86? ( linuxx86-${PV}.tar.gz )"
+
+LICENSE="icaclient"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE="l10n_de l10n_es l10n_fr l10n_ja l10n_zh-CN"
+RESTRICT="mirror strip userpriv fetch"
+
+ICAROOT="/opt/Citrix/ICAClient"
+
+QA_PREBUILT="${ICAROOT#/}/*"
+
+RDEPEND="
+ app-crypt/libsecret
+ dev-libs/atk
+ dev-libs/glib:2
+ dev-libs/libxml2
+ media-fonts/font-adobe-100dpi
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ media-fonts/font-xfree86-type1
+ media-fonts/font-misc-ethiopic
+ media-libs/alsa-lib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/gst-plugins-base:1.0
+ media-libs/gstreamer:1.0
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/speex
+ net-libs/libsoup:2.4
+ net-libs/webkit-gtk:4
+ sys-apps/util-linux
+ sys-libs/libcxx
+ sys-libs/libcxxabi
+ sys-libs/zlib
+ virtual/krb5
+ virtual/jpeg:0
+ virtual/libudev
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXinerama
+ x11-libs/libXmu
+ x11-libs/libXrender
+ x11-libs/libXt
+ x11-libs/pango
+"
+DEPEND=""
+
+pkg_nofetch() {
+ elog "Download the client file ${A} from
+ https://www.citrix.com/downloads/workspace-app/"
+ elog "and place it into your DISTDIR directory."
+}
+
+pkg_setup() {
+ case ${ARCH} in
+ amd64)
+ ICAARCH=linuxx64
+ ;;
+ x86)
+ ICAARCH=linuxx86
+ ;;
+ *)
+ eerror "Given architecture is not supported by Citrix."
+ ;;
+ esac
+
+ S="${WORKDIR}/${ICAARCH}/${ICAARCH}.cor"
+}
+
+src_prepare() {
+ default
+ rm lib/UIDialogLibWebKit.so || die
+
+ # We need to avoid module.ini file getting added to the package's
+ # content because media-plugins/hdx-realtime-media-engine modifies
+ # this file on installation. See pkg_postinst()
+ mv nls/en/module.ini "${T}" || die
+}
+
+src_install() {
+ local bin tmpl dest
+
+ dodir "${ICAROOT}"
+
+ exeinto "${ICAROOT}"
+ doexe *.DLL libproxy.so wfica AuthManagerDaemon PrimaryAuthManager selfservice ServiceRecord
+
+ exeinto "${ICAROOT}"/lib
+ if use amd64 ; then
+ rm lib/ctxjpeg_fb_8.so || die
+ fi
+ doexe lib/*.so
+
+ for dest in "${ICAROOT}"{,/nls/en{,.UTF-8}} ; do
+ insinto "${dest}"
+ doins nls/en.UTF-8/eula.txt
+ done
+
+ insinto "${ICAROOT}"
+ doins -r usb
+
+ insinto "${ICAROOT}"/config
+ # nls/en/*.ini is being handled by pkg_postinst()
+ doins config/* config/.*
+ for tmpl in {appsrv,wfclient}.template ; do
+ newins nls/en/${tmpl} ${tmpl/template/ini}
+ done
+ touch "${ED}/${ICAROOT}"/config/.server || die
+
+ insinto "${ICAROOT}"/gtk
+ doins gtk/*
+
+ insinto "${ICAROOT}"/gtk/glade
+ doins gtk/glade/*
+
+ insinto "${ICAROOT}"/site
+ doins -r site/*
+
+ dodir "${ICAROOT}"/help
+
+ insinto "${ICAROOT}"/config/usertemplate
+ doins config/usertemplate/*
+
+ local lang LANGCODES=( en )
+ use l10n_de && LANGCODES+=( de )
+ use l10n_es && LANGCODES+=( es )
+ use l10n_fr && LANGCODES+=( fr )
+ use l10n_ja && LANGCODES+=( ja )
+ use l10n_zh-CN && LANGCODES+=( zh_CN )
+
+ for lang in ${LANGCODES[@]} ; do
+ insinto "${ICAROOT}"/nls/${lang}
+ doins nls/${lang}/*
+
+ insinto "${ICAROOT}"/nls/$lang/UTF-8
+ doins nls/${lang}.UTF-8/*
+
+ insinto "${ICAROOT}"/nls/${lang}/LC_MESSAGES
+ doins nls/${lang}/LC_MESSAGES/*
+
+ insinto "${ICAROOT}"/nls/${lang}
+ dosym UTF-8 "${ICAROOT}"/nls/${lang}/utf8
+
+ for tmpl in {appsrv,wfclient}.template ; do
+ cp "${ED}/${ICAROOT}"/nls/${lang}/${tmpl} \
+ "${ED}/${ICAROOT}"/nls/${lang}/${tmpl/template/ini} \
+ || die
+ done
+ done
+
+ insinto "${ICAROOT}"/nls
+ dosym en /opt/Citrix/ICAClient/nls/C
+
+ insinto "${ICAROOT}"/icons
+ doins icons/*
+
+ insinto "${ICAROOT}"/keyboard
+ doins keyboard/*
+
+ rm -r "${S}"/keystore/cacerts || die
+ dosym ../../../../etc/ssl/certs "${ICAROOT}"/keystore/cacerts
+
+ local util_files=(
+ configmgr
+ conncenter
+ ctx_app_bind
+ ctx_rehash
+ ctxlogd
+ ctxwebhelper
+ gst_play1.0
+ gst_read1.0
+ hdxcheck.sh
+ icalicense.sh
+ libgstflatstm1.0.so
+ lurdump
+ new_store
+ nslaunch
+ setlog
+ storebrowse
+ sunraymac.sh
+ webcontainer
+ what
+ xcapture
+ )
+
+ exeinto "${ICAROOT}"/util
+ for bin in ${util_files[@]} ; do
+ doexe util/${bin}
+ done
+
+ local other_files=(
+ icasessionmgr
+ NativeMessagingHost
+ UtilDaemon
+ )
+
+ exeinto "${ICAROOT}"
+ for bin in ${other_files[@]} ; do
+ doexe ${bin}
+ done
+
+ # https://bugs.gentoo.org/655922
+ dosym gst_play1.0 "${ICAROOT}"/util/gst_play
+ dosym gst_read1.0 "${ICAROOT}"/util/gst_read
+ dosym libgstflatstm1.0.so "${ICAROOT}"/util/libgstflatstm.so
+
+ doenvd "${FILESDIR}"/10ICAClient
+
+ for bin in configmgr conncenter new_store ; do
+ make_wrapper ${bin} "${ICAROOT}"/util/${bin} . "${ICAROOT}"/util
+ done
+
+ for bin in selfservice wfica ; do
+ make_wrapper ${bin} "${ICAROOT}"/${bin} . "${ICAROOT}"
+ done
+
+ dodir /etc/revdep-rebuild/
+ echo "SEARCH_DIRS_MASK=\"${ICAROOT}\"" \
+ > "${ED}"/etc/revdep-rebuild/70icaclient
+
+ insinto "${ICAROOT}"/pkginf
+ newins "${WORKDIR}"/PkgId Ver.core."${ICAARCH}"
+
+ # 651926
+ domenu "${FILESDIR}"/*.desktop
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+
+ local inidest="${BROOT}${ICAROOT}/config"
+ if [[ ! -e "${inidest}"/module.ini ]] ; then
+ mv "${T}"/module.ini "${inidest}/" \
+ || ewarn 'Failed to install plugin.ini file'
+ fi
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}