net-im/tencent-qq: add 3.2.7_p240403, drop 3.2.6_p22355
[gentoo-zh.git] / net-im / tencent-qq / tencent-qq-3.2.7_p240403.ebuild
blobed7131ec6d18eee5359888a4f4d75f997140e53f
1 # Copyright 2019-2023 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
6 inherit unpacker xdg
8 MY_PV=${PV/_p/_}
9 DESCRIPTION="The new version of the official linux-qq"
10 HOMEPAGE="https://im.qq.com/linuxqq/index.shtml"
11 LICENSE="Tencent"
12 RESTRICT="strip"
14 _I="f9ad4a03"
16 _LiteLoader_PV="1.1.1"
18 SRC_URI="
19         amd64? ( https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_${MY_PV}_amd64_01.deb )
20         arm64? ( https://dldir1.qq.com/qqfile/qq/QQNT/Linux/QQ_${MY_PV}_arm64_01.deb )
21         liteloader? (
22                 https://github.com/LiteLoaderQQNT/LiteLoaderQQNT/releases/download/${_LiteLoader_PV}/LiteLoaderQQNT.zip \
23                 -> LiteLoaderQQNT-${_LiteLoader_PV}.zip
24         )
27 SLOT="0"
28 KEYWORDS="-* ~amd64 ~arm64"
30 IUSE="+bwrap system-vips gnome appindicator liteloader"
31 RDEPEND="
32         x11-libs/gtk+:3
33         x11-libs/libnotify
34         dev-libs/nss
35         appindicator? ( dev-libs/libayatana-appindicator )
36         x11-libs/libXScrnSaver
37         x11-libs/libXtst
38         x11-misc/xdg-utils
39         app-accessibility/at-spi2-core:2
40         app-crypt/libsecret
41         virtual/krb5
42         sys-apps/keyutils
43         system-vips? (
44                 dev-libs/glib
45                 >=media-libs/vips-8.14.2[-pdf]
46         )
47         bwrap? (
48                 sys-apps/bubblewrap
49                 x11-misc/snapd-xdg-open
50                 x11-misc/flatpak-xdg-utils
51         )
52         gnome? ( dev-libs/gjs )
53         media-libs/openslide
55 BDEPEND="liteloader? ( app-arch/unzip )"
57 S=${WORKDIR}
59 src_unpack() {
60         :
61         if use liteloader; then
62                 unpack LiteLoaderQQNT-${_LiteLoader_PV}.zip
63         fi
66 src_install() {
67         dodir /
68         cd "${D}" || die
69         unpacker "${DISTDIR}/QQ_${MY_PV}_${ARCH}_01.deb"
71         if use system-vips; then
72                 rm -r "${D}"/opt/QQ/resources/app/sharp-lib || die
73         fi
75         if use bwrap; then
76                 exeinto /opt/QQ
77                 doexe "${FILESDIR}"/start.sh
78                 sed -i 's!/opt/QQ/qq!/opt/QQ/start.sh!' "${D}"/usr/share/applications/qq.desktop || die
79                 insinto /opt/QQ/workarounds
80                 doins "${FILESDIR}"/{config.json,xdg-open.sh,vercmp.sh}
81                 fperms +x /opt/QQ/workarounds/{xdg-open.sh,vercmp.sh}
83                 local _base_pkgver=${PV/_p/-} || die
84                 local _update_pkgver=${_base_pkgver} || die
85                 local cur_ver=${_update_pkgver:-${base_ver}} || die
86                 local build_ver=${cur_ver#*-} || die
88                 sed -i "s|__BASE_VER__|${base_ver}|g;s|__CURRENT_VER__|${cur_ver}|g;s|__BUILD_VER__|${build_ver}|g" \
89                         "${D}"/opt/QQ/workarounds/config.json \
90                         "${D}"/opt/QQ/start.sh || die
92         else
93                 sed -i 's!/opt/QQ/qq!/usr/bin/qq!' "${D}"/usr/share/applications/qq.desktop || die
94         fi
96         if use bwrap; then
97                 dosym -r /opt/QQ/start.sh /usr/bin/qq
98         elif use system-vips; then
99                 newbin "$FILESDIR/qq.sh" qq
100         else
101                 dosym -r /opt/QQ/qq /usr/bin/qq
102         fi
104         # https://bugs.gentoo.org/898912
105         if use appindicator; then
106                 dosym ../../usr/lib64/libayatana-appindicator3.so /opt/QQ/libappindicator3.so
107         fi
109         sed -i 's!/usr/share/icons/hicolor/512x512/apps/qq.png!qq!' "${D}"/usr/share/applications/qq.desktop || die
110         gzip -d "${D}"/usr/share/doc/linuxqq/changelog.gz || die
111         dodoc "${D}"/usr/share/doc/linuxqq/changelog
112         rm -rf "${D}"/usr/share/doc/linuxqq/ || die
114         if use liteloader; then
115                 insinto /opt/LiteLoader
116                 doins -r "${WORKDIR}"/*
117                 dosym -r /opt/LiteLoader/src/preload.js /opt/QQ/resources/app/application/preload.js
118                 sed -i "1 i require(\"/opt/LiteLoader\");" "${D}"/opt/QQ/resources/app/app_launcher/index.js || die
119         fi
122 pkg_postinst() {
123         xdg_pkg_postinst
124         if use bwrap; then
125                 elog "If you want to download files in QQ"
126                 elog "Please set the QQ download path to ~/Download"
127         fi