blob: d77b86a5e5c5f99c2222ad0ab8a790b802e503bc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# Maintainer: Stephan Springer <buzo+arch@Lini.de>
# Contributor: Moabeat <moabeat@berlin.de>
# Contributor: Eric Liu <eric@hnws.me>
# Contributor: Daniele Vazzola <daniele.vazzola@gmail.com>
# Contributor: CiarĂ¡n Coffey <ciaran@ccoffey.ie>
# Contributor: Matthew Gyurgyik <matthew@pyther.net>
# Contributor: Giorgio Azzinnaro <giorgio@azzinna.ro>
pkgname=icaclient
pkgver=25.03.0.66
pkgrel=1
pkgdesc="Citrix Workspace App (a.k.a. ICAClient, Citrix Receiver)"
arch=(x86_64 aarch64)
url='https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html'
license=(LicenseRef-Citrix)
depends=('alsa-lib' 'curl' 'gst-plugins-base-libs' 'gtk2' 'libc++' 'libc++abi' 'libidn11'
'libjpeg6-turbo' 'libpng12' 'libsecret' 'libsoup' 'libvorbis' 'libxaw' 'libxp'
'openssl' 'speex' 'webkit2gtk')
optdepends=('xerces-c: gtk2 configuration manager'
'webkit2gtk: gtk2 selfservice/storefront ui'
'libc++: for HDXTeams')
conflicts=('bin32-citrix-client' 'citrix-client')
options=(!strip)
backup=("opt/Citrix/ICAClient/config/appsrv.ini" "opt/Citrix/ICAClient/config/wfclient.ini" "opt/Citrix/ICAClient/config/module.ini")
_dl_urls_="$(curl -sL "$url" | grep -F ".tar.gz?__gda__")"
_dl_urls="$(echo "$_dl_urls_" | grep -F "$pkgver.tar.gz?__gda__")"
_source64=https:"$(echo "$_dl_urls" | sed -En 's|^.*rel="(//.*/linuxx64-[^"]*)".*$|\1|p')"
_sourceaarch64=https:"$(echo "$_dl_urls" | sed -En 's|^.*rel="(//.*/linuxarm64-[^"]*)".*$|\1|p')"
source=('citrix-configmgr.desktop'
'citrix-conncenter.desktop'
'citrix-wfica.desktop'
'citrix-workspace.desktop'
'wfica.sh'
'wfica_assoc.sh'
'ctxcwalogd.service'
'ctxusbd.service')
source_x86_64=("$pkgname-x64-$pkgver.tar.gz::$_source64")
source_aarch64=("$pkgname-arm64-$pkgver.tar.gz::$_sourceaarch64")
sha256sums=('643427b6e04fc47cd7d514af2c2349948d3b45f536c434ba8682dcb1d4314736'
'446bfe50e5e1cb027415b264a090cede1468dfbdc8b55e5ce14e9289b6134119'
'1dc6d6592fa08c44fb6a4efa0dc238e9e78352bb799ef2e1a92358b390868064'
'cdfb3a2ef3bf6b0dd9d17c7a279735db23bc54420f34bfd43606830557a922fe'
'fe0b92bb9bfa32010fe304da5427d9ca106e968bad0e62a5a569e3323a57443f'
'a3bd74aaf19123cc550cde71b5870d7dacf9883b7e7a85c90e03b508426c16c4'
'0e3a6c7cf7fa9eee7dcde7356e90ffa1cb312bffc0813a0bf123d2f918dc369d'
'739da3fca95d07fc3076522acc6b6c1b12b988047bd2fb3c87e37231e49f2e1f')
sha256sums_x86_64=('f3334dafdb771cc22ecd2e45840b27c711bb5317df1cda4302e94538fd8a5f14')
sha256sums_aarch64=('9429f549dfe06d4c17a968ccc067535bb6383ed0409d3b02e569790eb73378c2')
install=citrix-client.install
package() {
cd "${srcdir}"
ICAROOT=/opt/Citrix/ICAClient
if [[ $CARCH == 'x86_64' ]]
then
ICADIR="$srcdir/linuxx64/linuxx64.cor"
PKGINF="Ver.core.linuxx64"
elif [[ $CARCH == 'aarch64' ]]
then
ICADIR="$srcdir/linuxarm64/linuxarm64.cor"
PKGINF="Ver.core.linuxarm64"
fi
mkdir -p "${pkgdir}$ICAROOT"
cd "$ICADIR"
install -m755 -t "${pkgdir}$ICAROOT" \
*.so *.DLL \
adapter AuthManagerDaemon icasessionmgr NativeMessagingHost \
PrimaryAuthManager ServiceRecord selfservice UtilDaemon wfica
# copy common directories
cp -rt "${pkgdir}$ICAROOT" aml clsync config gtk help icons keyboard keystore lib nls site usb util
# copy x86_64 only directories
if [[ $CARCH == 'x86_64' ]]
then
cp -rt "${pkgdir}$ICAROOT" bcr ceb
fi
# fix permissions
chmod -R a+r "${pkgdir}$ICAROOT"
rm "${pkgdir}$ICAROOT/lib/UIDialogLibWebKit.so"
# Install License
install -m644 -D -t "${pkgdir}$ICAROOT" nls/en.UTF-8/eula.txt
install -Dm644 nls/en.UTF-8/eula.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# Install Version
install -m644 -D "${srcdir}/PkgId" "${pkgdir}$ICAROOT/pkginf/$PKGINF"
# create /config/.server to enable user customization using ~/.ICACLient/ overrides. Thanks Tomek
touch "${pkgdir}$ICAROOT/config/.server"
# Install wrapper script
install -m755 "${srcdir}/wfica.sh" "${pkgdir}$ICAROOT/wfica.sh"
ln -s gst_play1.0 "${pkgdir}/$ICAROOT/util/gst_play"
ln -s gst_read1.0 "${pkgdir}/$ICAROOT/util/gst_read"
# Dirty Hack
# wfica expects {module,wfclient,apssrv}.ini in $ICAROOT/config
# sadly these configs differ slightly by locale
lang=${LANG%%_*}
lang=${lang:-'en'}
[[ -d "${pkgdir}/$ICAROOT/nls/$lang" ]] || lang='en'
cp "${pkgdir}$ICAROOT/nls/$lang/module.ini" "${pkgdir}/$ICAROOT/config/"
cp "${pkgdir}$ICAROOT/nls/$lang/appsrv.template" "${pkgdir}/$ICAROOT/config/appsrv.ini"
cp "${pkgdir}$ICAROOT/nls/$lang/wfclient.template" "${pkgdir}/$ICAROOT/config/wfclient.ini"
sed -i \
-e 's/Ceip=Enable/Ceip=Disable/' \
-e 's/DisableHeartBeat=False/DisableHeartBeat=True/' \
"${pkgdir}$ICAROOT/config/module.ini"
cd "${srcdir}"
# install freedesktop.org files
install -Dm644 -t "$pkgdir"/usr/share/applications citrix-{configmgr,conncenter,workspace,wfica}.desktop
# install scripts
install -Dm755 -t "${pkgdir}$ICAROOT" wfica.sh wfica_assoc.sh
chmod +x "${pkgdir}$ICAROOT"/util/{ctx_app_bind,ctxcwalogd,icalicense.sh,setlog}
if [ $CARCH != 'aarch64' ]
then
chmod +x "${pkgdir}$ICAROOT"/util/HdxRtcEngine
fi
# install systemd unit files
install -Dm755 -t "${pkgdir}/usr/lib/systemd/system" "ctxcwalogd.service"
install -Dm755 -t "${pkgdir}/usr/lib/systemd/system" "ctxusbd.service"
}
|