net-im/tencent-qq: add 3.2.0_p16605, drop 3.2.0_p16449

Signed-off-by: ston <ston.jia@qq.com>
This commit is contained in:
ston 2023-09-04 18:57:07 +08:00 committed by 梁永祥
parent 2501b03f9d
commit 5467eb9b3b
11 changed files with 216 additions and 258 deletions

View File

@ -0,0 +1 @@
DIST openslide-20230904.tar.gz 215664 BLAKE2B 6498373e6d971ac6ff44cb886372cf1785fe1a86d3b34d205324142e8169331209b3bc7b691008f9a2fbe21819a38747a2dc5e51f32d17cec5a76a7bebad7400 SHA512 58f28f5bf2e99015e6cd0385e57b41247a43c2b9b85ec0a093f586f287a676f6662a1d69b364e3000dbfb122a2e047e4bd80e51d962e465efb659997bd0a4ab4

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<name>ston</name>
<email>ston.jia@qq.com</email>
</maintainer>
<upstream>
<remote-id type="github">openslide/openslide</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,24 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="C library with simple interface to read virtual slides"
HOMEPAGE="http://openslide.org/"
EGIT_COMMIT="239d7bd9f603be159e6558464f311b5b243d12b1"
SRC_URI="https://github.com/openslide/openslide/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
SLOT="0"
LICENSE="LGPL-2.1"
S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
DEPEND="
x11-libs/cairo
x11-libs/gdk-pixbuf
media-libs/openjpeg:2
sys-libs/zlib
"
RDEPEND="${DEPEND}"

View File

@ -1,2 +1,2 @@
DIST linuxqq_3.2.0-16449_amd64.deb 127966924 BLAKE2B 1dd3d171ae7265b2cd3c322345cbdad05d905cac2e9bf67e12090c9392c18ad170004ed5df8211727fff33c05dec7048e533e9b64d5ae9c6a0a56b4a403025dd SHA512 af71f6ecf9a1a85fe3a6349b7f0ec82f8043739f04174856551e967854210cf2c84c146e10c588a4695ca42a446ceefa6750dabc432b0b84718284a86354bdcd
DIST linuxqq_3.2.0-16449_arm64.deb 132686964 BLAKE2B 1724184d45e30d2a9bf0c0c01efc5fcffd8e4866374b0e13062fc70597482fa0ba468075a3a0c4c037f133b1371de11b450acd7b7e3a60786bcfaad610d2d272 SHA512 e4ddd3c99d33f26be2f4b1c39b0b5c3280d9afebd21c22e4c5bdf09910bff140bc0b83f519c6f4f815601252c088cddcff118047c411241c4a9ed276f00bb1a7
DIST linuxqq_3.2.0-16605_amd64.deb 127919546 BLAKE2B 8454168693159d28a47c618c2fd33564350c42e0d7ef0e1c5d754f8bc585b0960b7aae7f84b2c9b783aef90b4afa1dc48bd32577319116499b1f514f683677a6 SHA512 d1668f9ef06f064203265cf6d27724d6a7b5f8ed171b8d3ab4c11019f923e6455115f10decfcde9586104bf811193b05c8ff57265fb7d7ee3966106c09c7e035
DIST linuxqq_3.2.0-16605_arm64.deb 132727692 BLAKE2B 994d34c31bf90e7a917801a46360477af1ef76d987eff9d67ed68394d37ec0bd8335cb9e4ecc3685327f1c1a8556778022f91929a18069fae54d9e3b51937738 SHA512 eb18de0795b5c1eb43d5cc30883258b4e83332a5be1f2761152bb1571399dea1a499b3fd100f2a5c2a4fba3af2e241a1962a4c4c89841dfbd0c739bec41358e9

View File

