Initial simplex-desktop package based off deb package
This commit is contained in:
commit
2f90cfb176
442 changed files with 20288 additions and 0 deletions
1
net-im/dvm/Manifest
Normal file
1
net-im/dvm/Manifest
Normal file
|
|
@ -0,0 +1 @@
|
|||
DIST dvm 4300688 BLAKE2B 1be865394f661b183cabacf6e6b289ad31cc58bb0ec1b46f8933593eb26df033e302eabc6219650ca8c74cbb303db5821b8779d5d6e3c4d3c76c80e193ad810b SHA512 a8773e6e1e2c347808c466d665df1d43b67e1637db0386d3b192621c9349710436a0ed843e72ce4f62796e43bd1859ce517edac194b11ad457ebeb0449fad13c
|
||||
42
net-im/dvm/dvm-1.1.9.ebuild
Normal file
42
net-im/dvm/dvm-1.1.9.ebuild
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# Copyright 2023 TheK0tYaRa (thek0tyara.alod123@gmail.com)
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit
|
||||
|
||||
DESCRIPTION="dvm"
|
||||
HOMEPAGE="https://github.com/diced/dvm"
|
||||
|
||||
SRC_URI="${HOMEPAGE}/releases/download/${PV}/dvm"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="
|
||||
dev-libs/openssl-compat
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${P}"
|
||||
|
||||
src_unpack() {
|
||||
mkdir -p "${S}"
|
||||
cp "${DISTDIR}/dvm" "${S}/dvm"
|
||||
}
|
||||
|
||||
#src_prepare() {
|
||||
# default
|
||||
#}
|
||||
|
||||
src_compile() {
|
||||
cd "${S}"
|
||||
chmod +x dvm
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin "${S}/dvm"
|
||||
}
|
||||
|
||||
1
net-im/kotatogram-desktop/Manifest
Normal file
1
net-im/kotatogram-desktop/Manifest
Normal file
|
|
@ -0,0 +1 @@
|
|||
DIST kotatogram-desktop-1.4.9-full.tar.gz 50300404 SHA256 27d99f642939a9501bafe633c00b39983284f3fc7d84f0944f95adcbe9182d03 SHA512 eb46a6ea5e218ce0cffbc6a177a23d2d0ab1f133a412c72283715fbd3a9a2f51e27b03c5780080ab8717d7776e1f2f1e709495f4484198f9306c793a813021b5 WHIRLPOOL 803c2fa4553947f25aaf7486fe6b38349af96da97f6f5469ac0d093c878fb2a7de89bb61d514fcffd74044169ac2d1df3c9dbdee63497dbdb5ac2856aa1244c2
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
--- tdesktop-3.3.0-full.orig/Telegram/lib_spellcheck/spellcheck/platform/linux/spellcheck_linux.cpp
|
||||
+++ tdesktop-3.3.0-full/Telegram/lib_spellcheck/spellcheck/platform/linux/spellcheck_linux.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
auto IsHebrew(const QString &word) {
|
||||
// Words with mixed scripts will be automatically ignored,
|
||||
// so this check should be fine.
|
||||
- return ::Spellchecker::WordScript(&word) == QChar::Script_Hebrew;
|
||||
+ return ::Spellchecker::WordScript(word) == QChar::Script_Hebrew;
|
||||
}
|
||||
|
||||
class EnchantSpellChecker {
|
||||
@@ -154,7 +154,7 @@
|
||||
}
|
||||
|
||||
auto EnchantSpellChecker::findSuggestions(const QString &word) {
|
||||
- const auto wordScript = ::Spellchecker::WordScript(&word);
|
||||
+ const auto wordScript = ::Spellchecker::WordScript(word);
|
||||
auto w = word.toStdString();
|
||||
std::vector<QString> result;
|
||||
if (!_validators.size()) {
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
Only link jemalloc for the Telegram binary
|
||||
|
||||
Some combination of factors is making the different codegen tools hang when
|
||||
jemalloc is linked for those, and they're ran under portage's sandbox. Since
|
||||
this is only used during build-time, and jemalloc is merely necessary to
|
||||
improve runtime memory use, it's unnecessary to use it for anything else.
|
||||
|
||||
--- tdesktop-3.5.2-full.orig/Telegram/CMakeLists.txt
|
||||
+++ tdesktop-3.5.2-full/Telegram/CMakeLists.txt
|
||||
@@ -1357,6 +1357,12 @@
|
||||
desktop-app::external_kwayland
|
||||
)
|
||||
endif()
|
||||
+
|
||||
+ target_link_libraries(Telegram
|
||||
+ PRIVATE
|
||||
+ desktop-app::linux_jemalloc_helper
|
||||
+ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
+ )
|
||||
endif()
|
||||
|
||||
if (build_macstore)
|
||||
--- a/cmake/options_linux.cmake 2022-03-12 13:44:31.415761980 +0100
|
||||
+++ b/cmake/options_linux.cmake 2022-03-12 13:44:40.435301728 +0100
|
||||
@@ -64,8 +64,6 @@
|
||||
|
||||
target_link_libraries(common_options
|
||||
INTERFACE
|
||||
- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
- $<LINK_ONLY:desktop-app::external_jemalloc>
|
||||
${CMAKE_DL_LIBS}
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
Optionally disable jemalloc
|
||||
|
||||
Telegram upstream heavily insists you use the jemalloc allocator. This is due
|
||||
to the high memory usage resulting from the glibc allocator. It is unknown why
|
||||
this affects telegram the way it does, but upstream solved the issue by using a
|
||||
different allocator. Initially they used mallocng, now jemalloc.
|
||||
|
||||
However, other libcs don't necessarily need this, and as such this should be
|
||||
optional. As mallocng is a fork of musl's allocator, and this was used before
|
||||
the switch to jemalloc, the musl allocator should still be OK.
|
||||
|
||||
Please warn glibc users about disabling jemalloc, don't report bugs about
|
||||
memory usage upstream unless you're using jemalloc.
|
||||
|
||||
Related info:
|
||||
https://github.com/telegramdesktop/tdesktop/issues/16084
|
||||
https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
|
||||
|
||||
--- tdesktop-3.5.2-full.orig/Telegram/CMakeLists.txt
|
||||
+++ tdesktop-3.5.2-full/Telegram/CMakeLists.txt
|
||||
@@ -1358,11 +1358,13 @@
|
||||
)
|
||||
endif()
|
||||
|
||||
- target_link_libraries(Telegram
|
||||
- PRIVATE
|
||||
- desktop-app::linux_jemalloc_helper
|
||||
- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
- )
|
||||
+ if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
|
||||
+ target_link_libraries(Telegram
|
||||
+ PRIVATE
|
||||
+ desktop-app::linux_jemalloc_helper
|
||||
+ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
+ )
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if (build_macstore)
|
||||
--- tdesktop-3.5.2-full.orig/cmake/CMakeLists.txt
|
||||
+++ tdesktop-3.5.2-full/cmake/CMakeLists.txt
|
||||
@@ -5,7 +5,7 @@
|
||||
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
|
||||
add_subdirectory(external)
|
||||
-if (LINUX)
|
||||
+if (LINUX AND NOT DESKTOP_APP_DISABLE_JEMALLOC)
|
||||
add_subdirectory(linux_jemalloc_helper)
|
||||
endif()
|
||||
if (LINUX AND NOT DESKTOP_APP_USE_PACKAGED)
|
||||
--- tdesktop-3.5.2-full.orig/cmake/external/CMakeLists.txt
|
||||
+++ tdesktop-3.5.2-full/cmake/external/CMakeLists.txt
|
||||
@@ -37,7 +37,7 @@
|
||||
add_checked_subdirectory(hunspell)
|
||||
endif()
|
||||
add_checked_subdirectory(iconv)
|
||||
-if (LINUX)
|
||||
+if (LINUX AND NOT DESKTOP_APP_DISABLE_JEMALLOC)
|
||||
add_checked_subdirectory(jemalloc)
|
||||
endif()
|
||||
add_checked_subdirectory(jpeg)
|
||||
--- tdesktop-3.5.2-full.orig/cmake/variables.cmake
|
||||
+++ tdesktop-3.5.2-full/cmake/variables.cmake
|
||||
@@ -26,6 +26,7 @@
|
||||
option(DESKTOP_APP_USE_PACKAGED_FONTS "Use preinstalled fonts instead of bundled patched ones." OFF)
|
||||
option(DESKTOP_APP_USE_PACKAGED_RLOTTIE "Find rlottie using CMake instead of bundled patched one." OFF)
|
||||
option(DESKTOP_APP_DISABLE_SPELLCHECK "Disable spellcheck library." OFF)
|
||||
+option(DESKTOP_APP_DISABLE_JEMALLOC "Disable use of the jemalloc allocator (Linux only)." OFF)
|
||||
option(DESKTOP_APP_DISABLE_CRASH_REPORTS "Disable crash report generation." ${no_special_target})
|
||||
option(DESKTOP_APP_DISABLE_AUTOUPDATE "Disable autoupdate." ${disable_autoupdate})
|
||||
option(DESKTOP_APP_USE_HUNSPELL_ONLY "Disable system spellchecker and use bundled Hunspell only. (For debugging purposes)" OFF)
|
||||
33
net-im/kotatogram-desktop/files/tdesktop-3.5.2-musl.patch
Normal file
33
net-im/kotatogram-desktop/files/tdesktop-3.5.2-musl.patch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
Stub out some glibc-specific functions
|
||||
|
||||
This allows support for alternative libcs like musl
|
||||
|
||||
--- tdesktop-3.5.2-full.orig/Telegram/lib_base/base/platform/linux/base_info_linux.cpp
|
||||
+++ tdesktop-3.5.2-full/Telegram/lib_base/base/platform/linux/base_info_linux.cpp
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include <sys/utsname.h>
|
||||
|
||||
-#ifdef Q_OS_LINUX
|
||||
+#if defined(Q_OS_LINUX) && defined(__GLIBC__)
|
||||
#include <gnu/libc-version.h>
|
||||
#endif // Q_OS_LINUX
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
}
|
||||
|
||||
QString GetLibcName() {
|
||||
-#ifdef Q_OS_LINUX
|
||||
+#if defined(Q_OS_LINUX) && defined(__GLIBC__)
|
||||
return "glibc";
|
||||
#endif // Q_OS_LINUX
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
}
|
||||
|
||||
QString GetLibcVersion() {
|
||||
-#ifdef Q_OS_LINUX
|
||||
+#if defined(Q_OS_LINUX) && defined(__GLIBC__)
|
||||
static const auto result = [&] {
|
||||
const auto version = QString::fromLatin1(gnu_get_libc_version());
|
||||
return QVersionNumber::fromString(version).isNull() ? QString() : version;
|
||||
1
net-im/kotatogram-desktop/kotatogram-desktop-1.4.9.ebuild
Symbolic link
1
net-im/kotatogram-desktop/kotatogram-desktop-1.4.9.ebuild
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
kotatogram-desktop-9999.ebuild
|
||||
159
net-im/kotatogram-desktop/kotatogram-desktop-9999.ebuild
Normal file
159
net-im/kotatogram-desktop/kotatogram-desktop-9999.ebuild
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
# Copyright 2020-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit xdg cmake python-any-r1 optfeature flag-o-matic
|
||||
|
||||
DESCRIPTION="Experimental Telegram Desktop fork"
|
||||
HOMEPAGE="https://github.com/kotatogram/kotatogram-desktop/"
|
||||
|
||||
MY_P="kotatogram-desktop-${PV}-full"
|
||||
SRC_URI="https://github.com/kotatogram/kotatogram-desktop/releases/download/k${PV}/${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
|
||||
IUSE="+dbus enchant +hunspell +jemalloc screencast +spell wayland +X"
|
||||
REQUIRED_USE="
|
||||
spell? (
|
||||
^^ ( enchant hunspell )
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/lz4:=
|
||||
dev-cpp/abseil-cpp:=
|
||||
dev-libs/libdispatch
|
||||
dev-libs/openssl:=
|
||||
dev-libs/xxhash
|
||||
>=dev-qt/qtcore-5.15:5
|
||||
>=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?]
|
||||
>=dev-qt/qtimageformats-5.15:5
|
||||
>=dev-qt/qtnetwork-5.15:5[ssl]
|
||||
>=dev-qt/qtsvg-5.15:5
|
||||
>=dev-qt/qtwidgets-5.15:5[png,X?]
|
||||
media-fonts/open-sans
|
||||
media-libs/fontconfig:=
|
||||
~media-libs/libtgvoip-2.4.4_p20220117
|
||||
media-libs/openal
|
||||
media-libs/opus:=
|
||||
media-libs/rnnoise
|
||||
~media-libs/tg_owt-0_pre20220209[screencast=,X=]
|
||||
media-video/ffmpeg:=[opus]
|
||||
sys-libs/zlib:=[minizip]
|
||||
dbus? (
|
||||
dev-cpp/glibmm:2
|
||||
dev-qt/qtdbus:5
|
||||
dev-libs/libdbusmenu-qt[qt5(+)]
|
||||
)
|
||||
enchant? ( app-text/enchant:= )
|
||||
hunspell? ( >=app-text/hunspell-1.7:= )
|
||||
jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] )
|
||||
wayland? ( kde-frameworks/kwayland:= )
|
||||
X? ( x11-libs/libxcb:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-cpp/range-v3
|
||||
=dev-cpp/ms-gsl-3*
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=dev-util/cmake-3.16
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# dev-libs/jemalloc:=[-lazy-lock] -> https://bugs.gentoo.org/803233
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/tdesktop-3.5.2-jemalloc-only-telegram.patch"
|
||||
"${FILESDIR}/tdesktop-3.3.0-fix-enchant.patch"
|
||||
"${FILESDIR}/tdesktop-3.5.2-musl.patch"
|
||||
"${FILESDIR}/tdesktop-3.5.2-jemalloc-optional.patch"
|
||||
)
|
||||
|
||||
# Current desktop-file-utils-0.26 does not understand Version=1.5
|
||||
QA_DESKTOP_FILE="usr/share/applications/${PN}.desktop"
|
||||
|
||||
pkg_pretend() {
|
||||
if has ccache ${FEATURES}; then
|
||||
ewarn
|
||||
ewarn "ccache does not work with ${PN} out of the box"
|
||||
ewarn "due to usage of precompiled headers"
|
||||
ewarn "check bug https://bugs.gentoo.org/715114 for more info"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# no explicit toggle, doesn't build with the system one #752417
|
||||
sed -i 's/DESKTOP_APP_USE_PACKAGED/NO_ONE_WILL_EVER_SET_THIS/' \
|
||||
cmake/external/rlottie/CMakeLists.txt || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DTDESKTOP_LAUNCHER_BASENAME="${PN}"
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON # header only lib, some git version. prevents warnings.
|
||||
-DDESKTOP_APP_QT6=OFF
|
||||
|
||||
-DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex !dbus)
|
||||
-DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
|
||||
-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
|
||||
-DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex !spell) # enables hunspell (recommended)
|
||||
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell
|
||||
|
||||
# This option is heavily discouraged by upstream.
|
||||
# See files/tdesktop-*-jemalloc-optional.patch
|
||||
-DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
|
||||
)
|
||||
|
||||
if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
|
||||
einfo "Found custom API credentials"
|
||||
mycmakeargs+=(
|
||||
-DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
|
||||
-DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
|
||||
)
|
||||
else
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
|
||||
# Building with snapcraft API credentials by default
|
||||
# Custom API credentials can be obtained here:
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
|
||||
# After getting credentials you can export variables:
|
||||
# export MY_TDESKTOP_API_ID="17349""
|
||||
# export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
|
||||
# and restart the build"
|
||||
# you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
|
||||
# portage will use custom variable every build automatically
|
||||
mycmakeargs+=(
|
||||
-DTDESKTOP_API_ID="611335"
|
||||
-DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
if ! use X && ! use screencast; then
|
||||
elog "both the 'X' and 'screencast' useflags are disabled, screen sharing won't work!"
|
||||
elog
|
||||
fi
|
||||
if has_version '<dev-qt/qtcore-5.15.2-r10'; then
|
||||
ewarn "Versions of dev-qt/qtcore lower than 5.15.2-r10 might cause telegram"
|
||||
ewarn "to crash when pasting big images from the clipboard."
|
||||
ewarn
|
||||
fi
|
||||
if ! use jemalloc && use elibc_glibc; then
|
||||
ewarn "Disabling USE=jemalloc on glibc systems may cause very high RAM usage!"
|
||||
ewarn "Do NOT report issues about RAM usage without enabling this flag first."
|
||||
ewarn
|
||||
fi
|
||||
optfeature_header
|
||||
optfeature "shop payment support (requires USE=dbus enabled)" net-libs/webkit-gtk
|
||||
}
|
||||
9
net-im/kotatogram-desktop/metadata.xml
Normal file
9
net-im/kotatogram-desktop/metadata.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<use>
|
||||
<flag name="enchant">Enable the app-text/aspell spell-checking backend</flag>
|
||||
<flag name="hunspell">Enable the app-text/hunspell spell-checking backend</flag>
|
||||
<flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
2
net-im/simplex-desktop-bin/Manifest
Normal file
2
net-im/simplex-desktop-bin/Manifest
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
DIST simplex-desktop-bin-6.1.1.deb 231269464 BLAKE2B b14151390d9effef829b4fc08d31bf2736b322d5de70e0f2f921feac67c63e5cd4c827ac18e7dfc1d4305b818c20df8c3788db7c00995ba231dbc1f115c6af77 SHA512 38ff1db76127217aeafe7fc73568be16e28e7ca7825c4dbdfbf7a4a4e2e87801d2ee377bc8dba080115c19d181dce9807d4a30c677ca8fbdbbdb28c2c33a5b23
|
||||
EBUILD simplex-desktop-bin-6.1.1.ebuild 895 BLAKE2B 40a1fa528fa6846475b912915d73b1657dc01987de59a6c3ac2fbfbd8236942a992d68bca88155d9b50ce06aa64631f17397acc3783409116f4cfaddd1588752 SHA512 81118a96ba6ffbc8b1154822af676f9186d6cb01f7bcd8ca30af377a73ec395ebb41aab3859a9ec666de82b3b83de88ae6da213a95dc72b5c133dd2252aca2c1
|
||||
48
net-im/simplex-desktop-bin/simplex-desktop-bin-6.1.1.ebuild
Normal file
48
net-im/simplex-desktop-bin/simplex-desktop-bin-6.1.1.ebuild
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="The first messaging network operating without user identifiers of any kind"
|
||||
HOMEPAGE="https://github.com/simplex-chat/simplex-chat"
|
||||
_PG="simplex-chat"
|
||||
_PN="simplex-desktop"
|
||||
SRC_URI="https://github.com/${_PG}/${_PG}/releases/download/v${PV}/${_PN}-ubuntu-22_04-x86_64.deb -> ${P}.deb"
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
src_unpack() {
|
||||
mkdir "${S}"
|
||||
# cd "${S}"
|
||||
ar x "${DISTDIR}/${P}.deb"
|
||||
tar xf data.tar.zst -C "${S}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# e.g. eapply_user
|
||||
}
|
||||
|
||||
# src_configure() {
|
||||
# econf
|
||||
# }
|
||||
|
||||
# src_compile() {
|
||||
# emake
|
||||
# }
|
||||
|
||||
src_install() {
|
||||
# ls -la "${S}"
|
||||
insinto "/opt/"
|
||||
doins -r "${S}/opt/simplex"
|
||||
dosym "/opt/simplex/bin/simplex" "/bin/simplex-desktop"
|
||||
}
|
||||
5
net-im/telegram-desktop/Manifest
Normal file
5
net-im/telegram-desktop/Manifest
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
DIST tdesktop-4.14.0-full.tar.gz 67902326 BLAKE2B 2fe6985b5b328393cbba9ed2573ce7136db0ba6730f7de4d39d567e5ebd651d6e99814f0011c24bd975af3a831e1fcff5ac6c7686b15f94ca20244aca24975c5 SHA512 3f0e8a77dc3487f4968a381911859953289d5580a3962ac25f09ac9a5d4bd65208530df04bb9db734e05fbd9f7a15c32e5e7a7dc79250a67efc00c6b46aead1b
|
||||
DIST tdesktop-4.14.1-full.tar.gz 67924653 BLAKE2B 623fb3ac4e0bc6c96f4b3038f5f8378b24b867749a486d6fe9f1ef00d4fedc978b6e745be6402aa91d1f5360ca056401d2f4888c50ea0c835d92e10ee57e328c SHA512 e6c25253acee137e03af42e60c2f5ca8a92220e7ed2175a0a20ed49e3d310a724a1fa9e24e5a94c77e70be3d9dc49ccfbe3790bd9074a0417355af54636f7631
|
||||
DIST tdesktop-4.14.2-full.tar.gz 67924788 BLAKE2B a891dce4afad173a55b9e60f91089e31655c16860917e5ee252ab1a9038a60b46739bfc361bdf586b0c4e47808f3cf60cf727d13469f5734c803127955152f43 SHA512 7ab1f8b93d4c1efcb08ca42f9b4604a17a22517d6616ba973018a4b7ef63de3d6650deeb74d752548ec7fce8b3581a73b974c6bc6d2c16e4f31049bc11d87b7a
|
||||
DIST tdesktop-4.15.2-full.tar.gz 69539402 BLAKE2B 95d6cd3eead56f7cb2aeafd0cc1a05d740ec243644e6d318f415a7fa6c8ad94d3a95cfc9082ba04507a024c81bfc15700ad6adcbfd932ca1993a3310744ac196 SHA512 6e65183d5e77d17e11d0c70e1654373e69f6243f2879cf403701e23acd5aed9df6c6892a1c7c83fd975a858e90e20d73824d0754a2f96ad5af6e3de6515e2627
|
||||
DIST tdesktop-4.15.5-full.tar.gz 69602519 BLAKE2B 70be1aedb13a7eebbad24bbc915afdc5bc808480d135a571b1beb16de3a3da6b2d1a7f019afeeceb540b6d51e2e3e11eda10f1adf87c8c0fffd5bff83a941779 SHA512 76bd111d551ed6882b5224b793bd290d4608620f4dc1c71979c893302ed7de7d9168ae5c9c1763667620998002858f6a08393b4b5774e98586025f459fa437d9
|
||||
12
net-im/telegram-desktop/files/breakpad.cmake
Normal file
12
net-im/telegram-desktop/files/breakpad.cmake
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
add_library(external_breakpad INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_breakpad ALIAS external_breakpad)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(BREAKPAD REQUIRED breakpad-client)
|
||||
|
||||
target_include_directories(
|
||||
external_breakpad INTERFACE ${BREAKPAD_INCLUDE_DIRS}
|
||||
)
|
||||
target_link_libraries(
|
||||
external_breakpad INTERFACE ${BREAKPAD_LIBRARIES}
|
||||
)
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
https://bugs.gentoo.org/830180
|
||||
|
||||
--- tdesktop-3.3.0-full.orig/Telegram/lib_spellcheck/spellcheck/platform/linux/spellcheck_linux.cpp
|
||||
+++ tdesktop-3.3.0-full/Telegram/lib_spellcheck/spellcheck/platform/linux/spellcheck_linux.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
auto IsHebrew(const QString &word) {
|
||||
// Words with mixed scripts will be automatically ignored,
|
||||
// so this check should be fine.
|
||||
- return ::Spellchecker::WordScript(&word) == QChar::Script_Hebrew;
|
||||
+ return ::Spellchecker::WordScript(word) == QChar::Script_Hebrew;
|
||||
}
|
||||
|
||||
class EnchantSpellChecker {
|
||||
@@ -154,7 +154,7 @@
|
||||
}
|
||||
|
||||
auto EnchantSpellChecker::findSuggestions(const QString &word) {
|
||||
- const auto wordScript = ::Spellchecker::WordScript(&word);
|
||||
+ const auto wordScript = ::Spellchecker::WordScript(word);
|
||||
auto w = word.toStdString();
|
||||
std::vector<QString> result;
|
||||
if (!_validators.size()) {
|
||||
33
net-im/telegram-desktop/files/tdesktop-3.5.2-musl.patch
Normal file
33
net-im/telegram-desktop/files/tdesktop-3.5.2-musl.patch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
Stub out some glibc-specific functions
|
||||
|
||||
This allows support for alternative libcs like musl
|
||||
|
||||
--- tdesktop-3.5.2-full.orig/Telegram/lib_base/base/platform/linux/base_info_linux.cpp
|
||||
+++ tdesktop-3.5.2-full/Telegram/lib_base/base/platform/linux/base_info_linux.cpp
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include <sys/utsname.h>
|
||||
|
||||
-#ifdef Q_OS_LINUX
|
||||
+#if defined(Q_OS_LINUX) && defined(__GLIBC__)
|
||||
#include <gnu/libc-version.h>
|
||||
#endif // Q_OS_LINUX
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
}
|
||||
|
||||
QString GetLibcName() {
|
||||
-#ifdef Q_OS_LINUX
|
||||
+#if defined(Q_OS_LINUX) && defined(__GLIBC__)
|
||||
return "glibc";
|
||||
#endif // Q_OS_LINUX
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
}
|
||||
|
||||
QString GetLibcVersion() {
|
||||
-#ifdef Q_OS_LINUX
|
||||
+#if defined(Q_OS_LINUX) && defined(__GLIBC__)
|
||||
static const auto result = [&] {
|
||||
const auto version = QString::fromLatin1(gnu_get_libc_version());
|
||||
return QVersionNumber::fromString(version).isNull() ? QString() : version;
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
Only link jemalloc for the Telegram binary
|
||||
|
||||
Some combination of factors is making the different codegen tools hang when
|
||||
jemalloc is linked for those, and they're ran under portage's sandbox. Since
|
||||
this is only used during build-time, and jemalloc is merely necessary to
|
||||
improve runtime memory use, it's unnecessary to use it for anything else.
|
||||
|
||||
https://bugs.gentoo.org/802624
|
||||
|
||||
--- tdesktop-3.6.0-full.orig/Telegram/CMakeLists.txt
|
||||
+++ tdesktop-3.6.0-full/Telegram/CMakeLists.txt
|
||||
@@ -1376,6 +1376,14 @@
|
||||
desktop-app::external_kwayland
|
||||
)
|
||||
endif()
|
||||
+
|
||||
+ if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
|
||||
+ target_link_libraries(Telegram
|
||||
+ INTERFACE
|
||||
+ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
+ $<LINK_ONLY:desktop-app::external_jemalloc>
|
||||
+ )
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if (build_macstore)
|
||||
--- tdesktop-3.6.0-full.orig/cmake/options_linux.cmake
|
||||
+++ tdesktop-3.6.0-full/cmake/options_linux.cmake
|
||||
@@ -62,14 +62,6 @@
|
||||
target_link_options(common_options INTERFACE $<IF:$<CONFIG:Debug>,,-g -flto -fuse-linker-plugin>)
|
||||
endif()
|
||||
|
||||
-if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
|
||||
- target_link_libraries(common_options
|
||||
- INTERFACE
|
||||
- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
- $<LINK_ONLY:desktop-app::external_jemalloc>
|
||||
- )
|
||||
-endif()
|
||||
-
|
||||
target_link_libraries(common_options
|
||||
INTERFACE
|
||||
${CMAKE_DL_LIBS}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
Support FFmpeg 5
|
||||
|
||||
I'm not comfortable changing the _durationInMilliseconds formula on older
|
||||
versions of ffmpeg. Doing that only for newer versions also reduces the amount
|
||||
of testing this patch needs (of which it'll get very minimal amounts, this is a
|
||||
job better left for upstream when they get to it).
|
||||
|
||||
Also it doesn't compile under ffmpeg 4 if the variables are constants :/
|
||||
|
||||
--- tdesktop-3.6.0-full.orig/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartInternal.cpp
|
||||
+++ tdesktop-3.6.0-full/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartInternal.cpp
|
||||
@@ -104,7 +104,11 @@
|
||||
|
||||
_frame = av_frame_alloc();
|
||||
|
||||
+#if LIBAVFORMAT_VERSION_MAJOR >= 59
|
||||
+ const AVInputFormat *inputFormat = av_find_input_format(container.c_str());
|
||||
+#else
|
||||
AVInputFormat *inputFormat = av_find_input_format(container.c_str());
|
||||
+#endif
|
||||
if (!inputFormat) {
|
||||
_didReadToEnd = true;
|
||||
return;
|
||||
@@ -144,7 +148,11 @@
|
||||
|
||||
_streamId = i;
|
||||
|
||||
+#if LIBAVFORMAT_VERSION_MAJOR >= 59
|
||||
+ _durationInMilliseconds = inStream->duration * 1000 / 48000;
|
||||
+#else
|
||||
_durationInMilliseconds = (int)((inStream->duration + inStream->first_dts) * 1000 / 48000);
|
||||
+#endif
|
||||
|
||||
if (inStream->metadata) {
|
||||
AVDictionaryEntry *entry = av_dict_get(inStream->metadata, "TG_META", nullptr, 0);
|
||||
--- tdesktop-3.6.0-full.orig/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
|
||||
+++ tdesktop-3.6.0-full/Telegram/ThirdParty/tgcalls/tgcalls/group/AudioStreamingPartPersistentDecoder.cpp
|
||||
@@ -32,7 +32,11 @@
|
||||
AudioStreamingPartPersistentDecoderState(AVCodecParameters const *codecParameters, AVRational timeBase) :
|
||||
_codecParameters(codecParameters),
|
||||
_timeBase(timeBase) {
|
||||
+#ifdef LIBAVCODEC_VERSION_MAJOR >= 59
|
||||
+ const AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id);
|
||||
+#else
|
||||
AVCodec *codec = avcodec_find_decoder(codecParameters->codec_id);
|
||||
+#endif
|
||||
if (codec) {
|
||||
_codecContext = avcodec_alloc_context3(codec);
|
||||
int ret = avcodec_parameters_to_context(_codecContext, codecParameters);
|
||||
--- tdesktop-3.6.0-full.orig/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
|
||||
+++ tdesktop-3.6.0-full/Telegram/ThirdParty/tgcalls/tgcalls/group/VideoStreamingPart.cpp
|
||||
@@ -280,7 +280,11 @@
|
||||
|
||||
int ret = 0;
|
||||
|
||||
+#if LIBAVFORMAT_VERSION_MAJOR >= 59
|
||||
+ const AVInputFormat *inputFormat = av_find_input_format(container.c_str());
|
||||
+#else
|
||||
AVInputFormat *inputFormat = av_find_input_format(container.c_str());
|
||||
+#endif
|
||||
if (!inputFormat) {
|
||||
_didReadToEnd = true;
|
||||
return;
|
||||
@@ -323,7 +327,11 @@
|
||||
}
|
||||
|
||||
if (videoCodecParameters && videoStream) {
|
||||
+#if LIBAVCODEC_VERSION_MAJOR >= 59
|
||||
+ const AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id);
|
||||
+#else
|
||||
AVCodec *codec = avcodec_find_decoder(videoCodecParameters->codec_id);
|
||||
+#endif
|
||||
if (codec) {
|
||||
_codecContext = avcodec_alloc_context3(codec);
|
||||
ret = avcodec_parameters_to_context(_codecContext, videoCodecParameters);
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
Fix compatibility with kwayland-5.93.0
|
||||
|
||||
The header files were moved, the include directory wasn't being added correctly.
|
||||
|
||||
https://bugs.gentoo.org/837569
|
||||
|
||||
--- tdesktop-3.6.1-full.orig/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
|
||||
+++ tdesktop-3.6.1-full/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
#include "base/platform/base_platform_info.h"
|
||||
|
||||
-#include <connection_thread.h>
|
||||
-#include <registry.h>
|
||||
-#include <surface.h>
|
||||
-#include <plasmashell.h>
|
||||
+#include <KWayland/Client/connection_thread.h>
|
||||
+#include <KWayland/Client/registry.h>
|
||||
+#include <KWayland/Client/surface.h>
|
||||
+#include <KWayland/Client/plasmashell.h>
|
||||
|
||||
using namespace KWayland::Client;
|
||||
|
||||
--- tdesktop-3.6.1-full.orig/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
|
||||
+++ tdesktop-3.6.1-full/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
|
||||
@@ -13,11 +13,11 @@
|
||||
#include <QtCore/QPointer>
|
||||
#include <QtGui/QWindow>
|
||||
|
||||
-#include <connection_thread.h>
|
||||
-#include <registry.h>
|
||||
-#include <surface.h>
|
||||
-#include <xdgforeign.h>
|
||||
-#include <idleinhibit.h>
|
||||
+#include <KWayland/Client/connection_thread.h>
|
||||
+#include <KWayland/Client/registry.h>
|
||||
+#include <KWayland/Client/surface.h>
|
||||
+#include <KWayland/Client/xdgforeign.h>
|
||||
+#include <KWayland/Client/idleinhibit.h>
|
||||
|
||||
using namespace KWayland::Client;
|
||||
|
||||
--- tdesktop-3.6.1-full.orig/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
|
||||
+++ tdesktop-3.6.1-full/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
|
||||
@@ -24,8 +24,8 @@
|
||||
#include <private/qwaylandwindow_p.h>
|
||||
#include <private/qwaylandshellsurface_p.h>
|
||||
|
||||
-#include <connection_thread.h>
|
||||
-#include <registry.h>
|
||||
+#include <KWayland/Client/connection_thread.h>
|
||||
+#include <KWayland/Client/registry.h>
|
||||
|
||||
Q_DECLARE_METATYPE(QMargins);
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
Description: Do not capture buttons in AccountsList that belong to inner VerticalLayout widget
|
||||
This fixes a use-after-free error (double destruction) in the main menu right after account switching.
|
||||
Bug-Debian: https://bugs.debian.org/1008156
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/1967673
|
||||
Forwarded: https://github.com/telegramdesktop/tdesktop/pull/24301
|
||||
Author: Nicholas Guriev <guriev-ns@ya.ru>
|
||||
Last-Update: Sat, 09 Apr 2022 13:47:55 +0300
|
||||
|
||||
--- tdesktop-3.6.1-full.orig/Telegram/SourceFiles/settings/settings_information.cpp
|
||||
+++ tdesktop-3.6.1-full/Telegram/SourceFiles/settings/settings_information.cpp
|
||||
@@ -78,9 +78,7 @@
|
||||
int _outerIndex = 0;
|
||||
|
||||
Ui::SlideWrap<Ui::SettingsButton> *_addAccount = nullptr;
|
||||
- base::flat_map<
|
||||
- not_null<Main::Account*>,
|
||||
- base::unique_qptr<Ui::SettingsButton>> _watched;
|
||||
+ base::flat_map<not_null<Main::Account*>, Ui::SettingsButton*> _watched;
|
||||
|
||||
base::unique_qptr<Ui::PopupMenu> _contextMenu;
|
||||
std::unique_ptr<Ui::VerticalLayoutReorder> _reorder;
|
||||
@@ -730,7 +728,7 @@
|
||||
order.reserve(inner->count());
|
||||
for (auto i = 0; i < inner->count(); i++) {
|
||||
for (const auto &[account, button] : _watched) {
|
||||
- if (button.get() == inner->widgetAt(i)) {
|
||||
+ if (button == inner->widgetAt(i)) {
|
||||
order.push_back(account->session().uniqueId());
|
||||
}
|
||||
}
|
||||
@@ -769,11 +767,11 @@
|
||||
account,
|
||||
std::move(activate));
|
||||
};
|
||||
- button.reset(inner->add(MakeAccountButton(
|
||||
+ button = inner->add(MakeAccountButton(
|
||||
inner,
|
||||
_controller,
|
||||
account,
|
||||
- std::move(callback))));
|
||||
+ std::move(callback)));
|
||||
}
|
||||
}
|
||||
inner->resizeToWidth(_outer->width());
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
Use system cppgir
|
||||
|
||||
https://github.com/desktop-app/cmake_helpers/issues/282
|
||||
https://github.com/desktop-app/cmake_helpers/pull/305
|
||||
--- tdesktop-4.10.0-full.orig/cmake/external/glib/CMakeLists.txt
|
||||
+++ tdesktop-4.10.0-full/cmake/external/glib/CMakeLists.txt
|
||||
@@ -7,14 +7,6 @@
|
||||
add_library(external_glib INTERFACE IMPORTED GLOBAL)
|
||||
add_library(desktop-app::external_glib ALIAS external_glib)
|
||||
|
||||
-function(add_cppgir) # isolate scope
|
||||
- set(BUILD_TESTING OFF)
|
||||
- set(BUILD_DOC OFF)
|
||||
- set(BUILD_EXAMPLES OFF)
|
||||
- add_subdirectory(cppgir EXCLUDE_FROM_ALL)
|
||||
-endfunction()
|
||||
-add_cppgir()
|
||||
-
|
||||
include(generate_cppgir.cmake)
|
||||
generate_cppgir(external_glib Gio-2.0)
|
||||
|
||||
--- tdesktop-4.10.0-full.orig/cmake/external/glib/generate_cppgir.cmake
|
||||
+++ tdesktop-4.10.0-full/cmake/external/glib/generate_cppgir.cmake
|
||||
@@ -4,6 +4,8 @@
|
||||
# For license and copyright information please follow this link:
|
||||
# https://github.com/desktop-app/legal/blob/master/LEGAL
|
||||
|
||||
+find_package(CppGir REQUIRED)
|
||||
+
|
||||
function(generate_cppgir target_name gir)
|
||||
# cppgir generates all the dependent headers everytime, better to have a global folder
|
||||
set(gen_dst ${CMAKE_BINARY_DIR}/gen)
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
diff --git a/Telegram/lib_base/base/qt/qt_compare.h b/Telegram/lib_base/base/qt/qt_compare.h
|
||||
index ca03fa2..d1eb6ab 100644
|
||||
--- a/Telegram/lib_base/base/qt/qt_compare.h
|
||||
+++ b/Telegram/lib_base/base/qt/qt_compare.h
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <gsl/pointers>
|
||||
|
||||
#include <QString>
|
||||
+#include <variant>
|
||||
|
||||
#if !defined(__apple_build_version__) || (__apple_build_version__ > 12000032)
|
||||
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
Only link jemalloc for the Telegram binary
|
||||
|
||||
Some combination of factors is making the different codegen tools hang when
|
||||
jemalloc is linked for those, and they're ran under portage's sandbox. Since
|
||||
this is only used during build-time, and jemalloc is merely necessary to
|
||||
improve runtime memory use, it's unnecessary to use it for anything else.
|
||||
|
||||
https://bugs.gentoo.org/802624
|
||||
|
||||
--- tdesktop-4.2.4-full.orig/Telegram/CMakeLists.txt
|
||||
+++ tdesktop-4.2.4-full/Telegram/CMakeLists.txt
|
||||
@@ -1478,6 +1478,14 @@
|
||||
desktop-app::external_wayland_client
|
||||
)
|
||||
endif()
|
||||
+
|
||||
+ if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
|
||||
+ target_link_libraries(Telegram
|
||||
+ INTERFACE
|
||||
+ $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
+ $<LINK_ONLY:desktop-app::external_jemalloc>
|
||||
+ )
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
if (build_macstore)
|
||||
--- tdesktop-4.2.4-full.orig/cmake/options_linux.cmake
|
||||
+++ tdesktop-4.2.4-full/cmake/options_linux.cmake
|
||||
@@ -78,14 +78,6 @@
|
||||
)
|
||||
endif()
|
||||
|
||||
-if (NOT DESKTOP_APP_DISABLE_JEMALLOC)
|
||||
- target_link_libraries(common_options
|
||||
- INTERFACE
|
||||
- $<TARGET_OBJECTS:desktop-app::linux_jemalloc_helper>
|
||||
- $<LINK_ONLY:desktop-app::external_jemalloc>
|
||||
- )
|
||||
-endif()
|
||||
-
|
||||
if (DESKTOP_APP_USE_ALLOCATION_TRACER)
|
||||
target_link_options(common_options
|
||||
INTERFACE
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
Fix building without spellcheck
|
||||
|
||||
Upcoming changes to tdesktop include language recognition, which is a bit of a
|
||||
doozy, and as is tradition, "unusual" compilation flags go untested.
|
||||
|
||||
Regular builds would always return false here, anyway, as linux isn't a
|
||||
priority with these things.
|
||||
|
||||
/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/boxes/translate_box.cpp:18:10: fatal error: spellcheck/platform/platform_language.h: No such file or directory
|
||||
18 | #include "spellcheck/platform/platform_language.h"
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
compilation terminated.
|
||||
|
||||
--- tdesktop-4.3.4-full.orig/Telegram/SourceFiles/boxes/translate_box.cpp
|
||||
+++ tdesktop-4.3.4-full/Telegram/SourceFiles/boxes/translate_box.cpp
|
||||
@@ -15,7 +15,9 @@
|
||||
#include "main/main_session.h"
|
||||
#include "mtproto/sender.h"
|
||||
#include "settings/settings_common.h"
|
||||
+#ifndef TDESKTOP_DISABLE_SPELLCHECK
|
||||
#include "spellcheck/platform/platform_language.h"
|
||||
+#endif
|
||||
#include "ui/effects/loading_element.h"
|
||||
#include "ui/layers/generic_box.h"
|
||||
#include "ui/widgets/buttons.h"
|
||||
@@ -331,6 +333,7 @@
|
||||
if (!hasLetters) {
|
||||
return true;
|
||||
}
|
||||
+#ifndef TDESKTOP_DISABLE_SPELLCHECK
|
||||
const auto result = Platform::Language::Recognize(text);
|
||||
if (result.unknown) {
|
||||
return false;
|
||||
@@ -343,6 +346,9 @@
|
||||
? QLocale::English
|
||||
: settingsLang;
|
||||
return (result.locale.language() == skip);
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
}
|
||||
|
||||
} // namespace Ui
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
Disable portal-related event loop with qt5
|
||||
|
||||
QEventLoop::ApplicationExec is undocumented, but only present in qt6, so I have
|
||||
no idea if the functionality can be preserved in qt5. Upstream code indicates
|
||||
that not using it at all is safe, and unlikely to cause problems in
|
||||
distribution packaging.
|
||||
|
||||
Yet another reminder that qt5 is dying.
|
||||
|
||||
/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp: In lambda function:
|
||||
/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp:294:55: error: ‘ApplicationExec’ is not a member of ‘QEventLoop’
|
||||
294 | loop.exec(QEventLoop::ApplicationExec);
|
||||
| ^~~~~~~~~~~~~~~
|
||||
|
||||
--- tdesktop-4.3.4-full.orig/Telegram/SourceFiles/platform/linux/specific_linux.cpp
|
||||
+++ tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp
|
||||
@@ -229,6 +229,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
|
||||
void LaunchGApplication() {
|
||||
const auto connection = [] {
|
||||
try {
|
||||
@@ -401,6 +402,7 @@
|
||||
});
|
||||
}
|
||||
}
|
||||
+#endif // QT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
|
||||
|
||||
bool GenerateDesktopFile(
|
||||
const QString &targetPath,
|
||||
@@ -862,7 +864,9 @@
|
||||
LOG(("Fallback icon theme: %1").arg(QIcon::fallbackThemeName()));
|
||||
|
||||
#ifndef DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
+#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
|
||||
LaunchGApplication();
|
||||
+#endif // QT_VERSION >= QT_VERSION_CHECK(6, 2, 0)
|
||||
#endif // !DESKTOP_APP_DISABLE_DBUS_INTEGRATION
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
Disable unused incompatible overload with qt5
|
||||
|
||||
Neither Qt nore C++ are my forte, but this code is unused with the packaged
|
||||
distro version, anyway.
|
||||
|
||||
/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp: In lambda function:
|
||||
/var/tmp/portage/net-im/telegram-desktop-4.3.4/work/tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp:705:74: error: call of overloaded ‘arg(QByteArray&)’ is ambiguous
|
||||
705 | return qsl("org.telegram.desktop.%1.desktop").arg(md5Hash);
|
||||
| ^
|
||||
|
||||
--- tdesktop-4.3.4-full.orig/Telegram/SourceFiles/platform/linux/specific_linux.cpp
|
||||
+++ tdesktop-4.3.4-full/Telegram/SourceFiles/platform/linux/specific_linux.cpp
|
||||
@@ -692,6 +692,7 @@
|
||||
+ qsl(".desktop");
|
||||
}
|
||||
|
||||
+#if !(defined(TDESKTOP_DISABLE_AUTOUPDATE) && QT_VERSION < QT_VERSION_CHECK(6, 2, 0))
|
||||
if (!Core::UpdaterDisabled()) {
|
||||
QByteArray md5Hash(h);
|
||||
if (!Launcher::Instance().customWorkingDir()) {
|
||||
@@ -706,6 +707,7 @@
|
||||
|
||||
return qsl("org.telegram.desktop.%1.desktop").arg(md5Hash);
|
||||
}
|
||||
+#endif // !(defined(TDESKTOP_DISABLE_AUTOUPDATE) && QT_VERSION < QT_VERSION_CHECK(6, 2, 0))
|
||||
|
||||
return qsl("org.telegram.desktop.desktop");
|
||||
}());
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
From 37e03fb4289a3f46a5201caaebbdce8e441d55f5 Mon Sep 17 00:00:00 2001
|
||||
From: John Helmert III <ajak@gentoo.org>
|
||||
Date: Sun, 11 Dec 2022 14:21:32 -0600
|
||||
Subject: [PATCH] fix duplicate main declaration
|
||||
|
||||
Bug: https://bugs.gentoo.org/883935
|
||||
Signed-off-by: John Helmert III <ajak@gentoo.org>
|
||||
---
|
||||
cmake/external/cld3/CMakeLists.txt | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/cmake/external/cld3/CMakeLists.txt b/cmake/external/cld3/CMakeLists.txt
|
||||
index f351ca1..54c524b 100644
|
||||
--- a/cmake/external/cld3/CMakeLists.txt
|
||||
+++ b/cmake/external/cld3/CMakeLists.txt
|
||||
@@ -80,7 +80,6 @@ PRIVATE
|
||||
script_span/generated_entities.cc
|
||||
script_span/getonescriptspan.cc
|
||||
script_span/getonescriptspan.h
|
||||
- script_span/getonescriptspan_test.cc
|
||||
script_span/utf8statetable.cc
|
||||
script_span/offsetmap.cc
|
||||
script_span/text_processing.cc
|
||||
--
|
||||
2.38.1
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
https://bugs.gentoo.org/840526
|
||||
--- a/src/modules/rtp_rtcp/source/rtp_packetizer_av1_test_helper.cc
|
||||
+++ b/src/modules/rtp_rtcp/source/rtp_packetizer_av1_test_helper.cc
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include "modules/rtp_rtcp/source/rtp_packetizer_av1_test_helper.h"
|
||||
|
||||
+#include <cstddef>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <initializer_list>
|
||||
@@ -42,7 +43,7 @@ std::vector<uint8_t> BuildAv1Frame(std::initializer_list<Av1Obu> obus) {
|
||||
}
|
||||
if (obu.header_ & kAv1ObuSizePresentBit) {
|
||||
// write size in leb128 format.
|
||||
- size_t payload_size = obu.payload_.size();
|
||||
+ std::size_t payload_size = obu.payload_.size();
|
||||
while (payload_size >= 0x80) {
|
||||
raw.push_back(0x80 | (payload_size & 0x7F));
|
||||
payload_size >>= 7;
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
https://bugs.gentoo.org/840526
|
||||
https://github.com/desktop-app/tg_owt/pull/101
|
||||
|
||||
From 86d2bcd7afb8706663d29e30f65863de5a626142 Mon Sep 17 00:00:00 2001
|
||||
From: Xiretza <xiretza@xiretza.xyz>
|
||||
Date: Sun, 15 May 2022 12:47:41 +0200
|
||||
Subject: [PATCH] fix(h265_pps_parser): fix missing cstdint include
|
||||
|
||||
--- a/src/common_video/h265/h265_pps_parser.h
|
||||
+++ b/src/common_video/h265/h265_pps_parser.h
|
||||
@@ -12,6 +12,7 @@
|
||||
#define COMMON_VIDEO_H265_PPS_PARSER_H_
|
||||
|
||||
#include "absl/types/optional.h"
|
||||
+#include <cstdint>
|
||||
|
||||
namespace rtc {
|
||||
class BitBuffer;
|
||||
|
||||
From c358917ff8deac2015586356113dae75d076d1e3 Mon Sep 17 00:00:00 2001
|
||||
From: peeweep <peeweep@0x0.ee>
|
||||
Date: Mon, 27 Jun 2022 15:07:04 +0000
|
||||
Subject: [PATCH] fix(module_common_types_public): fix missing cstdint include
|
||||
|
||||
Signed-off-by: peeweep <peeweep@0x0.ee>
|
||||
---
|
||||
src/modules/include/module_common_types_public.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/modules/include/module_common_types_public.h b/src/modules/include/module_common_types_public.h
|
||||
index 345e45ce..8338a514 100644
|
||||
--- a/src/modules/include/module_common_types_public.h
|
||||
+++ b/src/modules/include/module_common_types_public.h
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
|
||||
#define MODULES_INCLUDE_MODULE_COMMON_TYPES_PUBLIC_H_
|
||||
|
||||
+#include <cstdint>
|
||||
#include <limits>
|
||||
|
||||
#include "absl/types/optional.h"
|
||||
--
|
||||
2.35.1
|
||||
|
||||
27
net-im/telegram-desktop/metadata.xml
Normal file
27
net-im/telegram-desktop/metadata.xml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person" proxied="yes">
|
||||
<email>esteve.varela@gmail.com</email>
|
||||
<name>Esteve Varela Colominas</name>
|
||||
</maintainer>
|
||||
<maintainer type="person" proxied="proxy">
|
||||
<email>dlan@gentoo.org</email>
|
||||
<name>Yixun Lan</name>
|
||||
</maintainer>
|
||||
<maintainer type="project" proxied="proxy">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="enchant">Use the <pkg>app-text/enchant</pkg> spell-checking backend instead of <pkg>app-text/hunspell</pkg></flag>
|
||||
<flag name="fonts">Use builtin patched copy of open-sans fonts (overrides fontconfig)</flag>
|
||||
<flag name="qt6">Build with Qt6 support</flag>
|
||||
<flag name="qt6-imageformats">Add support for HEIF, AVIF and JpegXL by bundling kde-frameworks/kimageformats</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">telegramdesktop/tdesktop</remote-id>
|
||||
<bugs-to>https://github.com/telegramdesktop/tdesktop/issues</bugs-to>
|
||||
<changelog>https://github.com/telegramdesktop/tdesktop/releases</changelog>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
1
net-im/telegram-desktop/telegram-desktop-4.14.0.ebuild
Symbolic link
1
net-im/telegram-desktop/telegram-desktop-4.14.0.ebuild
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
telegram-desktop-4.14.2.ebuild
|
||||
1
net-im/telegram-desktop/telegram-desktop-4.14.1.ebuild
Symbolic link
1
net-im/telegram-desktop/telegram-desktop-4.14.1.ebuild
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
telegram-desktop-4.14.2.ebuild
|
||||
233
net-im/telegram-desktop/telegram-desktop-4.14.2.ebuild
Normal file
233
net-im/telegram-desktop/telegram-desktop-4.14.2.ebuild
Normal file
|
|
@ -0,0 +1,233 @@
|
|||
# Copyright 2020-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit xdg cmake python-any-r1 optfeature flag-o-matic
|
||||
|
||||
DESCRIPTION="Official desktop client for Telegram"
|
||||
HOMEPAGE="https://desktop.telegram.org"
|
||||
|
||||
MY_P="tdesktop-${PV}-full"
|
||||
SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~loong ~riscv"
|
||||
IUSE="dbus enchant +fonts screencast qt6 qt6-imageformats wayland webkit +X"
|
||||
REQUIRED_USE="
|
||||
qt6-imageformats? ( qt6 )
|
||||
"
|
||||
|
||||
KIMAGEFORMATS_RDEPEND="
|
||||
media-libs/libavif:=
|
||||
media-libs/libheif:=
|
||||
>=media-libs/libjxl-0.8.0
|
||||
"
|
||||
CDEPEND="
|
||||
!net-im/telegram-desktop-bin
|
||||
app-arch/lz4:=
|
||||
dev-cpp/abseil-cpp:=
|
||||
>=dev-cpp/glibmm-2.77:2.68
|
||||
dev-libs/glib:2
|
||||
dev-libs/libdispatch
|
||||
dev-libs/openssl:=
|
||||
dev-libs/protobuf
|
||||
dev-libs/xxhash
|
||||
media-libs/libjpeg-turbo:=
|
||||
~media-libs/libtgvoip-2.4.4_p20221208
|
||||
media-libs/openal
|
||||
media-libs/opus
|
||||
media-libs/rnnoise
|
||||
~media-libs/tg_owt-0_pre20230921:=[screencast=,X=]
|
||||
media-video/ffmpeg:=[opus,vpx]
|
||||
sys-libs/zlib:=[minizip]
|
||||
virtual/opengl
|
||||
!enchant? ( >=app-text/hunspell-1.7:= )
|
||||
enchant? ( app-text/enchant:= )
|
||||
!qt6? (
|
||||
>=dev-qt/qtcore-5.15:5=
|
||||
>=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
|
||||
>=dev-qt/qtimageformats-5.15:5
|
||||
>=dev-qt/qtnetwork-5.15:5[ssl]
|
||||
>=dev-qt/qtsvg-5.15:5
|
||||
>=dev-qt/qtwidgets-5.15:5[png,X?]
|
||||
kde-frameworks/kcoreaddons:5
|
||||
webkit? (
|
||||
>=dev-qt/qtdeclarative-5.15:5
|
||||
>=dev-qt/qtwayland-5.15:5
|
||||
)
|
||||
)
|
||||
qt6? (
|
||||
>=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
|
||||
>=dev-qt/qtimageformats-6.5:6
|
||||
>=dev-qt/qtsvg-6.5:6
|
||||
webkit? (
|
||||
>=dev-qt/qtdeclarative-6.5:6
|
||||
>=dev-qt/qtwayland-6.5:6[compositor]
|
||||
)
|
||||
qt6-imageformats? (
|
||||
>=dev-qt/qtimageformats-6.5:6=
|
||||
${KIMAGEFORMATS_RDEPEND}
|
||||
)
|
||||
)
|
||||
X? (
|
||||
x11-libs/libxcb:=
|
||||
x11-libs/xcb-util-keysyms
|
||||
)
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
webkit? ( net-libs/webkit-gtk:4.1 net-libs/webkit-gtk:6 )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
>dev-cpp/cppgir-0_p20230926
|
||||
>=dev-cpp/ms-gsl-4
|
||||
dev-cpp/range-v3
|
||||
"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>dev-cpp/cppgir-0_p20230926
|
||||
>=dev-build/cmake-3.16
|
||||
dev-util/gdbus-codegen
|
||||
virtual/pkgconfig
|
||||
wayland? ( dev-util/wayland-scanner )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# "${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
|
||||
"${FILESDIR}/tdesktop-4.10.5-qt_compare.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if has ccache ${FEATURES}; then
|
||||
ewarn "ccache does not work with ${PN} out of the box"
|
||||
ewarn "due to usage of precompiled headers"
|
||||
ewarn "check bug https://bugs.gentoo.org/715114 for more info"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
|
||||
# build in gentoo right now.
|
||||
if use qt6-imageformats; then
|
||||
sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
|
||||
cmake/external/kimageformats/CMakeLists.txt || die
|
||||
printf '%s\n' \
|
||||
'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
|
||||
'Q_IMPORT_PLUGIN(HEIFPlugin)' \
|
||||
'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
|
||||
>> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
|
||||
fi
|
||||
# kde-frameworks/kcoreaddons is bundled when using qt6.
|
||||
|
||||
# Happily fail if libraries aren't found...
|
||||
find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
|
||||
\! -path './Telegram/lib_webview/CMakeLists.txt' \
|
||||
\! -path './cmake/external/expected/CMakeLists.txt' \
|
||||
\! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
|
||||
\! -path './cmake/external/qt/package.cmake' \
|
||||
-print0 | xargs -0 sed -i \
|
||||
-e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
|
||||
-e '/find_package(/s/)/ REQUIRED)/' || die
|
||||
# Make sure to check the excluded files for new
|
||||
# CMAKE_DISABLE_FIND_PACKAGE entries.
|
||||
|
||||
# Control QtDBus dependency from here, to avoid messing with QtGui.
|
||||
if ! use dbus; then
|
||||
sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
|
||||
-i cmake/external/qt/package.cmake || die
|
||||
fi
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Having user paths sneak into the build environment through the
|
||||
# XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
|
||||
# - bug 909038: can't read from flatpak directories (fixed upstream)
|
||||
# - bug 920819: system-wide directories ignored when variable is set
|
||||
export XDG_DATA_DIRS="${EPREFIX}/usr/share"
|
||||
|
||||
# Evil flag (bug #919201)
|
||||
filter-flags -fno-delete-null-pointer-checks
|
||||
|
||||
# The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
|
||||
# the same state across both projects.
|
||||
# See https://bugs.gentoo.org/866055
|
||||
append-cppflags '-DNDEBUG'
|
||||
|
||||
local qt=$(usex qt6 6 5)
|
||||
local mycmakeargs=(
|
||||
-DQT_VERSION_MAJOR=${qt}
|
||||
|
||||
# Control automagic dependencies on certain packages
|
||||
## Header-only lib, some git version.
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
|
||||
## Only used in Telegram/lib_webview/CMakeLists.txt
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
|
||||
## KF6CoreAddons is currently unavailable in ::gentoo
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
|
||||
|
||||
-DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
|
||||
-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
|
||||
## Enables enchant and disables hunspell
|
||||
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
|
||||
## Use system fonts instead of bundled ones
|
||||
-DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
|
||||
)
|
||||
|
||||
if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
|
||||
einfo "Found custom API credentials"
|
||||
mycmakeargs+=(
|
||||
-DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
|
||||
-DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
|
||||
)
|
||||
else
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
|
||||
# Building with snapcraft API credentials by default
|
||||
# Custom API credentials can be obtained here:
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
|
||||
# After getting credentials you can export variables:
|
||||
# export MY_TDESKTOP_API_ID="17349""
|
||||
# export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
|
||||
# and restart the build"
|
||||
# you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
|
||||
# portage will use custom variable every build automatically
|
||||
mycmakeargs+=(
|
||||
-DTDESKTOP_API_ID="611335"
|
||||
-DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
if ! use X && ! use screencast; then
|
||||
ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
|
||||
ewarn
|
||||
fi
|
||||
if use wayland && ! use qt6; then
|
||||
ewarn "Wayland-specific integrations have been deprecated with Qt5."
|
||||
ewarn "The app will continue to function under wayland, but some"
|
||||
ewarn "functionality may be reduced."
|
||||
ewarn "These integrations are only supported when built with Qt6."
|
||||
ewarn
|
||||
fi
|
||||
if use qt6 && ! use qt6-imageformats; then
|
||||
elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
|
||||
elog
|
||||
fi
|
||||
optfeature_header
|
||||
if ! use qt6; then
|
||||
optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
|
||||
fi
|
||||
}
|
||||
336
net-im/telegram-desktop/telegram-desktop-4.15.2.ebuild
Normal file
336
net-im/telegram-desktop/telegram-desktop-4.15.2.ebuild
Normal file
|
|
@ -0,0 +1,336 @@
|
|||
# Copyright 2020-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit xdg cmake python-any-r1 optfeature flag-o-matic
|
||||
|
||||
DESCRIPTION="Official desktop client for Telegram"
|
||||
HOMEPAGE="https://desktop.telegram.org"
|
||||
|
||||
MY_P="tdesktop-${PV}-full"
|
||||
SRC_URI="https://github.com/telegramdesktop/tdesktop/releases/download/v${PV}/${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv"
|
||||
IUSE="
|
||||
dbus
|
||||
enchant +hunspell
|
||||
+fonts +jemalloc lto debug
|
||||
+pipewire pulseaudio screencast
|
||||
+system-libtgvoip +system-libyuv
|
||||
qt6 qt6-imageformats
|
||||
wayland webkit +X
|
||||
"
|
||||
REQUIRED_USE="
|
||||
^^ ( enchant hunspell )
|
||||
qt6-imageformats? ( qt6 )
|
||||
"
|
||||
|
||||
KIMAGEFORMATS_RDEPEND="
|
||||
media-libs/libavif:=
|
||||
media-libs/libheif:=
|
||||
media-libs/libjxl
|
||||
"
|
||||
CDEPEND="
|
||||
!net-im/telegram-desktop-bin
|
||||
app-arch/lz4:=
|
||||
dev-cpp/abseil-cpp:=
|
||||
>=dev-cpp/glibmm-2.77:2.68
|
||||
>=dev-libs/glib-2.77:2
|
||||
>=dev-libs/gobject-introspection-1.77
|
||||
dev-libs/libdispatch
|
||||
dev-libs/openssl:=
|
||||
dev-libs/protobuf
|
||||
dev-libs/xxhash
|
||||
media-libs/libjpeg-turbo:=
|
||||
system-libtgvoip? ( >media-libs/libtgvoip-2.4.4:=[pulseaudio(-)=,pipewire(-)=] )
|
||||
media-libs/openal:=[pipewire=]
|
||||
media-libs/opus:=
|
||||
media-libs/rnnoise:=
|
||||
media-video/ffmpeg:=[opus,vpx]
|
||||
sys-libs/zlib:=[minizip]
|
||||
virtual/opengl
|
||||
enchant? ( app-text/enchant:= )
|
||||
hunspell? ( >=app-text/hunspell-1.7:= )
|
||||
jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] )
|
||||
!qt6? (
|
||||
>=dev-qt/qtcore-5.15:5=
|
||||
>=dev-qt/qtgui-5.15:5=[dbus?,jpeg,png,wayland?,X?]
|
||||
>=dev-qt/qtimageformats-5.15:5=
|
||||
>=dev-qt/qtnetwork-5.15:5=[ssl]
|
||||
>=dev-qt/qtsvg-5.15:5=
|
||||
>=dev-qt/qtwidgets-5.15:5=[png,X?]
|
||||
kde-frameworks/kcoreaddons:=
|
||||
wayland? (
|
||||
dev-qt/qtwayland:5=
|
||||
)
|
||||
webkit? (
|
||||
>=dev-qt/qtdeclarative-5.15:5=
|
||||
>=dev-qt/qtwayland-5.15:5=
|
||||
)
|
||||
dev-qt/qtdbus:5=
|
||||
dev-libs/libdbusmenu-qt[qt5(+)]
|
||||
)
|
||||
qt6? (
|
||||
>=dev-qt/qtbase-6.5:6=[dbus?,gui,network,opengl,wayland?,widgets,X?]
|
||||
>=dev-qt/qtimageformats-6.5:6=
|
||||
>=dev-qt/qtsvg-6.5:6=
|
||||
wayland? ( >=dev-qt/qtwayland-6.5:6=[compositor] )
|
||||
webkit? (
|
||||
>=dev-qt/qtdeclarative-6.5:6
|
||||
>=dev-qt/qtwayland-6.5:6[compositor]
|
||||
)
|
||||
qt6-imageformats? (
|
||||
>=dev-qt/qtimageformats-6.5:6=
|
||||
${KIMAGEFORMATS_RDEPEND}
|
||||
)
|
||||
)
|
||||
X? (
|
||||
x11-libs/libxcb:=
|
||||
x11-libs/xcb-util-keysyms
|
||||
)
|
||||
dev-libs/boost:=
|
||||
dev-libs/libsigc++:2
|
||||
dev-libs/libfmt:=
|
||||
!fonts? ( media-fonts/open-sans )
|
||||
media-libs/fontconfig:=
|
||||
system-libyuv? ( media-libs/libyuv:= )
|
||||
pulseaudio? (
|
||||
!pipewire? ( media-sound/pulseaudio-daemon )
|
||||
)
|
||||
pipewire? (
|
||||
media-video/pipewire[sound-server(+)]
|
||||
!media-sound/pulseaudio-daemon
|
||||
)
|
||||
>=media-libs/tg_owt-0_pre20230401:=[pipewire(-)=,screencast=,X=]
|
||||
wayland? (
|
||||
kde-plasma/kwayland:=
|
||||
dev-libs/wayland-protocols:=
|
||||
dev-libs/plasma-wayland-protocols:=
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
webkit? ( net-libs/webkit-gtk:= )
|
||||
"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
>=dev-cpp/range-v3-0.10.0:=
|
||||
"
|
||||
# >=dev-cpp/cppgir-0_p20240110
|
||||
# >=dev-cpp/ms-gsl-4
|
||||
# dev-cpp/expected-lite
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-util/gdbus-codegen
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# >=dev-build/cmake-3.16
|
||||
# >=dev-cpp/cppgir-0_p20230926
|
||||
# wayland? ( dev-util/wayland-scanner )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
|
||||
"${FILESDIR}/tdesktop-4.10.5-qt_compare.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if has ccache ${FEATURES}; then
|
||||
ewarn "ccache does not work with ${PN} out of the box"
|
||||
ewarn "due to usage of precompiled headers"
|
||||
ewarn "check bug https://bugs.gentoo.org/715114 for more info"
|
||||
ewarn
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
|
||||
# build in gentoo right now.
|
||||
if use qt6-imageformats; then
|
||||
sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
|
||||
cmake/external/kimageformats/CMakeLists.txt || die
|
||||
printf '%s\n' \
|
||||
'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
|
||||
'Q_IMPORT_PLUGIN(HEIFPlugin)' \
|
||||
'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
|
||||
>> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
|
||||
fi
|
||||
# kde-frameworks/kcoreaddons is bundled when using qt6.
|
||||
|
||||
# Happily fail if libraries aren't found...
|
||||
find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
|
||||
\! -path './Telegram/lib_webview/CMakeLists.txt' \
|
||||
\! -path './cmake/external/expected/CMakeLists.txt' \
|
||||
\! -path './cmake/external/kcoreaddons/CMakeLists.txt' \
|
||||
\! -path './cmake/external/qt/package.cmake' \
|
||||
-print0 | xargs -0 sed -i \
|
||||
-e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
|
||||
-e '/find_package(/s/)/ REQUIRED)/' || die
|
||||
# Make sure to check the excluded files for new
|
||||
# CMAKE_DISABLE_FIND_PACKAGE entries.
|
||||
|
||||
# Control QtDBus dependency from here, to avoid messing with QtGui.
|
||||
if ! use dbus; then
|
||||
sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
|
||||
-i cmake/external/qt/package.cmake || die
|
||||
fi
|
||||
|
||||
if use system-libyuv; then
|
||||
sed -e 's/"third_party\/libyuv\/include\/libyuv.h"/<libyuv.h>/' \
|
||||
-i Telegram/ThirdParty/tgcalls/tgcalls/desktop_capturer/DesktopCaptureSourceHelper.cpp \
|
||||
-i Telegram/ThirdParty/tgcalls/tgcalls/desktop_capturer/DesktopCaptureSourceManager.cpp || die
|
||||
fi
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Having user paths sneak into the build environment through the
|
||||
# XDG_DATA_DIRS variable causes all sorts of weirdness with cppgir:
|
||||
# - bug 909038: can't read from flatpak directories (fixed upstream)
|
||||
# - bug 920819: system-wide directories ignored when variable is set
|
||||
export XDG_DATA_DIRS="${EPREFIX}/usr/share"
|
||||
|
||||
# Evil flag (bug #919201)
|
||||
filter-flags -fno-delete-null-pointer-checks
|
||||
|
||||
# The ABI of media-libs/tg_owt breaks if the -DNDEBUG flag doesn't keep
|
||||
# the same state across both projects.
|
||||
# See https://bugs.gentoo.org/866055
|
||||
append-cppflags '-DNDEBUG'
|
||||
|
||||
# is this even needed?
|
||||
if use system-libyuv; then
|
||||
# append-cppflags '-lyuv' # what do you mean "unused" ?
|
||||
append-ldflags $(test-flag-CCLD '-Wl,--copy-dt-needed-entries')
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
-e '/-W.*/d' \
|
||||
-e '/PIC/a-Wno-error\n-Wno-all' \
|
||||
-e "$(usex debug '' 's@-g[a-zA-Z0-9]*@@')" \
|
||||
-e "$(usex lto '' 's@-flto@@')" \
|
||||
-e "s@-Ofast@@" \
|
||||
cmake/options_linux.cmake || die
|
||||
# use lto && (
|
||||
# append-flags '-flto'
|
||||
# append-ldflags '-flto'
|
||||
# )
|
||||
local mycxxflags=(
|
||||
${CXXFLAGS}
|
||||
-Wno-error=deprecated-declarations
|
||||
-Wno-deprecated-declarations
|
||||
-Wno-switch
|
||||
-DLIBDIR="$(get_libdir)"
|
||||
-DTDESKTOP_DISABLE_AUTOUPDATE
|
||||
)
|
||||
|
||||
local qt=$(usex qt6 6 5)
|
||||
local mycmakeargs=(
|
||||
-DQT_VERSION_MAJOR=${qt}
|
||||
|
||||
# Override new cmake.eclass defaults (https://bugs.gentoo.org/921939)
|
||||
# Upstream never tests this any other way
|
||||
-DCMAKE_DISABLE_PRECOMPILE_HEADERS=OFF
|
||||
|
||||
# Control automagic dependencies on certain packages
|
||||
## Header-only lib, some git version.
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
|
||||
## Only used in Telegram/lib_webview/CMakeLists.txt
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
|
||||
## KF6CoreAddons is currently unavailable in ::gentoo
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_KF${qt}CoreAddons=$(usex qt6)
|
||||
|
||||
-DCMAKE_CXX_FLAGS:="${mycxxflags[*]}"
|
||||
|
||||
# Upstream does not need crash reports from custom builds anyway
|
||||
-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON
|
||||
|
||||
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell
|
||||
|
||||
# Unbundling:
|
||||
-DDESKTOP_APP_USE_PACKAGED=ON # Main
|
||||
|
||||
-DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
|
||||
|
||||
-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION="$(usex !wayland)"
|
||||
|
||||
-DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
|
||||
|
||||
$(usex lto "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON" '')
|
||||
|
||||
-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
|
||||
## Enables enchant and disables hunspell
|
||||
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
|
||||
## Use system fonts instead of bundled ones
|
||||
-DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
|
||||
|
||||
# -DDESKTOP_APP_LOTTIE_USE_CACHE=NO
|
||||
# # in case of caching bugs. Maybe also useful with system-rlottie[cache]. TODO: test that idea.
|
||||
)
|
||||
|
||||
if [[ -n ${MY_TDESKTOP_API_ID} && -n ${MY_TDESKTOP_API_HASH} ]]; then
|
||||
einfo "Found custom API credentials"
|
||||
mycmakeargs+=(
|
||||
-DTDESKTOP_API_ID="${MY_TDESKTOP_API_ID}"
|
||||
-DTDESKTOP_API_HASH="${MY_TDESKTOP_API_HASH}"
|
||||
)
|
||||
else
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/dev/snap/snapcraft.yaml
|
||||
# Building with snapcraft API credentials by default
|
||||
# Custom API credentials can be obtained here:
|
||||
# https://github.com/telegramdesktop/tdesktop/blob/dev/docs/api_credentials.md
|
||||
# After getting credentials you can export variables:
|
||||
# export MY_TDESKTOP_API_ID="17349""
|
||||
# export MY_TDESKTOP_API_HASH="344583e45741c457fe1862106095a5eb"
|
||||
# and restart the build"
|
||||
# you can set above variables (without export) in /etc/portage/env/net-im/telegram-desktop
|
||||
# portage will use custom variable every build automatically
|
||||
mycmakeargs+=(
|
||||
-DTDESKTOP_API_ID="611335"
|
||||
-DTDESKTOP_API_HASH="d524b414d21f4d37f08684c1df41ac9c"
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
if ! use X && ! use screencast; then
|
||||
ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
|
||||
ewarn
|
||||
fi
|
||||
if use wayland && ! use qt6; then
|
||||
ewarn "Wayland-specific integrations have been deprecated with Qt5."
|
||||
ewarn "The app will continue to function under wayland, but some"
|
||||
ewarn "functionality may be reduced."
|
||||
ewarn "These integrations are only supported when built with Qt6."
|
||||
ewarn
|
||||
fi
|
||||
if use qt6 && ! use qt6-imageformats; then
|
||||
elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
|
||||
elog
|
||||
fi
|
||||
optfeature_header
|
||||
if ! use qt6; then
|
||||
optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
}
|
||||
421
net-im/telegram-desktop/telegram-desktop-4.15.2.ebuild.bak
Normal file
421
net-im/telegram-desktop/telegram-desktop-4.15.2.ebuild.bak
Normal file
|
|
@ -0,0 +1,421 @@
|
|||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit xdg cmake optfeature flag-o-matic
|
||||
|
||||
inherit git-r3
|
||||
# ^ TODO: conditional (only for 9999)? maybe port to tarballs before moving to gentoo repo.
|
||||
#inherit patches
|
||||
# ^ TODO: drop before moving to gentoo repo, and port to manual selection
|
||||
|
||||
DESCRIPTION="Official desktop client for Telegram"
|
||||
HOMEPAGE="https://desktop.telegram.org"
|
||||
|
||||
EGIT_REPO_URI="https://github.com/telegramdesktop/tdesktop.git"
|
||||
EGIT_SUBMODULES=(
|
||||
'*'
|
||||
-Telegram/ThirdParty/{xxHash,Catch,lz4,libdbusmenu-qt,fcitx{5,}-qt{,5},hime,hunspell,nimf,qt5ct,range-v3,jemalloc,dispatch}
|
||||
#,plasma-wayland-protocols,wayland-protocols,kimageformats,kcoreaddons}
|
||||
)
|
||||
|
||||
if [[ "${PV}" == 9999 ]]; then
|
||||
EGIT_BRANCH="dev"
|
||||
else
|
||||
# TODO: tarballs
|
||||
EGIT_COMMIT="v${PV}"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
|
||||
# ~arm # blocked by dispatch in gentoo-repo
|
||||
# ~mipsel # blocked by all :(
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3-with-openssl-exception"
|
||||
SLOT="0"
|
||||
#IUSE="custom-api-id debug enchant +hunspell +jemalloc lto pipewire pulseaudio qt6 qt6-imageformats +screencast system-gsl +system-expected +system-libtgvoip system-rlottie test +wayland +X"
|
||||
IUSE="custom-api-id dbus debug enchant +fonts +hunspell +jemalloc lto pipewire pulseaudio qt6 qt6-imageformats +screencast +system-libtgvoip test +wayland +webkit +X"
|
||||
|
||||
REQUIRED_USE="
|
||||
^^ ( enchant hunspell )
|
||||
qt6-imageformats? ( qt6 )
|
||||
"
|
||||
|
||||
MYPATCHES=(
|
||||
"hide-banned"
|
||||
"hide-sponsored-messages"
|
||||
"wide-baloons"
|
||||
"chat-ids"
|
||||
"increase-limits"
|
||||
"ignore-restrictions"
|
||||
)
|
||||
USE_EXPAND_VALUES_TDESKTOP_PATCHES="${MYPATCHES[@]}"
|
||||
for p in ${MYPATCHES[@]}; do
|
||||
IUSE="${IUSE} tdesktop_patches_${p}"
|
||||
done
|
||||
|
||||
KIMAGEFORMATS_RDEPEND="
|
||||
media-libs/libavif:=
|
||||
media-libs/libheif:=
|
||||
media-libs/libjxl
|
||||
"
|
||||
# kde-frameworks/kimageformats
|
||||
# kde-frameworks/kcoreaddons
|
||||
COMMON_DEPEND="
|
||||
!net-im/telegram-desktop-bin
|
||||
app-arch/lz4:=
|
||||
dev-cpp/abseil-cpp:=
|
||||
>=dev-cpp/glibmm-2.77:2.68
|
||||
>=dev-libs/glib-2.77:2
|
||||
>=dev-libs/gobject-introspection-1.77
|
||||
dev-libs/libdispatch
|
||||
dev-libs/openssl:=
|
||||
dev-libs/protobuf
|
||||
dev-libs/xxhash
|
||||
media-libs/libjpeg-turbo:=
|
||||
system-libtgvoip? ( >media-libs/libtgvoip-2.4.4:=[pulseaudio(-)=,pipewire(-)=] )
|
||||
media-libs/openal:=[pipewire=]
|
||||
media-libs/opus:=
|
||||
media-libs/rnnoise:=
|
||||
media-video/ffmpeg:=[opus,vpx]
|
||||
sys-libs/zlib:=[minizip]
|
||||
virtual/opengl
|
||||
enchant? ( app-text/enchant:= )
|
||||
hunspell? ( >=app-text/hunspell-1.7:= )
|
||||
jemalloc? ( dev-libs/jemalloc:=[-lazy-lock] )
|
||||
!qt6? (
|
||||
>=dev-qt/qtcore-5.15:5=
|
||||
>=dev-qt/qtgui-5.15:5=[dbus,jpeg,png,wayland?,X?]
|
||||
>=dev-qt/qtimageformats-5.15:5=
|
||||
>=dev-qt/qtnetwork-5.15:5=[ssl]
|
||||
>=dev-qt/qtsvg-5.15:5=
|
||||
>=dev-qt/qtwidgets-5.15:5=[png,X?]
|
||||
kde-frameworks/kcoreaddons:=
|
||||
wayland? (
|
||||
dev-qt/qtwayland:5=
|
||||
)
|
||||
webkit? (
|
||||
>=dev-qt/qtdeclarative-5.15:5=
|
||||
>=dev-qt/qtwayland-5.15:5=
|
||||
)
|
||||
dev-qt/qtdbus:5=
|
||||
dev-libs/libdbusmenu-qt[qt5(+)]
|
||||
)
|
||||
qt6? (
|
||||
>=dev-qt/qtbase-6.5:6=[dbus,gui,network,opengl,wayland?,widgets,X?]
|
||||
>=dev-qt/qtimageformats-6.5:6=
|
||||
>=dev-qt/qtsvg-6.5:6=
|
||||
wayland? ( >=dev-qt/qtwayland-6.5:6=[compositor] )
|
||||
webkit? (
|
||||
>=dev-qt/qtdeclarative-6.5:6
|
||||
>=dev-qt/qtwayland-6.5:6[compositor]
|
||||
)
|
||||
qt6-imageformats? (
|
||||
>=dev-qt/qtimageformats-6.5:6=
|
||||
${KIMAGEFORMATS_RDEPEND}
|
||||
)
|
||||
)
|
||||
X? (
|
||||
x11-libs/libxcb:=
|
||||
x11-libs/xcb-util-keysyms
|
||||
)
|
||||
dev-libs/boost:=
|
||||
dev-libs/libsigc++:2
|
||||
dev-libs/libfmt:=
|
||||
!fonts? ( media-fonts/open-sans )
|
||||
media-libs/fontconfig:=
|
||||
media-libs/libyuv:=
|
||||
pulseaudio? (
|
||||
!pipewire? ( media-sound/pulseaudio-daemon )
|
||||
)
|
||||
pipewire? (
|
||||
media-video/pipewire[sound-server(+)]
|
||||
!media-sound/pulseaudio-daemon
|
||||
)
|
||||
media-libs/libyuv:=
|
||||
>=media-libs/tg_owt-0_pre20230401:=[pipewire(-)=,screencast=,X=]
|
||||
wayland? (
|
||||
kde-plasma/kwayland:=
|
||||
dev-libs/wayland-protocols:=
|
||||
dev-libs/plasma-wayland-protocols:=
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
${COMMON_DEPEND}
|
||||
webkit? ( net-libs/webkit-gtk:= )
|
||||
"
|
||||
DEPEND="
|
||||
${COMMON_DEPEND}
|
||||
>=dev-cpp/range-v3-0.10.0:=
|
||||
"
|
||||
# system-gsl? ( >dev-cpp/ms-gsl-2.0.0:= )
|
||||
# ^ TG upstream uses patched bundled version.
|
||||
# >=dev-cpp/cppgir-0_p20230926
|
||||
# ^ WFM even without it 🤷
|
||||
BDEPEND="
|
||||
>=dev-util/gdbus-codegen-2.77
|
||||
virtual/pkgconfig
|
||||
amd64? ( dev-lang/yasm )
|
||||
"
|
||||
|
||||
# system-rlottie? ( >=media-libs/rlottie-0_pre20190818:=[threads(-),-cache(-)] )
|
||||
# ^ TG upstream uses patched bundled version.
|
||||
# system-expected? ( >dev-cpp/tl-expected-1.0.0:= )
|
||||
# ^ TG upstream uses patched bundled version.
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/tdesktop-4.10.0-system-cppgir.patch"
|
||||
"${FILESDIR}/tdesktop-4.10.5-qt_compare.patch"
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
for p in ${MYPATCHES[@]}; do
|
||||
if use "tdesktop_patches_${p}"; then
|
||||
tdesktop_patches_warn=1
|
||||
fi
|
||||
done
|
||||
if [[ -n "${tdesktop_patches_warn}" ]]; then
|
||||
ewarn "!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
ewarn "!!!!!!!! WARNNING !!!!!!!"
|
||||
ewarn "!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
ewarn "You have enabled some custom patches!"
|
||||
ewarn "Some of them can violate TOS of Telegram and can (but non necessary will) lead to ban of your account on TG main network."
|
||||
ewarn "Please, be careful."
|
||||
einfo "Also, note that none of that patches have any chance to be ported to ${PN} ebuild in Gentoo repo"
|
||||
fi
|
||||
|
||||
if ! use wayland || ! use qt6; then
|
||||
ewarn ""
|
||||
ewarn "Keep in mind that embedded webview (based on webkit), may not work in runtime."
|
||||
ewarn "Upstream has reworked it in sych way that it only guaranteed to work under Wayland+Qt6"
|
||||
ewarn ""
|
||||
fi
|
||||
if use custom-api-id; then
|
||||
if [[ -n "${TELEGRAM_CUSTOM_API_ID}" ]] && [[ -n "${TELEGRAM_CUSTOM_API_HASH}" ]]; then
|
||||
einfo ""
|
||||
einfo "${P} was built with your custom ApiId and ApiHash"
|
||||
einfo ""
|
||||
else
|
||||
eerror ""
|
||||
eerror "It seems you did not set one or both of TELEGRAM_CUSTOM_API_ID and TELEGRAM_CUSTOM_API_HASH variables,"
|
||||
eerror "which are required for custom-api-id USE-flag."
|
||||
eerror "You can set them either in:"
|
||||
eerror "- /etc/portage/make.conf (globally, so all applications you'll build will see that ID and HASH"
|
||||
eerror "- /etc/portage/env/${CATEGORY}/${PN} (privately for this package builds)"
|
||||
eerror ""
|
||||
die "You should correctly set both TELEGRAM_CUSTOM_API_ID and TELEGRAM_CUSTOM_API_HASH variables"
|
||||
fi
|
||||
fi
|
||||
|
||||
# if use system-rlottie; then
|
||||
# eerror ""
|
||||
# eerror "Currently, ${PN} is totally incompatible with Samsung's rlottie, and uses custom bundled fork."
|
||||
# eerror "Build will definitelly fail. You've been warned!"
|
||||
# eerror "Even if you have custom patches to make it build, there is another issue:"
|
||||
# ewarn ""
|
||||
# ewarn "Unfortunately, ${PN} uses custom modifications over rlottie"
|
||||
# ewarn "(which aren't accepted by upstream, since they made it another way)."
|
||||
# ewarn "This leads to following facts:"
|
||||
# ewarn " - Colors replacement maps are not working when you link against system rlottie package."
|
||||
# ewarn " That means, for example, that 'giant animated emojis' will ignore skin-tone colors"
|
||||
# ewarn " and will always be yellow"
|
||||
# ewarn " Ref: https://github.com/Samsung/rlottie/pull/252"
|
||||
# ewarn " - Crashes on some stickerpacks"
|
||||
# ewarn " Probably related to: https://github.com/Samsung/rlottie/pull/262"
|
||||
# ewarn ""
|
||||
# fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# Temporary (?) broken (has a bug in std::variant), and fixed in bundled version.
|
||||
# use system-gsl && EGIT_SUBMODULES+=(-Telegram/ThirdParty/GSL)
|
||||
|
||||
# # XXX: maybe de-unbundle those? Anyway, they're header-only libraries...
|
||||
# # Moreover, upstream recommends to use bundled versions to avoid artefacts 🤷
|
||||
# use system-expected && EGIT_SUBMODULES+=(-Telegram/ThirdParty/expected)
|
||||
|
||||
use system-libtgvoip && EGIT_SUBMODULES+=(-Telegram/ThirdParty/libtgvoip)
|
||||
|
||||
# use system-rlottie && EGIT_SUBMODULES+=(-Telegram/{lib_rlottie,ThirdParty/rlottie})
|
||||
# ^ Ref: https://bugs.gentoo.org/752417
|
||||
|
||||
git-r3_src_unpack
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# use system-rlottie || (
|
||||
# # Ref: https://bugs.gentoo.org/752417
|
||||
# sed -i \
|
||||
# -e 's/DESKTOP_APP_USE_PACKAGED/0/' \
|
||||
# cmake/external/rlottie/CMakeLists.txt || die
|
||||
# )
|
||||
|
||||
sed -i \
|
||||
-e '/-W.*/d' \
|
||||
-e '/PIC/a-Wno-error\n-Wno-all' \
|
||||
-e "$(usex debug '' 's@-g[a-zA-Z0-9]*@@')" \
|
||||
-e "$(usex lto '' 's@-flto@@')" \
|
||||
-e "s@-Ofast@@" \
|
||||
cmake/options_linux.cmake || die
|
||||
|
||||
# echo > cmake/options_linux.cmake
|
||||
# ^ Maybe just wipe it out instead of trying to fix?
|
||||
# ^ There are not so mush useful compiler flags, actually.
|
||||
|
||||
# Bundle kde-frameworks/kimageformats for qt6, since it's impossible to
|
||||
# build in gentoo right now.
|
||||
if use qt6-imageformats; then
|
||||
sed -e 's/DESKTOP_APP_USE_PACKAGED_LAZY/TRUE/' -i \
|
||||
cmake/external/kimageformats/CMakeLists.txt || die
|
||||
printf "%s\n" \
|
||||
'Q_IMPORT_PLUGIN(QAVIFPlugin)' \
|
||||
'Q_IMPORT_PLUGIN(HEIFPlugin)' \
|
||||
'Q_IMPORT_PLUGIN(QJpegXLPlugin)' \
|
||||
>> cmake/external/qt/qt_static_plugins/qt_static_plugins.cpp || die
|
||||
fi
|
||||
|
||||
# kde-frameworks/kcoreaddons is bundled when using qt6, see:
|
||||
# cmake/external/kcoreaddons/CMakeLists.txt
|
||||
|
||||
# Happily fail if libraries aren't found...
|
||||
find -type f \( -name 'CMakeLists.txt' -o -name '*.cmake' \) \
|
||||
\! -path "./cmake/external/expected/CMakeLists.txt" \
|
||||
\! -path './cmake/external/qt/package.cmake' \
|
||||
\! -path './Telegram/lib_webview/CMakeLists.txt' \
|
||||
-print0 | xargs -0 sed -i \
|
||||
-e '/pkg_check_modules(/s/[^ ]*)/REQUIRED &/' \
|
||||
-e '/find_package(/s/)/ REQUIRED)/' || die
|
||||
# Make sure to check the excluded files for new
|
||||
# CMAKE_DISABLE_FIND_PACKAGE entries.
|
||||
|
||||
# Control QtDBus dependency from here, to avoid messing with QtGui.
|
||||
if ! use dbus; then
|
||||
sed -e '/find_package(Qt[^ ]* OPTIONAL_COMPONENTS/s/DBus *//' \
|
||||
-i cmake/external/qt/package.cmake || die
|
||||
fi
|
||||
|
||||
# patches_src_prepare
|
||||
cmake_src_prepare
|
||||
# ^ to be used when will be ported to gentoo repo
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
filter-flags '-DDEBUG' # produces bugs in bundled forks of 3party code
|
||||
append-cppflags '-DNDEBUG' # Telegram sets that in code
|
||||
# (and I also forced that here and in libtgvoip ebuild to have the same behaviour),
|
||||
# and segfaults on voice calls on mismatch
|
||||
# (if tg was built with it, and deps are built without it, and vice versa)
|
||||
use lto && (
|
||||
append-flags '-flto'
|
||||
append-ldflags '-flto'
|
||||
)
|
||||
local mycxxflags=(
|
||||
${CXXFLAGS}
|
||||
-Wno-error=deprecated-declarations
|
||||
-Wno-deprecated-declarations
|
||||
-Wno-switch
|
||||
-DLIBDIR="$(get_libdir)"
|
||||
-DTDESKTOP_DISABLE_AUTOUPDATE
|
||||
)
|
||||
|
||||
local qt=$(usex qt6 6 5)
|
||||
local mycmakeargs=(
|
||||
# -DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=$(usex !system-expected)
|
||||
# ^ header only lib, some git version. prevents warnings.
|
||||
|
||||
-DQT_VERSION_MAJOR=${qt}
|
||||
|
||||
# Control automagic dependencies on certain packages
|
||||
## Header-only lib, some git version.
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_tl-expected=ON
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}Quick=$(usex !webkit)
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}QuickWidgets=$(usex !webkit)
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandClient=$(usex !wayland)
|
||||
## Only used in Telegram/lib_webview/CMakeLists.txt
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt${qt}WaylandCompositor=$(usex !webkit)
|
||||
|
||||
-DCMAKE_CXX_FLAGS:="${mycxxflags[*]}"
|
||||
|
||||
# Upstream does not need crash reports from custom builds anyway
|
||||
-DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON
|
||||
|
||||
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant) # enables enchant and disables hunspell
|
||||
|
||||
# Unbundling:
|
||||
-DDESKTOP_APP_USE_PACKAGED=ON # Main
|
||||
|
||||
-DDESKTOP_APP_DISABLE_JEMALLOC=$(usex !jemalloc)
|
||||
|
||||
-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION="$(usex !wayland)"
|
||||
|
||||
-DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
|
||||
|
||||
$(usex lto "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON" '')
|
||||
|
||||
-DTDESKTOP_API_TEST=$(usex test)
|
||||
|
||||
## Use system fonts instead of bundled ones
|
||||
-DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
|
||||
|
||||
# Snapcraft (snap, flatpack, whatever) API keys:
|
||||
# As of my discussion with John Preston, he specifically asked TG servers owners to never ban snap's keys:
|
||||
# TODO: (!!!!!!!) Ask Gentoo Council (or whatever) to get "official" Gentoo keys.
|
||||
-DTDESKTOP_API_ID=$(usex custom-api-id "${TELEGRAM_CUSTOM_API_ID}" "611335")
|
||||
-DTDESKTOP_API_HASH=$(usex custom-api-id "${TELEGRAM_CUSTOM_API_HASH}" "d524b414d21f4d37f08684c1df41ac9c")
|
||||
|
||||
# -DDESKTOP_APP_LOTTIE_USE_CACHE=NO
|
||||
# # in case of caching bugs. Maybe also useful with system-rlottie[cache]. TODO: test that idea.
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
if ! use X && ! use screencast; then
|
||||
ewarn "both the 'X' and 'screencast' USE flags are disabled, screen sharing won't work!"
|
||||
ewarn
|
||||
fi
|
||||
if has_version '<dev-qt/qtcore-5.15.2-r10'; then
|
||||
ewarn "Versions of dev-qt/qtcore lower than 5.15.2-r10 might cause telegram"
|
||||
ewarn "to crash when pasting big images from the clipboard."
|
||||
ewarn
|
||||
fi
|
||||
if ! use jemalloc && use elibc_glibc; then
|
||||
# https://github.com/telegramdesktop/tdesktop/issues/16084
|
||||
# https://github.com/desktop-app/cmake_helpers/pull/91#issuecomment-881788003
|
||||
ewarn "Disabling USE=jemalloc on glibc systems may cause very high RAM usage!"
|
||||
ewarn "Do NOT report issues about RAM usage without enabling this flag first."
|
||||
ewarn
|
||||
fi
|
||||
if use qt6; then
|
||||
ewarn "Qt6 support in gentoo is experimental."
|
||||
ewarn "Please report any issues you may find, but don't expect"
|
||||
ewarn "everything to work correctly as of yet."
|
||||
ewarn
|
||||
fi
|
||||
if use wayland && ! use qt6; then
|
||||
ewarn "Wayland-specific integrations have been deprecated with Qt5."
|
||||
ewarn "The app will continue to function under wayland, but some"
|
||||
ewarn "functionality may be reduced."
|
||||
ewarn "These integrations are only supported when built with Qt6."
|
||||
ewarn
|
||||
fi
|
||||
if use qt6 && ! use qt6-imageformats; then
|
||||
elog "Enable USE=qt6-imageformats for AVIF, HEIF and JpegXL support"
|
||||
elog
|
||||
fi
|
||||
optfeature_header
|
||||
if ! use qt6; then
|
||||
optfeature "AVIF, HEIF and JpegXL image support" kde-frameworks/kimageformats[avif,heif,jpegxl]
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
}
|
||||
376
net-im/telegram-desktop/telegram-desktop-9999.ebuild
Normal file
376
net-im/telegram-desktop/telegram-desktop-9999.ebuild
Normal file
|
|
@ -0,0 +1,376 @@
|
|||
# Copyright 2020-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit xdg cmake python-any-r1 optfeature flag-o-matic toolchain-funcs
|
||||
|
||||
DESCRIPTION="Official desktop client for Telegram"
|
||||
HOMEPAGE="https://desktop.telegram.org"
|
||||
|
||||
if [[ ${PV} == 9999 ]]
|
||||
then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_BRANCH="dev"
|
||||
EGIT_REPO_URI="https://github.com/telegramdesktop/tdesktop.git"
|
||||
EGIT_SUBMODULES=(
|
||||
'*'
|
||||
'-Telegram/ThirdParty/hunspell'
|
||||
'-Telegram/ThirdParty/jemalloc'
|
||||
'-Telegram/ThirdParty/libdbusmenu-qt'
|
||||
'-Telegram/ThirdParty/lz4'
|
||||
)
|
||||
|
||||
KEYWORDS=""
|
||||
else
|
||||
MY_PN="tdesktop"
|
||||
MY_P="${MY_PN}-${PV}-full"
|
||||
|
||||
ABSEIL_VER="20220623.1"
|
||||
CRC32C_VER="1.1.2"
|
||||
QTBASE_VER="5.15.2"
|
||||
|
||||
LIBYUV_COMMIT="00950840d1c9bcbb3eb6ebc5aac5793e71166c8b"
|
||||
TG_OWT_COMMIT="5098730b9eb6173f0b52068fe2555b7c1015123a"
|
||||
|
||||
SRC_URI="
|
||||
https://github.com/telegramdesktop/${MY_PN}/releases/download/v${PV}/${MY_P}.tar.gz
|
||||
|
||||
https://github.com/abseil/abseil-cpp/archive/refs/tags/${ABSEIL_VER}.tar.gz -> abseil-cpp-${ABSEIL_VER}.tar.gz
|
||||
https://github.com/google/crc32c/archive/refs/tags/${CRC32C_VER}.tar.gz -> crc32c-${CRC32C_VER}.tar.gz
|
||||
https://download.qt.io/official_releases/qt/${QTBASE_VER%.*}/${QTBASE_VER}/submodules/qtbase-everywhere-src-${QTBASE_VER}.tar.xz
|
||||
|
||||
https://gitlab.com/chromiumsrc/libyuv/-/archive/${LIBYUV_COMMIT}/libyuv-${LIBYUV_COMMIT}.tar.gz -> libyuv-${LIBYUV_COMMIT::7}.tar.gz
|
||||
https://github.com/desktop-app/tg_owt/archive/${TG_OWT_COMMIT}.tar.gz -> tg_owt-${TG_OWT_COMMIT::7}.tar.gz
|
||||
"
|
||||
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
fi
|
||||
|
||||
LICENSE="BSD GPL-3-with-openssl-exception LGPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="+dbus enchant +fonts +hunspell +lto wayland +X"
|
||||
# alsa crashreporter custom-api-id
|
||||
REQUIRED_USE="
|
||||
enchant? ( !hunspell )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
!net-im/telegram-desktop-bin
|
||||
app-arch/lz4:=
|
||||
dbus? ( dev-cpp/glibmm:2.68 )
|
||||
>=dev-cpp/abseil-cpp-20220623.1:=
|
||||
dev-libs/crc32c
|
||||
dev-libs/glib:2
|
||||
dev-libs/jemalloc:=[-lazy-lock]
|
||||
dev-libs/libevent:=
|
||||
dev-libs/openssl:=
|
||||
dev-libs/protobuf:=
|
||||
>=dev-qt/qtcore-5.15:5
|
||||
>=dev-qt/qtgui-5.15:5[dbus?,jpeg,png,wayland?,X?]
|
||||
>=dev-qt/qtimageformats-5.15:5
|
||||
>=dev-qt/qtnetwork-5.15:5[ssl]
|
||||
>=dev-qt/qtsvg-5.15:5
|
||||
>=dev-qt/qtwidgets-5.15:5[png,X?]
|
||||
enchant? ( app-text/enchant:= )
|
||||
hunspell? ( >=app-text/hunspell-1.7:= )
|
||||
kde-frameworks/kcoreaddons:=
|
||||
media-fonts/open-sans
|
||||
media-libs/fontconfig:=
|
||||
media-libs/libjpeg-turbo:=
|
||||
>=media-libs/libvpx-1.10.0:=
|
||||
media-libs/openal
|
||||
media-libs/openh264:=
|
||||
media-libs/opus:=
|
||||
media-libs/rnnoise
|
||||
media-sound/pulseaudio
|
||||
media-video/ffmpeg:=[opus]
|
||||
media-video/pipewire:=
|
||||
net-libs/usrsctp
|
||||
sys-libs/zlib:=[minizip]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXtst
|
||||
x11-libs/libxcb:=
|
||||
)
|
||||
"
|
||||
# alsa? ( media-libs/alsa-lib )
|
||||
# crashreporter? ( dev-util/google-breakpad )
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
>=dev-util/cmake-3.16
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/tdesktop-4.3.4-qt5-incompatibility-2.patch"
|
||||
"${FILESDIR}/tdesktop-4.4.1-fix-dupe-main-decl.patch"
|
||||
)
|
||||
|
||||
TG_OWT_PATCHES=(
|
||||
"${FILESDIR}/tg_owt-0_pre20220209-gcc-12-cstddef.patch"
|
||||
"${FILESDIR}/tg_owt-0_pre20220209-gcc-12-cstdint.patch"
|
||||
)
|
||||
|
||||
# Current desktop-file-utils-0.26 does not understand Version=1.5
|
||||
QA_DESKTOP_FILE="usr/share/applications/${PN}.desktop"
|
||||
|
||||
QTBASE_DIR="${WORKDIR}"/Libraries/qtbase
|
||||
TG_OWT_DIR="${WORKDIR}"/Libraries/tg_owt
|
||||
|
||||
pkg_pretend() {
|
||||
# if use custom-api-id
|
||||
# then
|
||||
# [[ -n "${TDESKTOP_API_ID}" ]] && \
|
||||
# [[ -n "${TDESKTOP_API_HASH}" ]] && (
|
||||
# einfo "Will be used custom 'api_id' and 'api_hash':"
|
||||
# einfo "TDESKTOP_API_ID=${TDESKTOP_API_ID}"
|
||||
# einfo "TDESKTOP_API_HASH=${TDESKTOP_API_HASH//[!\*]/*}"
|
||||
# ) || (
|
||||
# eerror "It seems you did not set one or both of"
|
||||
# eerror "TDESKTOP_API_ID and TDESKTOP_API_HASH variables,"
|
||||
# eerror "which are required for custom-api-id USE-flag."
|
||||
# eerror "You can set them either in your env or bashrc."
|
||||
# die
|
||||
# )
|
||||
#
|
||||
# echo ${TDESKTOP_API_ID} | grep -q "^[0-9]\+$" || (
|
||||
# eerror "Please check your TDESKTOP_API_ID variable"
|
||||
# eerror "It should consist of decimal numbers only"
|
||||
# die
|
||||
# )
|
||||
#
|
||||
# echo ${TDESKTOP_API_HASH} | grep -q "^[0-9A-Fa-f]\{32\}$" || (
|
||||
# eerror "Please check your TDESKTOP_API_HASH variable"
|
||||
# eerror "It should consist of 32 hex numbers only"
|
||||
# die
|
||||
# )
|
||||
# fi
|
||||
|
||||
if tc-is-gcc && [[ $(gcc-major-version) -lt 7 ]]
|
||||
then
|
||||
die "At least gcc 7.0 is required"
|
||||
fi
|
||||
}
|
||||
|
||||
git_unpack() {
|
||||
git-r3_src_unpack
|
||||
|
||||
unset EGIT_BRANCH
|
||||
unset EGIT_SUBMODULES
|
||||
|
||||
EGIT_COMMIT_DATE=$(GIT_DIR="${S}/.git" git show -s --format=%ct || die)
|
||||
|
||||
EGIT_REPO_URI="https://code.qt.io/qt/qtbase.git"
|
||||
EGIT_CHECKOUT_DIR="${QTBASE_DIR}"
|
||||
|
||||
git-r3_src_unpack
|
||||
|
||||
EGIT_REPO_URI="https://github.com/desktop-app/tg_owt.git"
|
||||
EGIT_CHECKOUT_DIR="${TG_OWT_DIR}"
|
||||
|
||||
git-r3_src_unpack
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]]
|
||||
then
|
||||
git_unpack
|
||||
return
|
||||
fi
|
||||
|
||||
unpack "${MY_P}.tar.gz"
|
||||
|
||||
local commit=$(
|
||||
cat "${MY_P}"/Telegram/build/docker/centos_env/Dockerfile \
|
||||
| sed '/^RUN.*git.*init.*tg_owt/,/git.*fetch/!d' \
|
||||
| tail -n1 | sed 's/.*\([0-9a-zA-Z]\{40\}\).*/\1/'
|
||||
)
|
||||
|
||||
if [[ "${commit}" != "${TG_OWT_COMMIT}" ]]
|
||||
then
|
||||
die "You should update \${TG_OWT_COMMIT} to ${commit}"
|
||||
fi
|
||||
|
||||
mkdir Libraries || die
|
||||
cd Libraries || die
|
||||
|
||||
unpack "qtbase-everywhere-src-${QTBASE_VER}.tar.xz"
|
||||
mv "qtbase-everywhere-src-${QTBASE_VER}" "qtbase" || die
|
||||
|
||||
unpack "tg_owt-${TG_OWT_COMMIT::7}.tar.gz"
|
||||
mv "tg_owt-${TG_OWT_COMMIT}" "tg_owt" || die
|
||||
|
||||
cd "tg_owt/src/third_party" || die
|
||||
|
||||
unpack "abseil-cpp-${ABSEIL_VER}.tar.gz"
|
||||
rmdir "abseil-cpp" || die
|
||||
mv "abseil-cpp-${ABSEIL_VER}" "abseil-cpp" || die
|
||||
|
||||
unpack "crc32c-${CRC32C_VER}.tar.gz"
|
||||
rmdir "crc32c/src" || die
|
||||
mv "crc32c-${CRC32C_VER}" "crc32c/src" || die
|
||||
|
||||
unpack "libyuv-${LIBYUV_COMMIT::7}.tar.gz"
|
||||
rmdir "libyuv" || die
|
||||
mv "libyuv-${LIBYUV_COMMIT}" "libyuv" || die
|
||||
}
|
||||
|
||||
qt_prepare() {
|
||||
local qt_src="${QTBASE_DIR}"/src
|
||||
local qt_fun="${S}"/Telegram/lib_ui/ui/text/qtextitemint.cpp
|
||||
|
||||
echo "#include <QtGui/private/qtextengine_p.h>" > "${qt_fun}"
|
||||
|
||||
sed '/^QTextItemInt::QTextItemInt.*QGlyphLayout/,/^\}/!d' \
|
||||
"${qt_src}"/gui/text/qtextengine.cpp >> "${qt_fun}"
|
||||
|
||||
sed '/^void.*QTextItemInt::initWithScriptItem.*QScriptItem/,/^\}/!d' \
|
||||
"${qt_src}"/gui/text/qtextengine.cpp >> "${qt_fun}"
|
||||
|
||||
}
|
||||
|
||||
tg_owt_prepare() {
|
||||
local PATCHES=( "${TG_OWT_PATCHES[@]}" )
|
||||
|
||||
pushd "${TG_OWT_DIR}" >/dev/null || die
|
||||
|
||||
sed -i -e '/include.*libopenh264/d' \
|
||||
CMakeLists.txt || die
|
||||
|
||||
BUILD_DIR="${TG_OWT_DIR}/out" CMAKE_USE_DIR="${TG_OWT_DIR}" \
|
||||
cmake_src_prepare
|
||||
|
||||
popd >/dev/null || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
qt_prepare
|
||||
tg_owt_prepare
|
||||
|
||||
cp "${FILESDIR}"/breakpad.cmake \
|
||||
cmake/external/crash_reports/breakpad/CMakeLists.txt || die
|
||||
|
||||
sed -i -e 's:DESKTOP_APP_USE_PACKAGED:False:' \
|
||||
cmake/external/{expected,gsl,ranges,variant,xxhash}/CMakeLists.txt \
|
||||
Telegram/cmake/lib_tgvoip.cmake || die
|
||||
|
||||
sed -i -e 's:find_package.*tg_owt:\0 PATHS ${libs_loc}/tg_owt/out:' \
|
||||
cmake/external/webrtc/CMakeLists.txt || die
|
||||
|
||||
sed -i -e '/find_package/ s:Qt6::' \
|
||||
cmake/external/qt/package.cmake || die
|
||||
|
||||
# TDESKTOP_API_{ID,HASH} related:
|
||||
|
||||
sed -i -e 's:if.*TDESKTOP_API_[A-Z]*.*:if(False):' \
|
||||
Telegram/cmake/telegram_options.cmake || die
|
||||
|
||||
sed -i -e '/TDESKTOP_API_[A-Z]*/d' \
|
||||
Telegram/CMakeLists.txt || die
|
||||
|
||||
# if use custom-api-id
|
||||
# then
|
||||
# local -A api_defs=(
|
||||
# [ID]="#define TDESKTOP_API_ID ${TDESKTOP_API_ID}"
|
||||
# [HASH]="#define TDESKTOP_API_HASH ${TDESKTOP_API_HASH}"
|
||||
# )
|
||||
# else
|
||||
if true
|
||||
then
|
||||
local -A api_defs=(
|
||||
[ID]=$(
|
||||
cat snap/snapcraft.yaml \
|
||||
| ( grep TDESKTOP_API_ID || die ) \
|
||||
| sed 's:.*=\(.*\):#define TDESKTOP_API_ID \1:'
|
||||
)
|
||||
|
||||
[HASH]=$(
|
||||
cat snap/snapcraft.yaml \
|
||||
| ( grep TDESKTOP_API_HASH || die ) \
|
||||
| sed 's:.*=\(.*\):#define TDESKTOP_API_HASH \1:'
|
||||
)
|
||||
)
|
||||
fi
|
||||
|
||||
sed -i \
|
||||
-e "/#if.*defined.*TDESKTOP_API_ID/i ${api_defs[ID]}" \
|
||||
-e "/#if.*defined.*TDESKTOP_API_HASH/i ${api_defs[HASH]}" \
|
||||
Telegram/SourceFiles/config.h || die
|
||||
|
||||
cmake_src_prepare
|
||||
}
|
||||
|
||||
tg_owt_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
-DTG_OWT_BUILD_AUDIO_BACKENDS=OFF
|
||||
-DTG_OWT_USE_PROTOBUF=ON
|
||||
)
|
||||
|
||||
BUILD_DIR="${TG_OWT_DIR}/out" CMAKE_USE_DIR="${TG_OWT_DIR}" \
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycxxflags=(
|
||||
-Wno-array-bounds
|
||||
-Wno-free-nonheap-object
|
||||
-Wno-uninitialized
|
||||
)
|
||||
|
||||
append-cxxflags ${mycxxflags[@]}
|
||||
|
||||
tg_owt_configure
|
||||
|
||||
local mycmakeargs=(
|
||||
-DDESKTOP_APP_USE_PACKAGED=ON
|
||||
-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF
|
||||
-DLIBTGVOIP_DISABLE_PULSEAUDIO=OFF
|
||||
|
||||
# -DDESKTOP_APP_DISABLE_CRASH_REPORTS=$(usex !crashreporter)
|
||||
-DDESKTOP_APP_DISABLE_DBUS_INTEGRATION=$(usex !dbus)
|
||||
-DDESKTOP_APP_DISABLE_SPELLCHECK=$(usex !enchant $(usex !hunspell))
|
||||
-DDESKTOP_APP_DISABLE_WAYLAND_INTEGRATION=$(usex !wayland)
|
||||
-DDESKTOP_APP_DISABLE_X11_INTEGRATION=$(usex !X)
|
||||
-DDESKTOP_APP_USE_ENCHANT=$(usex enchant)
|
||||
-DDESKTOP_APP_USE_PACKAGED_FONTS=$(usex !fonts)
|
||||
# -DLIBTGVOIP_DISABLE_ALSA=$(usex !alsa)
|
||||
)
|
||||
|
||||
if use lto; then
|
||||
mycmakeargs+=(
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
|
||||
)
|
||||
fi
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
BUILD_DIR="${TG_OWT_DIR}/out" CMAKE_USE_DIR="${TG_OWT_DIR}" \
|
||||
cmake_src_compile
|
||||
|
||||
cmake_src_compile
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
if has_version '<dev-qt/qtcore-5.15.2-r10'; then
|
||||
ewarn "Versions of dev-qt/qtcore lower than 5.15.2-r10 might cause telegram"
|
||||
ewarn "to crash when pasting big images from the clipboard."
|
||||
fi
|
||||
optfeature_header
|
||||
optfeature "shop payment support (requires USE=dbus enabled)" net-libs/webkit-gtk
|
||||
}
|
||||
1
net-im/viber-bin/Manifest
Normal file
1
net-im/viber-bin/Manifest
Normal file
|
|
@ -0,0 +1 @@
|
|||
DIST viber-bin-21.0.0.1.deb 152860172 BLAKE2B 77a8a00ce191ead0ca285f8e4a5a1f7c9035e778dad3eaa2e34386645377965017ebe13c7c52324b24d198d1f59ea517094c58c4a9d2c7620f1c6535e0293914 SHA512 0ff5fffaefd85a15dba19be4c50e49cf1530bc7ed5226e0220c66c0c3d6e0b03d4bec4cf142696c6ebefad00943b144164750dd20e18cee6feba9b229c3c2d2b
|
||||
11
net-im/viber-bin/Metadata.xml
Normal file
11
net-im/viber-bin/Metadata.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<longdescription>
|
||||
Free and secure calls and messages to anyone, anywhere, on any device and network, in any country!
|
||||
Viber for Desktop syncs your contacts, messages and call history with your mobile device.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="alsa">Enable alsa support through media-libs/alsa-lib</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
13
net-im/viber-bin/files/viber-bin-desktop-file.patch
Normal file
13
net-im/viber-bin/files/viber-bin-desktop-file.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
--- a/usr/share/applications/viber.desktop
|
||||
+++ b/usr/share/applications/viber.desktop
|
||||
@@ -2,8 +2,9 @@
|
||||
Name=Viber
|
||||
Comment=Viber VoIP and messenger
|
||||
Exec=/opt/viber/Viber %u
|
||||
-Icon=/usr/share/pixmaps/viber.png
|
||||
+Icon=viber
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Network;InstantMessaging;P2P;
|
||||
MimeType=x-scheme-handler/viber;
|
||||
+StartupWMClass=Viber
|
||||
56
net-im/viber-bin/viber-bin-21.0.0.1.ebuild
Normal file
56
net-im/viber-bin/viber-bin-21.0.0.1.ebuild
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# File was automatically generated by automatic-ebuild-maker
|
||||
# https://github.com/BlueManCZ/automatic-ebuild-maker
|
||||
# Modified by TheK0tYaRa
|
||||
|
||||
EAPI=7
|
||||
inherit unpacker xdg
|
||||
|
||||
DESCRIPTION="Viber for Desktop."
|
||||
HOMEPAGE="https://viber.com"
|
||||
SRC_URI=" https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb -> ${P}.deb"
|
||||
|
||||
LICENSE=""
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
RESTRICT="bindist mirror"
|
||||
IUSE="alsa pulseaudio"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/nss
|
||||
media-libs/gst-plugins-base
|
||||
media-libs/gst-plugins-good
|
||||
media-libs/gst-plugins-ugly
|
||||
media-libs/gstreamer
|
||||
media-libs/libpng
|
||||
media-libs/libmng
|
||||
x11-libs/tslib
|
||||
dev-qt/qtimageformats
|
||||
media-plugins/gst-plugins-libav
|
||||
x11-libs/libxcb
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-desktop-file.patch"
|
||||
)
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm -rf "opt/viber/lib/libpng16.so.16" || die "rm failed"
|
||||
rm -rf "opt/viber/plugins" || die "rm failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cp -a . "${ED}" || die "cp failed"
|
||||
|
||||
dosym "/opt/viber/Viber" "/usr/bin/viber" || die "dosym failed"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue