update: add local-overlay
This commit is contained in:
@@ -0,0 +1,156 @@
|
||||
# Copyright 2019-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit unpacker xdg
|
||||
|
||||
MY_PV=${PV/_p/_}
|
||||
_I="Linux"
|
||||
_ArchExt="_01"
|
||||
_QQDownSite="https://dldir1.qq.com/qqfile/qq/QQNT"
|
||||
_QQFileName="QQ"
|
||||
_QQFileSuffix=".deb"
|
||||
|
||||
_LiteLoader_PV="1.2.1"
|
||||
DESCRIPTION="The new version of the official linux-qq"
|
||||
HOMEPAGE="https://im.qq.com/linuxqq/index.shtml"
|
||||
|
||||
SRC_URI="
|
||||
amd64? ( ${_QQDownSite}/$_I/${_QQFileName}_${MY_PV}_amd64${_ArchExt}${_QQFileSuffix} )
|
||||
arm64? ( ${_QQDownSite}/$_I/${_QQFileName}_${MY_PV}_arm64${_ArchExt}${_QQFileSuffix} )
|
||||
loong? ( ${_QQDownSite}/$_I/${_QQFileName}_${MY_PV}_loongarch64${_ArchExt}${_QQFileSuffix} )
|
||||
liteloader? (
|
||||
https://github.com/LiteLoaderQQNT/LiteLoaderQQNT/releases/download/${_LiteLoader_PV}/LiteLoaderQQNT.zip \
|
||||
-> LiteLoaderQQNT-${_LiteLoader_PV}.zip
|
||||
)
|
||||
"
|
||||
S=${WORKDIR}
|
||||
LICENSE="Tencent"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~arm64"
|
||||
|
||||
IUSE="+bwrap system-vips gnome appindicator liteloader"
|
||||
|
||||
RESTRICT="strip mirror"
|
||||
|
||||
RDEPEND="
|
||||
x11-libs/gtk+:3
|
||||
x11-libs/libnotify
|
||||
dev-libs/nss
|
||||
appindicator? ( dev-libs/libayatana-appindicator )
|
||||
x11-libs/libXScrnSaver
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXtst
|
||||
x11-misc/xdg-utils
|
||||
app-accessibility/at-spi2-core:2
|
||||
app-crypt/libsecret
|
||||
virtual/krb5
|
||||
sys-apps/keyutils
|
||||
system-vips? (
|
||||
dev-libs/glib
|
||||
>=media-libs/vips-8.15.2[-pdf]
|
||||
)
|
||||
bwrap? (
|
||||
sys-apps/bubblewrap
|
||||
x11-misc/snapd-xdg-open
|
||||
x11-misc/flatpak-xdg-utils
|
||||
)
|
||||
gnome? ( dev-libs/gjs )
|
||||
media-libs/openslide
|
||||
loong? (
|
||||
virtual/loong-ow-compat
|
||||
)
|
||||
"
|
||||
BDEPEND="liteloader? ( app-arch/unzip )"
|
||||
|
||||
src_unpack() {
|
||||
:
|
||||
if use liteloader; then
|
||||
unpack LiteLoaderQQNT-${_LiteLoader_PV}.zip
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /
|
||||
cd "${D}" || die
|
||||
if [ "${ARCH}" = "loong" ]; then
|
||||
unpacker "${DISTDIR}/${_QQFileName}_${MY_PV}_loongarch64${_QQFileSuffix}"
|
||||
else
|
||||
unpacker "${DISTDIR}/${_QQFileName}_${MY_PV}_${ARCH}${_ArchExt}${_QQFileSuffix}"
|
||||
fi
|
||||
|
||||
if use system-vips; then
|
||||
rm -r "${D}"/opt/QQ/resources/app/sharp-lib || die
|
||||
fi
|
||||
|
||||
if use bwrap; then
|
||||
exeinto /opt/QQ
|
||||
doexe "${FILESDIR}"/start.sh
|
||||
sed -i 's!/opt/QQ/qq!/opt/QQ/start.sh!' "${D}"/usr/share/applications/qq.desktop || die
|
||||
insinto /opt/QQ/workarounds
|
||||
doins "${FILESDIR}"/{config.json,xdg-open.sh,vercmp.sh}
|
||||
fperms +x /opt/QQ/workarounds/{xdg-open.sh,vercmp.sh}
|
||||
|
||||
local _base_pkgver=${PV/_p/-} || die
|
||||
local _update_pkgver=${_base_pkgver} || die
|
||||
local cur_ver=${_update_pkgver:-${base_ver}} || die
|
||||
local build_ver=${cur_ver#*-} || die
|
||||
|
||||
sed -i "s|__BASE_VER__|${base_ver}|g;s|__CURRENT_VER__|${cur_ver}|g;s|__BUILD_VER__|${build_ver}|g" \
|
||||
"${D}"/opt/QQ/workarounds/config.json \
|
||||
"${D}"/opt/QQ/start.sh || die
|
||||
|
||||
else
|
||||
sed -i 's!/opt/QQ/qq!/usr/bin/qq!' "${D}"/usr/share/applications/qq.desktop || die
|
||||
fi
|
||||
|
||||
if use bwrap; then
|
||||
dosym -r /opt/QQ/start.sh /usr/bin/qq
|
||||
elif use system-vips; then
|
||||
newbin "$FILESDIR/qq.sh" qq
|
||||
else
|
||||
dosym -r /opt/QQ/qq /usr/bin/qq
|
||||
fi
|
||||
|
||||
# https://bugs.gentoo.org/898912
|
||||
if use appindicator; then
|
||||
dosym ../../usr/lib64/libayatana-appindicator3.so /opt/QQ/libappindicator3.so
|
||||
fi
|
||||
|
||||
sed -i 's!/usr/share/icons/hicolor/512x512/apps/qq.png!qq!' "${D}"/usr/share/applications/qq.desktop || die
|
||||
gzip -d "${D}"/usr/share/doc/linuxqq/changelog.gz || die
|
||||
dodoc "${D}"/usr/share/doc/linuxqq/changelog
|
||||
rm -rf "${D}"/usr/share/doc/linuxqq/ || die
|
||||
|
||||
if use liteloader; then
|
||||
insinto /opt/LiteLoader
|
||||
doins -r "${WORKDIR}"/*
|
||||
dosym -r /opt/LiteLoader/src/preload.js /opt/QQ/resources/app/application/preload.js
|
||||
sed -i "1 i require(\"/opt/LiteLoader\");" "${D}"/opt/QQ/resources/app/app_launcher/index.js || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
if use bwrap; then
|
||||
elog "-EN-----------------------------------------------------------------"
|
||||
elog "If you want to download files in QQ"
|
||||
elog "Please set the QQ download path to ~/Download"
|
||||
elog "If you have enabled LiteLoaderQQNT support, relevant plugins can be "
|
||||
elog "downloaded from https://liteloaderqqnt.github.io/, "
|
||||
elog "For instance, after downloading the 「轻量工具箱」 and unzipping it, "
|
||||
elog "download it to the directory ~/.config/QQ/LiteLoaderQQNT/plugins/lite_tools_v4/, "
|
||||
elog "and the changes will take effect after a restart."
|
||||
elog "--------------------------------------------------------------------"
|
||||
elog "-ZH-----------------------------------------------------------------"
|
||||
elog "如果要在 QQ 中下载文件,请先在「设置」->「存储管理」中把下载文件夹"
|
||||
elog "更改为系统的“下载”/“Downloads”文件夹。"
|
||||
elog "如果您启用了 LiteLoaderQQNT 支持,"
|
||||
elog "可以从 https://liteloaderqqnt.github.io/ 下载相关插件,"
|
||||
elog "例如:「轻量工具箱」下载后"
|
||||
elog "解压到 ~/.config/QQ/LiteLoaderQQNT/plugins/“lite_tools_v4”/ 目录下,重启后生效。"
|
||||
elog "--------------------------------------------------------------------"
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user