diff options
Diffstat (limited to 'net-misc/icaclient/icaclient-22.3.0.24.ebuild')
-rw-r--r-- | net-misc/icaclient/icaclient-22.3.0.24.ebuild | 260 |
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 +} |