commit:     c9fc0e563e8d4c73be09fd6ae98b679d1927fe8e
Author:     Henning Schild <henning <AT> hennsch <DOT> de>
AuthorDate: Thu Dec  1 14:40:48 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec 24 06:55:50 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c9fc0e56

net-misc/icaclient: bump to 22.12.0.12

Here we do not just bump the version but also change the way we deal
with the shared config file between this ebuild and its plugin
media-plugins/hdx-realtime-media-engine.
Also we move the rdep to sys-libs/llvm-libunwind to the plugin. And if
the user wants hdx support on icaclient they have to set a USE flag. The
plugin will not work if icaclient is not built with support for it and
the plugin itself contains the tool to enable itself so we turn the dep
chain around, the plugin is even a bdep of the application.

Closes: https://bugs.gentoo.org/883775
Closes: https://bugs.gentoo.org/881637
Signed-off-by: Henning Schild <henning <AT> hennsch.de>
Closes: https://github.com/gentoo/gentoo/pull/28493
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...dx-realtime-media-engine-2.9.500.2802-r1.ebuild |  88 +++++++
 net-misc/icaclient/Manifest                        |   2 +
 net-misc/icaclient/icaclient-22.12.0.12.ebuild     | 276 +++++++++++++++++++++
 net-misc/icaclient/metadata.xml                    |   3 +
 4 files changed, 369 insertions(+)

diff --git 
a/media-plugins/hdx-realtime-media-engine/hdx-realtime-media-engine-2.9.500.2802-r1.ebuild
 
b/media-plugins/hdx-realtime-media-engine/hdx-realtime-media-engine-2.9.500.2802-r1.ebuild
new file mode 100644
index 000000000000..d72d760272eb
--- /dev/null
+++ 
b/media-plugins/hdx-realtime-media-engine/hdx-realtime-media-engine-2.9.500.2802-r1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit unpacker
+
+MY_PV="$(ver_cut 1-3)"
+
+DESCRIPTION="HDX RealTime Media Engine plugin for Citrix Workspace App"
+HOMEPAGE="https://www.citrix.com/";
+SRC_URI="amd64? ( HDX_RealTime_Media_Engine_${MY_PV}_for_Linux_x64.zip )
+       x86? ( HDX_RealTime_Media_Engine_${MY_PV}_for_Linux.zip )"
+LICENSE="icaclient"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86"
+RESTRICT="fetch mirror strip"
+
+BDEPEND="app-arch/unzip"
+RDEPEND="
+       sys-libs/llvm-libunwind
+       || (
+               media-video/pipewire
+               media-sound/pulseaudio
+               media-sound/apulse
+       )
+       !<net-misc/icaclient-22.12.0.12
+"
+
+ICAROOT="/opt/Citrix/ICAClient"
+QA_PREBUILT="${ICAROOT#/}/*"
+
+S="${WORKDIR}/usr/local/bin"
+
+pkg_nofetch() {
+       elog "Download the client file ${A} from"
+       elog 
"https://www.citrix.com/de-de/downloads/citrix-receiver/additional-client-software/hdx-realtime-media-engine-ltsrcu-latest.html";
+       elog "and place it into your DISTDIR directory."
+}
+
+pkg_setup() {
+       case ${ARCH} in
+               amd64)
+                       zip_dir="x86_64"
+                       zip_arch="amd64"
+               ;;
+               x86)
+                       zip_dir="i386"
+                       zip_arch="i386"
+               ;;
+       esac
+}
+
+src_unpack() {
+       default
+
+       local 
MY_T="${WORKDIR}/HDX_RealTime_Media_Engine_${MY_PV}_for_Linux$(usex amd64 
'_x64' '')"
+       local deb_base_name="citrix-hdx-realtime-media-engine"
+       unpack_deb ${MY_T}/${zip_dir}/${deb_base_name}_$(ver_rs 3 
-)_${zip_arch}.deb
+}
+
+src_install() {
+       insinto "${ICAROOT}/rtme"
+
+       # No, we do NOT install such a generic udev rule into the system
+       local destfiles=(
+               DialTone_US.wav
+               EULA.rtf
+               InboundCallRing.wav
+       )
+
+       local el
+       for el in "${destfiles[@]}" ; do
+               doins "${el}"
+       done
+
+       exeinto "${ICAROOT}"/rtme
+       doexe RTMEconfig RTMediaEngineSRV
+
+       for el in /var/{lib,log}/RTMediaEngineSRV /var/lib/Citrix/HDXRMEP ; do
+               keepdir ${el}
+               fperms a+rw ${el}
+       done
+
+       insinto "${ICAROOT}"
+       doins HDXRTME.so
+}

