Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

net-misc/icaclient: bump to 22.12.0.12 #28493

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -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
}
2 changes: 2 additions & 0 deletions 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
276 changes: 276 additions & 0 deletions 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 .
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing die on cp, rtmeconfig call, mv and mv.

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use bash tests ([[ ]])

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
}
3 changes: 3 additions & 0 deletions net-misc/icaclient/metadata.xml
Expand Up @@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<use>
<flag name="hdx">Install and enable hdx-realtime-media-engine plugin</flag>
</use>
</pkgmetadata>