@ -1,7 +1,8 @@
{
"baseVersion": "3.1.0-9572",
"currentVersion": "3.1.0-9572",
"buildVersion": "9572",
"baseVersion": "3.2.0_16605",
"currentVersion": "3.2.0_16605",
"previousVersion": "",
"buildVersion": "16605",
"skippedVersions": [],
"inUsePkg": "",
"hasRan": false

View File

@ -4,6 +4,4 @@ if [ -d ~/.config/QQ/versions ]; then
find ~/.config/QQ/versions -name sharp-lib -type d -exec rm -r {} \; 2>/dev/null
fi
export LD_PRELOAD=/usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6
exec /opt/QQ/qq "$@"

View File

@ -1,115 +0,0 @@
#!/bin/bash
# https://aur.archlinux.org/cgit/aur.git/tree/start.sh?h=linuxqq-nt-bwrap
export LD_PRELOAD=/usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6
USER_RUN_DIR="/run/user/$(id -u)"
XAUTHORITY="${XAUTHORITY:-$HOME/.Xauthority}"
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
FONTCONFIG_HOME="${XDG_CONFIG_HOME}/fontconfig"
QQ_APP_DIR="${XDG_CONFIG_HOME}/QQ"
if [ -z "${QQ_DOWNLOAD_DIR}" ]; then
if [ -z "${XDG_DOWNLOAD_DIR}" ]; then
XDG_DOWNLOAD_DIR="$(xdg-user-dir DOWNLOAD)"
fi
QQ_DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
fi
set -euo pipefail
flags_file="${XDG_CONFIG_HOME}/qq-electron-flags.conf"
declare -a flags
if [[ -f "${flags_file}" ]]; then
mapfile -t <"${flags_file}"
fi
for line in "${MAPFILE[@]}"; do
if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then
flags+=("${line}")
fi
done
QQ_HOTUPDATE_DIR="${QQ_APP_DIR}/versions"
QQ_HOTUPDATE_VERSION="3.1.0-9572"
QQ_PREVIOUS_VERSIONS=("2.0.1-429" "2.0.1-453" "2.0.2-510" "2.0.3-543" "3.0.0-565" "3.0.0-571" "3.1.0-9332")
if [ "${QQ_DOWNLOAD_DIR%*/}" == "${HOME}" ]; then
QQ_DOWNLOAD_DIR="${HOME}/Downloads"
if [ ! -d "${QQ_DOWNLOAD_DIR}" ]; then mkdir -p "${QQ_DOWNLOAD_DIR}"; fi
fi
if [ ! -d "${QQ_APP_DIR}" ]; then mkdir -p "${QQ_APP_DIR}"; fi
if [ ! -d "${QQ_APP_DIR}/versions" ]; then mkdir -p "${QQ_APP_DIR}/versions"; fi
if [ ! -d "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}" ]; then ln -sfd "/opt/QQ/resources/app" "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"; fi
rm -rf "${QQ_HOTUPDATE_DIR}/"**".zip"
# 处理 config.json
if [ ! -f "${QQ_HOTUPDATE_DIR}/config.json" ]; then
cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
else
for VERSION in ${QQ_PREVIOUS_VERSIONS[@]}; do
if [ -e "${QQ_HOTUPDATE_DIR}/${VERSION}" ]; then
rm -rf "${QQ_HOTUPDATE_DIR}/${VERSION}"
fi
if [ ! -z "$(grep -Rn "${VERSION}" "${QQ_HOTUPDATE_DIR}/config.json")" ]; then
cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
break
fi
done
fi
if [ -d ~/.config/QQ/versions ]; then
find ~/.config/QQ/versions -name sharp-lib -type d -exec rm -r {} \; 2>/dev/null
fi
bwrap --new-session --cap-drop ALL --unshare-user-try --unshare-pid --unshare-cgroup-try \
--symlink usr/lib /lib \
--symlink usr/lib64 /lib64 \
--symlink usr/bin /bin \
--ro-bind /etc/ld.so.cache /etc/ld.so.cache \
--ro-bind /usr /usr \
--ro-bind /opt /opt \
--ro-bind /opt/QQ/workarounds/xdg-open.sh /usr/bin/xdg-open \
--ro-bind /usr/lib/snapd-xdg-open/xdg-open /snapd-xdg-open \
--ro-bind /usr/lib/flatpak-xdg-utils/xdg-open /flatpak-xdg-open \
--dev-bind /dev /dev \
--ro-bind /sys /sys \
--ro-bind /etc/passwd /etc/passwd \
--ro-bind /etc/resolv.conf /etc/resolv.conf \
--ro-bind /etc/localtime /etc/localtime \
--proc /proc \
--dev-bind /run/dbus /run/dbus \
--bind "${USER_RUN_DIR}" "${USER_RUN_DIR}" \
--ro-bind-try /etc/fonts /etc/fonts \
--dev-bind /tmp /tmp \
--bind-try "${HOME}/.pki" "${HOME}/.pki" \
--ro-bind-try "${XAUTHORITY}" "${XAUTHORITY}" \
--bind-try "${QQ_DOWNLOAD_DIR}" "${QQ_DOWNLOAD_DIR}" \
--bind "${QQ_APP_DIR}" "${QQ_APP_DIR}" \
--ro-bind-try "${FONTCONFIG_HOME}" "${FONTCONFIG_HOME}" \
--ro-bind-try "${HOME}/.icons" "${HOME}/.icons" \
--ro-bind-try "${HOME}/local/share/.icons" "${HOME}/local/share/.icons" \
--ro-bind-try "${XDG_CONFIG_HOME}/gtk-3.0" "${XDG_CONFIG_HOME}/gtk-3.0" \
--setenv IBUS_USE_PORTAL 1 \
/opt/QQ/qq "${flags[@]}" "$@"
# 移除无用崩溃报告和日志
# 如果需要向腾讯反馈 bug请注释掉如下几行
if [ -d "${QQ_APP_DIR}/crash_files" ]; then
rm -rf "${QQ_APP_DIR}/crash_files"
fi
if [ -d "${QQ_APP_DIR}/log" ]; then
rm -rf "${QQ_APP_DIR}/log"
fi
for nt_qq_userdata in "${QQ_APP_DIR}/nt_qq_"*; do
if [ -d "${nt_qq_userdata}/log" ]; then
rm -rf "${nt_qq_userdata}/log"
fi
if [ -d "${nt_qq_userdata}/log-cache" ]; then
rm -rf "${nt_qq_userdata}/log-cache"
fi
done
if [ -d "${QQ_APP_DIR}/Crashpad" ]; then
rm -rf "${QQ_APP_DIR}/Crashpad"
fi

View File

@ -1,115 +0,0 @@
#!/bin/bash
# https://aur.archlinux.org/cgit/aur.git/tree/start.sh?h=linuxqq-nt-bwrap
export LD_PRELOAD=/usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6
USER_RUN_DIR="/run/user/$(id -u)"
XAUTHORITY="${XAUTHORITY:-$HOME/.Xauthority}"
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
FONTCONFIG_HOME="${XDG_CONFIG_HOME}/fontconfig"
QQ_APP_DIR="${XDG_CONFIG_HOME}/QQ"
if [ -z "${QQ_DOWNLOAD_DIR}" ]; then
if [ -z "${XDG_DOWNLOAD_DIR}" ]; then
XDG_DOWNLOAD_DIR="$(xdg-user-dir DOWNLOAD)"
fi
QQ_DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
fi
set -euo pipefail
flags_file="${XDG_CONFIG_HOME}/qq-electron-flags.conf"
declare -a flags
if [[ -f "${flags_file}" ]]; then
mapfile -t <"${flags_file}"
fi
for line in "${MAPFILE[@]}"; do
if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then
flags+=("${line}")
fi
done
QQ_HOTUPDATE_DIR="${QQ_APP_DIR}/versions"
QQ_HOTUPDATE_VERSION="3.1.0-9572"
QQ_PREVIOUS_VERSIONS=("2.0.1-429" "2.0.1-453" "2.0.2-510" "2.0.3-543" "3.0.0-565" "3.0.0-571" "3.1.0-9332")
if [ "${QQ_DOWNLOAD_DIR%*/}" == "${HOME}" ]; then
QQ_DOWNLOAD_DIR="${HOME}/Downloads"
if [ ! -d "${QQ_DOWNLOAD_DIR}" ]; then mkdir -p "${QQ_DOWNLOAD_DIR}"; fi
fi
if [ ! -d "${QQ_APP_DIR}" ]; then mkdir -p "${QQ_APP_DIR}"; fi
if [ ! -d "${QQ_APP_DIR}/versions" ]; then mkdir -p "${QQ_APP_DIR}/versions"; fi
if [ ! -d "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}" ]; then ln -sfd "/opt/QQ/resources/app" "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"; fi
rm -rf "${QQ_HOTUPDATE_DIR}/"**".zip"
# 处理 config.json
if [ ! -f "${QQ_HOTUPDATE_DIR}/config.json" ]; then
cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
else
for VERSION in ${QQ_PREVIOUS_VERSIONS[@]}; do
if [ -e "${QQ_HOTUPDATE_DIR}/${VERSION}" ]; then
rm -rf "${QQ_HOTUPDATE_DIR}/${VERSION}"
fi
if [ ! -z "$(grep -Rn "${VERSION}" "${QQ_HOTUPDATE_DIR}/config.json")" ]; then
cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
break
fi
done
fi
if [ -d ~/.config/QQ/versions ]; then
find ~/.config/QQ/versions -name sharp-lib -type d -exec rm -r {} \; 2>/dev/null
fi
bwrap --new-session --cap-drop ALL --unshare-user-try --unshare-pid --unshare-cgroup-try \
--ro-bind /lib /lib \
--ro-bind /lib64 /lib64 \
--ro-bind /bin /bin \
--ro-bind /etc/ld.so.cache /etc/ld.so.cache \
--ro-bind /usr /usr \
--ro-bind /opt /opt \
--ro-bind /opt/QQ/workarounds/xdg-open.sh /usr/bin/xdg-open \
--ro-bind /usr/lib/snapd-xdg-open/xdg-open /snapd-xdg-open \
--ro-bind /usr/lib/flatpak-xdg-utils/xdg-open /flatpak-xdg-open \
--dev-bind /dev /dev \
--ro-bind /sys /sys \
--ro-bind /etc/passwd /etc/passwd \
--ro-bind /etc/resolv.conf /etc/resolv.conf \
--ro-bind /etc/localtime /etc/localtime \
--proc /proc \
--dev-bind /run/dbus /run/dbus \
--bind "${USER_RUN_DIR}" "${USER_RUN_DIR}" \
--ro-bind-try /etc/fonts /etc/fonts \
--dev-bind /tmp /tmp \
--bind-try "${HOME}/.pki" "${HOME}/.pki" \
--ro-bind-try "${XAUTHORITY}" "${XAUTHORITY}" \
--bind-try "${QQ_DOWNLOAD_DIR}" "${QQ_DOWNLOAD_DIR}" \
--bind "${QQ_APP_DIR}" "${QQ_APP_DIR}" \
--ro-bind-try "${FONTCONFIG_HOME}" "${FONTCONFIG_HOME}" \
--ro-bind-try "${HOME}/.icons" "${HOME}/.icons" \
--ro-bind-try "${HOME}/local/share/.icons" "${HOME}/local/share/.icons" \
--ro-bind-try "${XDG_CONFIG_HOME}/gtk-3.0" "${XDG_CONFIG_HOME}/gtk-3.0" \
--setenv IBUS_USE_PORTAL 1 \
/opt/QQ/qq "${flags[@]}" "$@" /opt/QQ/resources/app
# 移除无用崩溃报告和日志
# 如果需要向腾讯反馈 bug请注释掉如下几行
if [ -d "${QQ_APP_DIR}/crash_files" ]; then
rm -rf "${QQ_APP_DIR}/crash_files"
fi
if [ -d "${QQ_APP_DIR}/log" ]; then
rm -rf "${QQ_APP_DIR}/log"
fi
for nt_qq_userdata in "${QQ_APP_DIR}/nt_qq_"*; do
if [ -d "${nt_qq_userdata}/log" ]; then
rm -rf "${nt_qq_userdata}/log"
fi
if [ -d "${nt_qq_userdata}/log-cache" ]; then
rm -rf "${nt_qq_userdata}/log-cache"
fi
done
if [ -d "${QQ_APP_DIR}/Crashpad" ]; then
rm -rf "${QQ_APP_DIR}/Crashpad"
fi

View File

@ -0,0 +1,150 @@
#!/bin/bash
function command_exists() {
local command="$1"
command -v "${command}" >/dev/null 2>&1
}
function show_error_dialog() {
title="linuxqq-nt-bwrap"
if command_exists kdialog; then
kdialog --error "$1" --title "$title" --icon qq
elif command_exists zenity; then
zenity --error --title "$title" --icon-name qq --text "$1"
else
all_off="$(tput sgr0)"
bold="${all_off}$(tput bold)"
blue="${bold}$(tput setaf 4)"
yellow="${bold}$(tput setaf 3)"
printf "${blue}==>${yellow} ${bold} $1${all_off}\n"
fi
}
if [ ! -e "/etc/localtime" ]; then
show_error_dialog "/etc/localtime 未找到。\n请先设置系统时区。"
exit 1
fi
USER_RUN_DIR="/run/user/$(id -u)"
XAUTHORITY="${XAUTHORITY:-$HOME/.Xauthority}"
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
FONTCONFIG_HOME="${XDG_CONFIG_HOME}/fontconfig"
QQ_APP_DIR="${XDG_CONFIG_HOME}/QQ"
if [ -z "${QQ_DOWNLOAD_DIR}" ]; then
if [ -z "${XDG_DOWNLOAD_DIR}" ]; then
XDG_DOWNLOAD_DIR="$(xdg-user-dir DOWNLOAD)"
fi
QQ_DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
fi
# 从 flags 文件中加载参数
set -euo pipefail
flags_file="${XDG_CONFIG_HOME}/qq-flags.conf"
declare -a flags
if [[ -f "${flags_file}" ]]; then
mapfile -t < "${flags_file}"
fi
for line in "${MAPFILE[@]}"; do
if [[ ! "${line}" =~ ^[[:space:]]*#.* ]]; then
flags+=("${line}")
fi
done
QQ_HOTUPDATE_DIR="${QQ_APP_DIR}/versions"
QQ_HOTUPDATE_VERSION="3.2.0-16449"
QQ_PREVIOUS_VERSIONS=("2.0.1-429" "2.0.1-453" "2.0.2-510" "2.0.3-543" "3.0.0-565" "3.0.0-571" "3.1.0-9332" "3.1.0-9572" "3.1.1-11223" "3.1.2-12912" "3.1.2-13107")
if [ "${QQ_DOWNLOAD_DIR%*/}" == "${HOME}" ]; then
QQ_DOWNLOAD_DIR="${HOME}/Downloads"
# if [ ! -d "${QQ_DOWNLOAD_DIR}" ]; then mkdir -p "${QQ_DOWNLOAD_DIR}"; fi
# 还是不自动建立为好
fi
if [ ! -d "${QQ_APP_DIR}" ]; then mkdir -p "${QQ_APP_DIR}"; fi
if [ ! -d "${QQ_HOTUPDATE_DIR}" ]; then mkdir -p "${QQ_HOTUPDATE_DIR}"; fi
if [ ! -L "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}" ]; then
# 删除 QQ 自动下载的热更新包,因为其中可能包含 libvips 等有问题的库
rm -rf "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"
fi
if [ ! -d "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}" ]; then
# 将本包内的 app 链接到热更新文件夹下
ln -sfd "/opt/QQ/resources/app" "${QQ_HOTUPDATE_DIR}/${QQ_HOTUPDATE_VERSION}"
fi
rm -rf "${QQ_HOTUPDATE_DIR}/"**".zip"
# 处理 config.json
if [ ! -f "${QQ_HOTUPDATE_DIR}/config.json" ]; then
cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
else
for VERSION in ${QQ_PREVIOUS_VERSIONS[@]}; do
if [ -e "${QQ_HOTUPDATE_DIR}/${VERSION}" ]; then
rm -rf "${QQ_HOTUPDATE_DIR}/${VERSION}"
fi
if [ ! -z "$(grep -Rn "${VERSION}" "${QQ_HOTUPDATE_DIR}/config.json")" ]; then
cp "/opt/QQ/workarounds/config.json" "${QQ_HOTUPDATE_DIR}/config.json"
break
fi
done
fi
bwrap --new-session --cap-drop ALL --unshare-user-try --unshare-pid --unshare-cgroup-try \
--ro-bind /lib /lib \
--ro-bind /lib64 /lib64 \
--ro-bind /bin /bin \
--ro-bind /usr /usr \
--ro-bind /opt /opt \
--ro-bind /opt/QQ/workarounds/xdg-open.sh /usr/bin/xdg-open \
--ro-bind /usr/lib/snapd-xdg-open/xdg-open /snapd-xdg-open \
--ro-bind /usr/lib/flatpak-xdg-utils/xdg-open /flatpak-xdg-open \
--ro-bind /etc/machine-id /etc/machine-id \
--ro-bind /etc/ld.so.cache /etc/ld.so.cache \
--dev-bind /dev /dev \
--ro-bind /sys /sys \
--ro-bind /etc/passwd /etc/passwd \
--ro-bind /etc/nsswitch.conf /etc/nsswitch.conf \
--ro-bind-try /run/systemd/userdb /run/systemd/userdb \
--ro-bind /etc/resolv.conf /etc/resolv.conf \
--ro-bind /etc/localtime /etc/localtime \
--proc /proc \
--dev-bind /run/dbus /run/dbus \
--bind "${USER_RUN_DIR}" "${USER_RUN_DIR}" \
--ro-bind-try /etc/fonts /etc/fonts \
--dev-bind /tmp /tmp \
--bind-try "${HOME}/.pki" "${HOME}/.pki" \
--ro-bind-try "${XAUTHORITY}" "${XAUTHORITY}" \
--bind-try "${QQ_DOWNLOAD_DIR}" "${QQ_DOWNLOAD_DIR}" \
--bind "${QQ_APP_DIR}" "${QQ_APP_DIR}" \
--ro-bind-try "${FONTCONFIG_HOME}" "${FONTCONFIG_HOME}" \
--ro-bind-try "${HOME}/.icons" "${HOME}/.icons" \
--ro-bind-try "${HOME}/.local/share/.icons" "${HOME}/.local/share/.icons" \
--ro-bind-try "${XDG_CONFIG_HOME}/gtk-3.0" "${XDG_CONFIG_HOME}/gtk-3.0" \
--ro-bind /etc/nsswitch.conf /etc/nsswitch.conf \
--ro-bind /run/systemd/userdb/ /run/systemd/userdb/ \
--setenv IBUS_USE_PORTAL 1 \
--setenv QQNTIM_HOME "${QQ_APP_DIR}/QQNTim" \
--setenv LITELOADERQQNT_PROFILE "${QQ_APP_DIR}/LiteLoaderQQNT" \
/opt/QQ/qq "${flags[@]}" "$@"
# 移除无用崩溃报告和日志
# 如果需要向腾讯反馈 bug请注释掉如下几行
if [ -d "${QQ_APP_DIR}/crash_files" ]; then
rm -rf "${QQ_APP_DIR}/crash_files"
fi
if [ -d "${QQ_APP_DIR}/log" ]; then
rm -rf "${QQ_APP_DIR}/log"
fi
for nt_qq_userdata in "${QQ_APP_DIR}/nt_qq_"*; do
if [ -d "${nt_qq_userdata}/log" ]; then
rm -rf "${nt_qq_userdata}/log"
fi
if [ -d "${nt_qq_userdata}/log-cache" ]; then
rm -rf "${nt_qq_userdata}/log-cache"
fi
done
if [ -d "${QQ_APP_DIR}/Crashpad" ]; then
rm -rf "${QQ_APP_DIR}/Crashpad"
fi

View File

@ -20,5 +20,6 @@ pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<flag name="appindicator">Build in support for
notifications using the libindicate or libappindicator
plugin</flag>
<flag name="crash-fix">Use gcc-12 to prevent crash</flag>
</use>
</pkgmetadata>

View File

@ -3,16 +3,15 @@
EAPI=8
inherit desktop unpacker xdg
inherit unpacker xdg
MY_PV=${PV/_p/-}
DESCRIPTION="The new version of the official linux-qq"
HOMEPAGE="https://im.qq.com/linuxqq/index.shtml"
LICENSE="Tencent"
RESTRICT="strip"
_I="464d27bd"
_I="1776936e"
SRC_URI="
amd64? ( https://dldir1.qq.com/qqfile/qq/QQNT/$_I/linuxqq_${MY_PV}_amd64.deb )
@ -22,7 +21,7 @@ SRC_URI="
SLOT="0"
KEYWORDS="-* ~amd64 ~arm64"
IUSE="bwrap +system-vips split-usr gnome appindicator"
IUSE="bwrap +system-vips gnome appindicator crash-fix"
RDEPEND="
x11-libs/gtk+:3
x11-libs/libnotify
@ -35,7 +34,7 @@ RDEPEND="
app-crypt/libsecret
virtual/krb5
sys-apps/keyutils
sys-devel/gcc:12
crash-fix? ( sys-devel/gcc:12 )
system-vips? (
dev-libs/glib
>=media-libs/vips-8.14.2
@ -46,33 +45,33 @@ RDEPEND="
x11-misc/flatpak-xdg-utils
)
gnome? ( dev-libs/gjs )
media-libs/openslide
"
S=${WORKDIR}
src_unpack(){
:
}
src_install() {
insinto /opt
doins -r opt/*
dodir /
cd "${D}" || die
unpacker
if use system-vips; then
rm -r "${D}"/opt/QQ/resources/app/sharp-lib || die
fi
fperms +x /opt/QQ/{qq,chrome_crashpad_handler,chrome-sandbox,libEGL.so,libffmpeg.so,libGLESv2.so,libvk_swiftshader.so,libvulkan.so.1}
if use bwrap; then
exeinto /opt/QQ
if use split-usr; then
doexe "${FILESDIR}"/start-script/split-usr/start.sh
else
doexe "${FILESDIR}"/start-script/merge-usr/start.sh
fi
sed -i 's!/opt/QQ/qq!/opt/QQ/start.sh!' usr/share/applications/qq.desktop || die
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}
fperms +x /opt/QQ/workarounds/xdg-open.sh
else
sed -i 's!/opt/QQ/qq!/usr/bin/qq!' usr/share/applications/qq.desktop || die
sed -i 's!/opt/QQ/qq!/usr/bin/qq!' "${D}"/usr/share/applications/qq.desktop || die
fi
if use bwrap; then
@ -86,9 +85,12 @@ src_install() {
dosym ../../usr/lib64/libayatana-appindicator3.so /opt/QQ/libappindicator3.so
fi
sed -i 's!/usr/share/icons/hicolor/512x512/apps/qq.png!qq!' usr/share/applications/qq.desktop || die
domenu usr/share/applications/qq.desktop
doicon -s 512 usr/share/icons/hicolor/512x512/apps/qq.png
gzip -d usr/share/doc/linuxqq/changelog.gz || die
dodoc usr/share/doc/linuxqq/changelog
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 crash-fix ;then
sed -i '1 a export LD_PRELOAD=/usr/lib/gcc/x86_64-pc-linux-gnu/12/libstdc++.so.6' -i "${D}"/usr/bin/qq || die
fi
}