diff --git a/net-misc/icaclient/Manifest b/net-misc/icaclient/Manifest
index d736acc9ef0b..cd884c4189ea 100644
--- a/net-misc/icaclient/Manifest
+++ b/net-misc/icaclient/Manifest
@@ -1,6 +1,8 @@
 DIST linuxx64-22.11.0.19.tar.gz 160489578 BLAKE2B 
ea6c5aab678746da64b0fa8329f5ffad871e5f42b4c6aa59f87daf6f8ca9a8901b690871376a79724fe835f9a9c026eb6bdf1ff55419ade62ebf472d25164dfa
 SHA512 
5dab1616303f384d06ff6b2cc5c0ed0d9026745729ae503d03c7bddc6cebc536236c679d20886a94a2a241d1cfd96fd7fd766368ca779dacf0ff1785b36f5040
+DIST linuxx64-22.12.0.12.tar.gz 165269811 BLAKE2B 
7735357f38d9438137792fc1d1febfdda6ca464fc43f573dffb4a33fffca052a78b8b61277cffd9287efcbc3823529e707140e7c9c1f9502c768528d2018b71d
 SHA512 
bbe002d32e6d3819ab76ecef7fe7b62fff14da409d1b13c6edfc947cd46b0919d0f1972e7c1581d871bbe341ea50d3cf0da797f53f97b8e370610b37048f9a31
 DIST linuxx64-22.5.0.16.tar.gz 162733197 BLAKE2B 
32b4fd64d6bccf8a3be92e8f8ee59059839f31f4f771a6344fea320d2b635174c31c9e8d572a700568bab6032352fe72657dce1ee752327ed856370fa86acf9a
 SHA512 
796ecbccc60995baae2082b5b275d7bf1482b19aed198de6d9f4083b2a3a68ff2fe73dfd1d3d33f0f885a157a77f20de008635eade36d5f9adff6b662aaefc1b
 DIST linuxx64-22.9.0.21.tar.gz 160511942 BLAKE2B 
43b671bc5c5eac968d2d6fd55615dce0d19206e9d64124b7e3dabf4311837c5cfe9ac25867b01795b9dc019f993a4507e852f84faba5116d58bdc4c85b784d85
 SHA512 
ebfd3fd51a61e0d419833fa0393a311b7c22331b6d950d985437ad992af96a96a9b1ea7d6c085e23593c6fcd46a8f946ca6c7b942d6919226bfc847a831fb95c
 DIST linuxx86-22.11.0.19.tar.gz 146472406 BLAKE2B 
b685de8438087a67011d78cb6b56cdeae18185477b179bd2419e240709cf8333410f774facddc17cf23042a99deca5c9f77c24034e2d0b0b4decc57c38f326fb
 SHA512 
6a0160a6e88eda43dcdfccdfb29fbb6f73f335b6a0f41dc2715a741be8c1019d49b5f6de68e67b5af0a03fd27cca748d0b9db25ef7a1e66e54770bf9716af3fa
+DIST linuxx86-22.12.0.12.tar.gz 147837116 BLAKE2B 
d5f1c53d1f2d2ecb95e67df256a667df733251a99dd4a5e9584554521c4f1b1fbd065dfd8b1c4ba344a543c5cd7dde4a939e3d4d82f658e7dae42c07527b645e
 SHA512 
8e9c4262dcd7731b88ae43a663d5901a21a9ede2feed163b538f5fb475f0eba8768a08715db5e9c8fa809442140d1ef03d4d4e509cb83142bea806855615a6b3
 DIST linuxx86-22.5.0.16.tar.gz 144032901 BLAKE2B 
0f58adf7645eaba6ad75e126381ecfecf7434130b0e69bed75a0499386c5301475a48e414ce57aebdfeaea0cb6615ae93b48ecfdd0149851a56459d687d75bb7
 SHA512 
b94a3de41118d08f3ff549de33e80a85198a3db1349177cc5c921cdd45f1d5bb7e1ee338067602725a9bed16619216f552f98314d539915a251f020094ae3121
 DIST linuxx86-22.9.0.21.tar.gz 146501445 BLAKE2B 
823a9f063448351ada3a0c552c0175b540f9403c8ee844232ae23cccfd9199acd46e0a2c21e9c051c4a84f2700261e0a4d9b6fcbfc133c6cdbeca29fa256ba68
 SHA512 
7f2d39ef279c704004a371a4b95b48f2be4ed32de7406dd877ce585e22fb523a39b90a7e1cd968205d55c708ebe80fa1a85d9677cc1feb819b1843f445908f2b

diff --git a/net-misc/icaclient/icaclient-22.12.0.12.ebuild 
b/net-misc/icaclient/icaclient-22.12.0.12.ebuild
new file mode 100644
index 000000000000..399b2a4f22b1
--- /dev/null
+++ b/net-misc/icaclient/icaclient-22.12.0.12.ebuild
@@ -0,0 +1,276 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 hdx"
+RESTRICT="mirror strip fetch"
+
+ICAROOT="/opt/Citrix/ICAClient"
+
+QA_PREBUILT="${ICAROOT#/}/*"
+
+# we have binaries for two conflicting kerberos implementations
+# https://bugs.gentoo.org/792090
+# https://bugs.gentoo.org/775995
+REQUIRES_EXCLUDE="
+       libgssapi.so.3
+       libgssapi_krb5.so.2 libkrb5.so.3
+"
+# when using media-plugins/hdx-realtime-media-engine we better not ignore that
+REQUIRES_EXCLUDE="${REQUIRES_EXCLUDE}
+       !hdx? ( libunwind.so.1 )
+"
+# we have binaries which wouls still support gstreamer:0.10
+REQUIRES_EXCLUDE="${REQUIRES_EXCLUDE}
+       libgstapp-0.10.so.0
+       libgstbase-0.10.so.0
+       libgstinterfaces-0.10.so.0
+       libgstpbutils-0.10.so.0
+       libgstreamer-0.10.so.0
+"
+
+BEPEND="
+       hdx? ( >=media-plugins/hdx-realtime-media-engine-2.9.500.2802-r1 )
+"
+
+RDEPEND="
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       app-crypt/libsecret
+       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/libpulse
+       media-libs/libvorbis
+       media-libs/mesa
+       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/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
+       ${BDEPEND}
+       !hdx? ( !<media-plugins/hdx-realtime-media-engine-2.9.500.2802-r1 )
+"
+DEPENDS=""
+
+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
+}
+
+src_unpack() {
+       default
+       mv "${WORKDIR}/${ICAARCH}/${ICAARCH}.cor" "${S}" || die
+}
+
+src_prepare() {
+       default
+       rm lib/UIDialogLibWebKit.so || die
+
+       cp nls/en/module.ini .
+       if use hdx; then
+               "${BROOT}${ICAROOT}"/rtme/RTMEconfig -install -ignoremm
+               mv new_module.ini module.ini
+       fi
+       mv module.ini config/
+}
+
+src_install() {
+       local bin tmpl dest
+
+       dodir "${ICAROOT}"
+
+       exeinto "${ICAROOT}"
+       doexe *.DLL libproxy.so wfica AuthManagerDaemon PrimaryAuthManager 
selfservice ServiceRecord
+
+       exeinto "${ICAROOT}"/lib
+       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
+       doins 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/*
+
+       cp -a util "${ED}/${ICAROOT}" || die
+       test -f util/HdxRtcEngine && fperms 0755 "${ICAROOT}"/util/HdxRtcEngine
+
+       rm -r "${S}"/keystore/cacerts || die
+       dosym ../../../../etc/ssl/certs "${ICAROOT}"/keystore/cacerts
+
+       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
+
+       insinto /usr/share/mime/packages
+       doins desktop/Citrix-mime_types.xml
+}
+
+pkg_preinst() {
+       # previous versions of the ebuild created that and left it around
+       # we own it now and avoid conflict warnings with this
+       rm -f "${ROOT}${ICAROOT}/config/module.ini"
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+
+       if ! use hdx; then
+               if [ -x "${ROOT}${ICAROOT}"/rtme/RTMEconfig ]; then
+                       ewarn "Starting from 22.12.0.12 you have to set USE=hdx 
if you want"
+                       ewarn "to use media-plugins/hdx-realtime-media-engine. 
Which does"
+                       ewarn "not need to be explicitly installed anymore."
+               fi
+       fi
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+}

diff --git a/net-misc/icaclient/metadata.xml b/net-misc/icaclient/metadata.xml
index d86008401e21..83d0f6942931 100644
--- a/net-misc/icaclient/metadata.xml
+++ b/net-misc/icaclient/metadata.xml
@@ -9,4 +9,7 @@
                <email>proxy-ma...@gentoo.org</email>
                <name>Proxy Maintainers</name>
        </maintainer>
+       <use>
+               <flag name="hdx">Install and enable hdx-realtime-media-engine 
plugin</flag>
+       </use>
 </pkgmetadata>

Reply via email to