5a7c8f00a2d67ac2980bc1673ff1812c388701e7
[gentoo.git] / net-misc / icaclient / icaclient-13.5.0.10185126.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 inherit multilib eutils versionator
7
8 DESCRIPTION="ICA Client for Citrix Presentation servers"
9 HOMEPAGE="http://www.citrix.com/"
10 SRC_URI="amd64? ( linuxx64-${PV}.tar.gz )
11         x86? ( linuxx86-${PV}.tar.gz )"
12
13 LICENSE="icaclient"
14 SLOT="0"
15 KEYWORDS="-* amd64 x86"
16 IUSE="gstreamer010 nsplugin linguas_de linguas_es linguas_fr linguas_ja linguas_zh_CN"
17 RESTRICT="mirror strip userpriv fetch"
18
19 ICAROOT="/opt/Citrix/ICAClient"
20
21 QA_PREBUILT="${ICAROOT#/}/*"
22
23 RDEPEND="
24         dev-libs/atk
25         dev-libs/glib:2
26         dev-libs/libxml2
27         media-fonts/font-adobe-100dpi
28         media-fonts/font-misc-misc
29         media-fonts/font-cursor-misc
30         media-fonts/font-xfree86-type1
31         media-fonts/font-misc-ethiopic
32         media-libs/alsa-lib
33         media-libs/fontconfig
34         media-libs/freetype
35         media-libs/gst-plugins-base:1.0
36         media-libs/gstreamer:1.0
37         media-libs/libcanberra[gtk]
38         media-libs/libogg
39         media-libs/libvorbis
40         media-libs/speex
41         net-dns/libidn
42         net-libs/libsoup:2.4
43         net-libs/webkit-gtk:2
44         sys-libs/e2fsprogs-libs
45         sys-libs/zlib
46         virtual/krb5
47         x11-libs/cairo
48         x11-libs/gdk-pixbuf
49         x11-libs/gtk+:2
50         x11-libs/libX11
51         x11-libs/libXaw
52         x11-libs/libXext
53         x11-libs/libXfixes
54         x11-libs/libXinerama
55         x11-libs/libXmu
56         x11-libs/libXrender
57         x11-libs/libXt
58         x11-libs/pango
59         gstreamer010? (
60                 media-libs/gst-plugins-base:0.10
61                 media-libs/gstreamer:0.10
62         )
63 "
64 DEPEND=""
65
66 pkg_nofetch() {
67         elog "Download the client file ${A} from
68         https://www.citrix.com/downloads/citrix-receiver.html"
69         elog "and place it in ${DISTDIR:-/usr/portage/distfiles}."
70 }
71
72 src_unpack() {
73         default
74
75         case ${ARCH} in
76                 amd64)
77                         ICAARCH=linuxx64
78                 ;;
79                 x86)
80                         ICAARCH=linuxx86
81                 ;;
82                 *)
83                         eerror "Given architecture is not supported by Citrix."
84                 ;;
85         esac
86
87         S="${WORKDIR}/${ICAARCH}/${ICAARCH}.cor"
88 }
89
90 src_install() {
91         local tmpl dest
92
93         dodir "${ICAROOT}"
94
95         exeinto "${ICAROOT}"
96         doexe *.DLL libproxy.so wfica AuthManagerDaemon PrimaryAuthManager selfservice ServiceRecord
97
98         exeinto "${ICAROOT}"/lib
99         doexe lib/*.so
100
101         if use nsplugin ; then
102                 exeinto "${ICAROOT}"
103                 doexe npica.so
104                 dosym "${ICAROOT}"/npica.so /usr/$(get_libdir)/nsbrowser/plugins/npica.so
105         fi
106
107         for dest in "${ICAROOT}"{,/nls/en{,.UTF-8}} ; do
108                 insinto "${dest}"
109                 doins nls/en.UTF-8/eula.txt
110         done
111
112         insinto "${ICAROOT}"
113         doins -r usb
114
115         insinto "${ICAROOT}"/config
116         doins config/* config/.* nls/en/*.ini
117         for tmpl in {appsrv,wfclient}.template ; do
118                 newins nls/en/${tmpl} ${tmpl/template/ini}
119         done
120         touch "${ED}/${ICAROOT}"/config/.server || die
121
122         insinto "${ICAROOT}"/gtk
123         doins gtk/*
124
125         insinto "${ICAROOT}"/gtk/glade
126         doins gtk/glade/*
127
128         insinto "${ICAROOT}"/site
129         doins -r site/*
130
131         dodir "${ICAROOT}"/help
132
133         insinto "${ICAROOT}"/config/usertemplate
134         doins config/usertemplate/*
135
136         LANGCODES="en"
137         use linguas_de && LANGCODES+=" de"
138         use linguas_es && LANGCODES+=" es"
139         use linguas_fr && LANGCODES+=" fr"
140         use linguas_ja && LANGCODES+=" ja"
141         use linguas_zh_CN && LANGCODES+=" zh_CN"
142
143         for lang in ${LANGCODES} ; do
144                 insinto "${ICAROOT}"/nls/${lang}
145                 doins nls/${lang}/*
146
147                 insinto "${ICAROOT}"/nls/$lang/UTF-8
148                 doins nls/${lang}.UTF-8/*
149
150                 insinto "${ICAROOT}"/nls/${lang}/LC_MESSAGES
151                 doins nls/${lang}/LC_MESSAGES/*
152
153                 insinto "${ICAROOT}"/nls/${lang}
154                 dosym UTF-8 "${ICAROOT}"/nls/${lang}/utf8
155
156                 for tmpl in {appsrv,wfclient}.template ; do
157                         cp "${ED}/${ICAROOT}"/nls/${lang}/${tmpl} \
158                                 "${ED}/${ICAROOT}"/nls/${lang}/${tmpl/template/ini} \
159                                 || die
160                 done
161         done
162
163         insinto "${ICAROOT}"/nls
164         dosym en /opt/Citrix/ICAClient/nls/C
165
166         insinto "${ICAROOT}"/icons
167         doins icons/*
168
169         insinto "${ICAROOT}"/keyboard
170         doins keyboard/*
171
172         rm -r "${S}"/keystore/cacerts || die
173         dosym /etc/ssl/certs "${ICAROOT}"/keystore/cacerts
174
175         exeinto "${ICAROOT}"/util
176         # echo_cmd, gst_aud_play and gst_aud_read still require gst-0.10
177         if use gstreamer010 ; then
178                 doexe util/{echo_cmd,gst_aud_play,gst_aud_read,gst_play0.10,gst_read0.10,libgstflatstm0.10.so}
179         fi
180         doexe util/{configmgr,conncenter,gst_play1.0,gst_read1.0,hdxcheck.sh,icalicense.sh,libgstflatstm1.0.so}
181         doexe util/{lurdump,new_store,nslaunch,pnabrowse,storebrowse,sunraymac.sh,what,xcapture}
182
183         doenvd "${FILESDIR}"/10ICAClient
184
185         make_wrapper wfica "${ICAROOT}"/wfica . "${ICAROOT}"
186
187         dodir /etc/revdep-rebuild/
188         echo "SEARCH_DIRS_MASK=\"${ICAROOT}\"" > "${D}"/etc/revdep-rebuild/70icaclient
189 }
190
191 pkg_preinst() {
192         local old_plugin="/usr/lib64/nsbrowser/plugins/npwrapper.npica.so"
193         if use amd64 && [[ -f ${old_plugin} ]] ; then
194                 local wrapper="/usr/bin/nspluginwrapper"
195                 if [[ -x ${wrapper} ]] ; then
196                         einfo "Removing npica.so from wrapper."
197                         ${wrapper} -r ${old_plugin}
198                 fi
199         fi
200 }