tdesktop: 1.3.7 -> 1.3.10

tdesktopPackages.preview: 1.3.7 -> 1.3.10

Without the patch the build will fail with the following error:

[ 15%] Building CXX object CMakeFiles/lib_export.dir/build/tdesktop/Telegram/SourceFiles/export/export_api_wrap.o
/build/tdesktop/Telegram/SourceFiles/export/export_api_wrap.cpp: In lambda function:
/build/tdesktop/Telegram/SourceFiles/export/export_api_wrap.cpp:712:56: internal compiler error: Segmentation fault
   if constexpr (MTPDphotos_photos::Is<decltype(data)>()) {
                                                        ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [CMakeFiles/lib_export.dir/build.make:77: CMakeFiles/lib_export.dir/build/tdesktop/Telegram/SourceFiles/export/export_api_wrap.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1101: CMakeFiles/lib_export.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
This commit is contained in:
Michael Weiss 2018-07-17 20:38:56 +02:00
parent bf23666022
commit bf2a009380
3 changed files with 76 additions and 5 deletions

View File

@ -4,11 +4,11 @@ let
mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
stableVersion = {
stable = true;
version = "1.3.7";
sha256Hash = "1rwnqgla061icvyvw8gxqd7qki1jnq0f46hvyffp74ng5r1b6wjg";
version = "1.3.10";
sha256Hash = "0i1lzks8pf627658w6p7dz87d6cl4g98031qm166npkc40f89bpr";
# svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
archPatchesRevision = "310557";
archPatchesHash = "1v134dal3xiapgh3akfr61vh62j24m9vkb62kckwvap44iqb0hlk";
archPatchesRevision = "359861";
archPatchesHash = "15xybfs9k6dww747if8z6m9sh7anvqi76zsx2gxyna2j1z36i0r0";
};
in {
stable = mkTelegram stableVersion;

View File

@ -0,0 +1,68 @@
Date: Tue, 17 Jul 2018 20:29:49 +0200
---
Telegram/SourceFiles/export/data/export_data_types.cpp | 9 ++++++---
Telegram/SourceFiles/export/export_api_wrap.cpp | 6 ++++--
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/Telegram/SourceFiles/export/data/export_data_types.cpp b/Telegram/SourceFiles/export/data/export_data_types.cpp
index f835dc2f9..e811c27e8 100644
--- a/Telegram/SourceFiles/export/data/export_data_types.cpp
+++ b/Telegram/SourceFiles/export/data/export_data_types.cpp
@@ -221,7 +221,8 @@ Image ParseMaxImage(
result.width = data.vw.v;
result.height = data.vh.v;
result.file.location = ParseLocation(data.vlocation);
- if constexpr (MTPDphotoCachedSize::Is<decltype(data)>()) {
+ constexpr bool condition = MTPDphotoCachedSize::Is<decltype(data)>();
+ if constexpr (condition) {
result.file.content = data.vbytes.v;
result.file.size = result.file.content.size();
} else {
@@ -409,7 +410,8 @@ Document ParseDocument(
result.width = data.vw.v;
result.height = data.vh.v;
result.file.location = ParseLocation(data.vlocation);
- if constexpr (MTPDphotoCachedSize::Is<decltype(data)>()) {
+ constexpr bool condition = MTPDphotoCachedSize::Is<decltype(data)>();
+ if constexpr (condition) {
result.file.content = data.vbytes.v;
result.file.size = result.file.content.size();
} else {
@@ -1017,7 +1019,8 @@ Message ParseMessage(
auto result = Message();
data.match([&](const auto &data) {
result.id = data.vid.v;
- if constexpr (!MTPDmessageEmpty::Is<decltype(data)>()) {
+ constexpr bool condition = !MTPDmessageEmpty::Is<decltype(data)>();
+ if constexpr (condition) {
result.toId = ParsePeerId(data.vto_id);
const auto peerId = (!data.is_out()
&& data.has_from_id()
diff --git a/Telegram/SourceFiles/export/export_api_wrap.cpp b/Telegram/SourceFiles/export/export_api_wrap.cpp
index b618937f6..bb98647dd 100644
--- a/Telegram/SourceFiles/export/export_api_wrap.cpp
+++ b/Telegram/SourceFiles/export/export_api_wrap.cpp
@@ -709,7 +709,8 @@ void ApiWrap::handleUserpicsSlice(const MTPphotos_Photos &result) {
Expects(_userpicsProcess != nullptr);
result.match([&](const auto &data) {
- if constexpr (MTPDphotos_photos::Is<decltype(data)>()) {
+ constexpr bool condition = MTPDphotos_photos::Is<decltype(data)>();
+ if constexpr (condition) {
_userpicsProcess->lastSlice = true;
}
loadUserpicsFiles(Data::ParseUserpicsSlice(
@@ -1141,7 +1142,8 @@ void ApiWrap::requestMessagesSlice() {
result.match([&](const MTPDmessages_messagesNotModified &data) {
error("Unexpected messagesNotModified received.");
}, [&](const auto &data) {
- if constexpr (MTPDmessages_messages::Is<decltype(data)>()) {
+ constexpr bool condition = MTPDmessages_messages::Is<decltype(data)>();
+ if constexpr (condition) {
_chatProcess->lastSlice = true;
}
loadMessagesFiles(Data::ParseMessagesSlice(
--
2.16.3

View File

@ -28,7 +28,10 @@ mkDerivation rec {
};
# TODO: libtgvoip.patch no-gtk2.patch
patches = [ "${archPatches}/tdesktop.patch" ];
patches = [ "${archPatches}/tdesktop.patch" ]
# TODO: Only required to work around a compiler bug.
# This should be fixed in GCC 7.3.1 (or later?)
++ [ ./fix-internal-compiler-error.patch ];
postPatch = ''
substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp \