blob: 0a34af3020aec2ece97b6441d39441825cb76f45 (
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
|
# Maintainer: lihe07 <umikahoshi at gmail dot com>
_pkgname=wechat-universal
pkgname=${_pkgname}-privileged
pkgver=4.0.0.23
pkgrel=1
pkgdesc="WeChat (Universal) with full access to the system"
arch=('x86_64' 'aarch64' 'loong64')
url="https://weixin.qq.com"
license=('proprietary' 'GPLv3')
provides=("${_pkgname}")
conflicts=("${_pkgname}"{,-bwrap})
depends=(
'alsa-lib'
'at-spi2-core'
'bubblewrap'
'flatpak-xdg-utils'
'libxcomposite'
'libxkbcommon-x11'
'libxrandr'
'mesa'
'nss'
'pango'
'xcb-util-image'
'xcb-util-keysyms'
'xcb-util-renderutil'
'xcb-util-wm'
'xdg-desktop-portal'
'xdg-user-dirs'
)
options=(!strip !debug emptydirs) # emptydirs for /usr/lib/license (see below)
_lib_uos='libuosdevicea'
source=(
"${_pkgname}.sh"
"${_pkgname}.desktop"
"${_lib_uos}".{c,Makefile}
)
_deb_stem="com.tencent.wechat_${pkgver}"
_deb_url_common="https://home-store-packages.uniontech.com/appstore/pool/appstore/c/com.tencent.wechat/${_deb_stem}"
source_x86_64=("${_deb_url_common}_amd64.deb")
source_aarch64=("${_deb_url_common}_arm64.deb")
source_loong64=("${_deb_url_common}_loongarch64.deb")
noextract=("${_deb_stem}"_{amd,arm,loongarch}64.deb)
sha256sums=(
'201466cd8b430f2991c32c508e033ab35cc53bf9cb1c750ebd79904803671d25'
'b783b7b0035efb5a0fcb4ddba6446f645a4911e4a9f71475e408a5c87ef04c30'
'fc3ce9eb8dee3ee149233ebdb844d3733b2b2a8664422d068cf39b7fb08138f8'
'f05f6f907898740dab9833c1762e56dbc521db3c612dd86d2e2cd4b81eb257bf'
)
sha256sums_x86_64=(
'437826a3cdef25d763f69e29ae10479b5e8b2ba080b56de5b5de63e05a8f7203'
)
sha256sums_aarch64=(
'a08b0f6c4930d7ecd7a73bd701511d9b29178dbe73ba51c04f09eb9e1b3190f7'
)
sha256sums_loong64=(
'82b8fdc861d965a836d25e6cf0881c927bd4bf3d1f04791a9202ac39efab8662'
)
_debian_arch_from_carch() {
case "${CARCH}" in
'x86_64')
echo 'amd64'
;;
'aarch64')
echo 'arm64'
;;
'loong64')
echo 'loongarch64'
;;
*)
echo 'unknown'
;;
esac
}
prepare() {
echo 'Extracting data.tar from deb...'
bsdtar -xOf "${_deb_stem}_$(_debian_arch_from_carch).deb" ./data.tar.xz |
xz -cd >data.tar
echo 'Preparing to compile libuosdevica.so...'
mkdir -p "${_lib_uos}"
mv "${_lib_uos}"{.c,/}
mv "${_lib_uos}"{.Makefile,/Makefile}
}
build() {
cd "${_lib_uos}"
echo "Building ${_lib_uos}.so stub by Zephyr Lykos..."
make
}
package() {
echo 'Popupating pkgdir with data from wechat-universal deb file...'
tar -C "${pkgdir}" --no-same-owner -xf data.tar ./opt/apps/com.tencent.wechat
mv "${pkgdir}"/opt/{apps/com.tencent.wechat/files,"${_pkgname}"}
echo 'Installing icons...'
for res in 16 32 48 64 128 256; do
install -Dm644 \
"${pkgdir}/opt/apps/com.tencent.wechat/entries/icons/hicolor/${res}x${res}/apps/com.tencent.wechat.png" \
"${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/${_pkgname}.png"
done
rm -rf "${pkgdir}"/opt/apps
echo 'Fixing licenses...'
local _wechat_root="${pkgdir}/usr/lib/${_pkgname}"
install -dm755 "${pkgdir}"/usr/lib/license
install -Dm755 {"${_lib_uos}","${_wechat_root}"/usr/lib/license}"/${_lib_uos}.so"
echo 'DISTRIB_ID=uos' |
install -Dm755 /dev/stdin "${_wechat_root}"/etc/lsb-release
echo 'Installing scripts...'
mkdir -p "${pkgdir}"/usr/bin
install -Dm755 wechat-universal.sh "${pkgdir}"/usr/bin/"${_pkgname}"
echo 'Installing desktop files...'
install -Dm644 "${_pkgname}.desktop" "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
}
|