mirror of
https://github.com/gentoo-mirror/gentoo-zh.git
synced 2025-04-17 23:18:49 -04:00
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:
parent
2501b03f9d
commit
5467eb9b3b
1
media-libs/openslide/Manifest
Normal file
1
media-libs/openslide/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST openslide-20230904.tar.gz 215664 BLAKE2B 6498373e6d971ac6ff44cb886372cf1785fe1a86d3b34d205324142e8169331209b3bc7b691008f9a2fbe21819a38747a2dc5e51f32d17cec5a76a7bebad7400 SHA512 58f28f5bf2e99015e6cd0385e57b41247a43c2b9b85ec0a093f586f287a676f6662a1d69b364e3000dbfb122a2e047e4bd80e51d962e465efb659997bd0a4ab4
|
11
media-libs/openslide/metadata.xml
Normal file
11
media-libs/openslide/metadata.xml
Normal 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>
|
24
media-libs/openslide/openslide-20230904.ebuild
Normal file
24
media-libs/openslide/openslide-20230904.ebuild
Normal 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}"
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 "$@"
|
||||
|
@ -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
|
@ -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
|
150
net-im/tencent-qq/files/start.sh
Normal file
150
net-im/tencent-qq/files/start.sh
Normal 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
|
@ -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>
|
||||
|
@ -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
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user