From 89f2abf9c3b636a01383e5a9d46ffaf4fc582cad Mon Sep 17 00:00:00 2001 From: "Tobias C. Berner" Date: Sun, 12 Feb 2017 12:02:44 +0000 Subject: [PATCH] Change c++11 behaviour of net-im/libqtelegram-ae and net-im/telegramqml. Instead of explicitely disabling c++11 mode as the code uses narrowing of unsigned ints to ints, simply pass -no-c++11-narrowing if the compiler is clang. This is done in preparation for Qt 5.7.1, which requires c++11 mode. Approved by: rakuco (mentor) --- net-im/libqtelegram-ae/Makefile | 7 +------ .../files/patch-libqtelegram-ae.pro | 18 ++++++++++++++++++ net-im/telegramqml/Makefile | 7 +------ net-im/telegramqml/files/patch-telegramqml.pro | 18 ++++++++++++++++++ 4 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 net-im/libqtelegram-ae/files/patch-libqtelegram-ae.pro create mode 100644 net-im/telegramqml/files/patch-telegramqml.pro diff --git a/net-im/libqtelegram-ae/Makefile b/net-im/libqtelegram-ae/Makefile index 29caf473cad7..7b7b84078dab 100644 --- a/net-im/libqtelegram-ae/Makefile +++ b/net-im/libqtelegram-ae/Makefile @@ -3,6 +3,7 @@ PORTNAME= libqtelegram-ae PORTVERSION= 6.1 +PORTREVISION= 1 DISTVERSIONPREFIX= v DISTVERSIONSUFFIX= -stable CATEGORIES= net-im @@ -22,12 +23,6 @@ USE_QT5= qmake_build buildtools_build core gui network multimedia USE_OPENSSL= yes USE_LDCONFIG= yes -# Explicitly disable C++11, as Qt 5.6 defaults to -std=gnu++11 when the -# compiler supports it and the build currently fails. -# ../libqtelegram-aseman-edition-6.1-stable/telegram/types/accountdaysttl.cpp:51:10: error: case value evaluates to 3100684255, which cannot be narrowed to type 'int' [-Wc++11-narrowing] -# case typeAccountDaysTTL: { -QMAKE_ARGS= CONFIG-="c++11" - post-patch: @${REINPLACE_CMD} -e "/OPENSSL_INCLUDE_PATH/d" \ ${WRKSRC}/libqtelegram-ae.pri diff --git a/net-im/libqtelegram-ae/files/patch-libqtelegram-ae.pro b/net-im/libqtelegram-ae/files/patch-libqtelegram-ae.pro new file mode 100644 index 000000000000..31d4e53a45a1 --- /dev/null +++ b/net-im/libqtelegram-ae/files/patch-libqtelegram-ae.pro @@ -0,0 +1,18 @@ +C++11 does not allow narrowing of integer types by default -- however multiple +constants defined in the code are too large to fit into a signed int, and rely +on the narrowing behaviour. + +--- libqtelegram-ae.pro.orig 2017-02-10 23:08:39 UTC ++++ libqtelegram-ae.pro +@@ -25,6 +25,11 @@ linux { + } + } + ++# Explictely allow narrowing of integer types ++clang { ++ QMAKE_CXXFLAGS += -Wno-c++11-narrowing ++} ++ + !contains(CONFIG, no_install) { + isEmpty(PREFIX) { + isEmpty(INSTALL_HEADERS_PREFIX): INSTALL_HEADERS_PREFIX = $$[QT_INSTALL_HEADERS] diff --git a/net-im/telegramqml/Makefile b/net-im/telegramqml/Makefile index b12866f19b86..512332524304 100644 --- a/net-im/telegramqml/Makefile +++ b/net-im/telegramqml/Makefile @@ -3,6 +3,7 @@ PORTNAME= telegramqml PORTVERSION= 0.9.2 +PORTREVISION= 1 DISTVERSIONPREFIX= v CATEGORIES= net-im @@ -25,12 +26,6 @@ USE_LDCONFIG= yes QMAKE_ARGS= BUILD_MODE+=lib \ LIBQTELEGRAM_INCLUDE_PATH="${LOCALBASE}/include/libqtelegram-ae" -# Explicitly disable C++11, as Qt 5.6 defaults to -std=gnu++11 when the -# compiler supports it and the build currently fails. -# ../TelegramQML-0.9.2/telegramqml.cpp:4794:10: error: case value evaluates to 2573335900, which cannot be narrowed to type 'int' [-Wc++11-narrowing] -# case Update::typeUpdateReadHistoryInbox: -QMAKE_ARGS+= CONFIG-="c++11" - post-patch: @${REINPLACE_CMD} -e "/isEmpty(OPENSSL_INCLUDE_PATH)/d" \ ${WRKSRC}/telegramqml.pri diff --git a/net-im/telegramqml/files/patch-telegramqml.pro b/net-im/telegramqml/files/patch-telegramqml.pro new file mode 100644 index 000000000000..0aff03340578 --- /dev/null +++ b/net-im/telegramqml/files/patch-telegramqml.pro @@ -0,0 +1,18 @@ +C++11 does not allow narrowing of integer types by default -- however multiple +constants defined in the code are too large to fit into a signed int, and rely +on the narrowing behaviour. + +--- telegramqml.pro.orig 2017-02-11 13:02:31 UTC ++++ telegramqml.pro +@@ -31,6 +31,11 @@ linux { + } + } + ++# Explictely allow narrowing of integer types ++clang { ++ QMAKE_CXXFLAGS += -Wno-c++11-narrowing ++} ++ + contains(BUILD_MODE,lib) { + isEmpty(PREFIX) { + isEmpty(INSTALL_HEADERS_PREFIX): INSTALL_HEADERS_PREFIX = $$[QT_INSTALL_HEADERS]