Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Apr 2018 14:10:49 +0000 (UTC)
From:      Kirill Ponomarev <krion@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r467607 - in head/net-im/telegram-desktop: . files
Message-ID:  <201804171410.w3HEAn23063456@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: krion
Date: Tue Apr 17 14:10:49 2018
New Revision: 467607
URL: https://svnweb.freebsd.org/changeset/ports/467607

Log:
  Update to version 1.2.17
  
  PR:		227571
  Submitted by:	maintainer

Added:
  head/net-im/telegram-desktop/files/patch-Telegram_Resources_qrc_telegram__linux.qrc   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_boxes_notifications__box.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_launcher.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_utils.h   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_data_data__document.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_admin__log_history__admin__log__inner.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_history__inner__widget.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_view_history__view__list__widget.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__launcher.h   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_settings_settings__notifications__widget.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_widgets_labels.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_window_main__window.h   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_VoIPController.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_logging.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_AudioInputALSA.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_AudioInputPulse.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_AudioOutputALSA.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_AudioOutputPulse.cpp   (contents, props changed)
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_PulseAudioLoader.h   (contents, props changed)
Deleted:
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_main.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_mainwindow.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_structs.cpp
Modified:
  head/net-im/telegram-desktop/Makefile
  head/net-im/telegram-desktop/distinfo
  head/net-im/telegram-desktop/files/gyp-patches
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles___other_packer.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_build__config.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_lambda.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_config.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_layout.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_logs.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_main__window__linux.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__audio.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__file__utilities.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__main__window.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__notifications__manager.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__specific.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_platform__window__title.h
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_qt__functions.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_qt__static__plugins.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_text_text__block.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_ui_twidget.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioInput.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioOutput.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_posix_NetworkSocketPosix.cpp
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_threading.h
  head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_webrtc__dsp_webrtc_base_stringutils.h
  head/net-im/telegram-desktop/files/patch-Telegram_gyp_PrecompiledHeader.cmake
  head/net-im/telegram-desktop/files/patch-Telegram_gyp_common.gypi
  head/net-im/telegram-desktop/files/patch-Telegram_gyp_settings__linux.gypi
  head/net-im/telegram-desktop/files/patch-Telegram_gyp_telegram__sources.txt
  head/net-im/telegram-desktop/files/patch-lib_xdg_tg.protocol

Modified: head/net-im/telegram-desktop/Makefile
==============================================================================
--- head/net-im/telegram-desktop/Makefile	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/Makefile	Tue Apr 17 14:10:49 2018	(r467607)
@@ -2,7 +2,7 @@
 
 PORTNAME=	telegram-desktop
 DISTVERSIONPREFIX=	v
-DISTVERSION=	1.1.23
+DISTVERSION=	1.2.17
 CATEGORIES=	net-im
 
 MAINTAINER=	henry.hu.sh@gmail.com
@@ -12,14 +12,15 @@ LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
 BUILD_DEPENDS=	dee>0:devel/dee \
-		gyp:devel/py-gyp@${PY_FLAVOR}
-LIB_DEPENDS=	libasound.so:audio/alsa-lib \
-		libavformat.so:multimedia/ffmpeg \
+		gyp:devel/py-gyp@${PY_FLAVOR} \
+		range-v3>0:devel/range-v3 \
+		pulseaudio>0:audio/pulseaudio \
+		alsa-lib>0:audio/alsa-lib
+LIB_DEPENDS=	libavformat.so:multimedia/ffmpeg \
 		libdbus-1.so:devel/dbus \
 		libminizip.so:archivers/minizip \
 		libopenal.so:audio/openal-soft \
-		libopus.so:audio/opus \
-		libpulse.so:audio/pulseaudio
+		libopus.so:audio/opus
 
 USES=		cmake:noninja,outsource desktop-file-utils gmake pkgconfig python:2.7,build ssl
 USE_GITHUB=	yes
@@ -27,23 +28,37 @@ GH_ACCOUNT=	telegramdesktop
 GH_PROJECT=	tdesktop
 GH_TUPLE=	catchorg:Catch2:5ca44b68:catch/Telegram/ThirdParty/Catch \
 		mapbox:variant:550ac2f:variant/Telegram/ThirdParty/variant \
-		Microsoft:GSL:c5851a8:gsl/Telegram/ThirdParty/GSL \
-		telegramdesktop:libtgvoip:757a5d8e:libtgvoip/Telegram/ThirdParty/libtgvoip
+		Microsoft:GSL:9d65e74:gsl/Telegram/ThirdParty/GSL \
+		telegramdesktop:libtgvoip:6e0e102:libtgvoip/Telegram/ThirdParty/libtgvoip \
+		telegramdesktop:crl:344cbde9:crl/Telegram/ThirdParty/crl
 USE_GNOME=	glib20 gtk30
-USE_QT5=	core gui imageformats network widgets buildtools_build qmake_build
+USE_QT5=	core gui imageformats network widgets buildtools_build qmake_build dbus
 USE_XORG=	x11 xcb
 
 CMAKE_SOURCE_PATH=	${WRKSRC}/out/Release
 
 GYP_DEFINES=	TDESKTOP_DISABLE_CRASH_REPORTS,TDESKTOP_DISABLE_AUTOUPDATE,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME
 
+# Telegram uses OpenAL for its audio, but libtgvoip (for voice calls) can use PulseAudio or ALSA.
+# It dynamically loads PulseAudio, and if this fails, it loads ALSA.
+# If both of them are not installed, then voice calls do not work, but other functionalities still work.
+OPTIONS_MULTI=	AUDIO
+OPTIONS_MULTI_AUDIO=	ALSA PULSEAUDIO
+OPTIONS_DEFAULT=	ALSA
+
+AUDIO_DESC=	Audio backend for voice calls
+
+ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
+PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
+
 .include <bsd.port.pre.mk>
 
+# This port needs C++17 libs/compiler.
+# Currently, this is not supported by USES=compiler
+# Using clang does not work: libc++ in base does not support C++17.
+# Using gcc does not work: using both libc++ and libstdc++ causes crashes.
 .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
-CC=		clang40
-CXX=		clang++40
-BUILD_DEPENDS+=	clang++40:devel/llvm40
-RUN_DEPENDS+=	clang++40:devel/llvm40
+BROKEN=		Need C++17 support in compiler and runtime
 .endif
 
 post-patch:

Modified: head/net-im/telegram-desktop/distinfo
==============================================================================
--- head/net-im/telegram-desktop/distinfo	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/distinfo	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,11 +1,13 @@
-TIMESTAMP = 1512711381
-SHA256 (telegramdesktop-tdesktop-v1.1.23_GH0.tar.gz) = 56b7fce84adf85a4af1c3174353169f32d0b0c052a4e7a284fc741fa96b04030
-SIZE (telegramdesktop-tdesktop-v1.1.23_GH0.tar.gz) = 16863984
-SHA256 (Microsoft-GSL-c5851a8_GH0.tar.gz) = 32fae541af0bc21cdf83922740db6a3a00fbb9cb9ace323fbc038b608ac36956
-SIZE (Microsoft-GSL-c5851a8_GH0.tar.gz) = 54462
-SHA256 (mapbox-variant-550ac2f_GH0.tar.gz) = 7ab3aa7c9fa672027f13721584df5f7ec09c0ecca499d374c6ac76e147ef7354
-SIZE (mapbox-variant-550ac2f_GH0.tar.gz) = 108686
+TIMESTAMP = 1523832839
+SHA256 (telegramdesktop-tdesktop-v1.2.17_GH0.tar.gz) = 775614e70372b2e18ef1b2940fa043599240975597e4c5e4431c6deb041a613d
+SIZE (telegramdesktop-tdesktop-v1.2.17_GH0.tar.gz) = 16916625
 SHA256 (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 8cdf2a345897bda1aaabffd4496dffe263768cef3e4254e74ae63545c8e12cc2
 SIZE (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 375264
-SHA256 (telegramdesktop-libtgvoip-757a5d8e_GH0.tar.gz) = a745c2c097f6a98bf9443d0cee9e375f279571a18dcb51bf06684eccf82eb9c6
-SIZE (telegramdesktop-libtgvoip-757a5d8e_GH0.tar.gz) = 408328
+SHA256 (mapbox-variant-550ac2f_GH0.tar.gz) = 7ab3aa7c9fa672027f13721584df5f7ec09c0ecca499d374c6ac76e147ef7354
+SIZE (mapbox-variant-550ac2f_GH0.tar.gz) = 108686
+SHA256 (Microsoft-GSL-9d65e74_GH0.tar.gz) = c2270ade74bd74831e2e854970c04db77f00e0dfdb0a3c3bce356da6019dd18d
+SIZE (Microsoft-GSL-9d65e74_GH0.tar.gz) = 57320
+SHA256 (telegramdesktop-libtgvoip-6e0e102_GH0.tar.gz) = 53f2d27f8bc76d454cd933fe0d598155d091967e9cb98b095cd44f2a70137220
+SIZE (telegramdesktop-libtgvoip-6e0e102_GH0.tar.gz) = 411964
+SHA256 (telegramdesktop-crl-344cbde9_GH0.tar.gz) = ec7d04bc36ed6dda88574e317e78d332b36cbd3378c3a8218ac5a3f37ee6d90f
+SIZE (telegramdesktop-crl-344cbde9_GH0.tar.gz) = 18308

Modified: head/net-im/telegram-desktop/files/gyp-patches
==============================================================================
--- head/net-im/telegram-desktop/files/gyp-patches	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/gyp-patches	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,6 +1,6 @@
---- Telegram/gyp/qt_rcc.gypi.orig	2017-09-05 17:38:38 UTC
+--- Telegram/gyp/qt_rcc.gypi.orig	2018-01-03 10:46:01 UTC
 +++ Telegram/gyp/qt_rcc.gypi
-@@ -28,7 +28,7 @@
+@@ -15,7 +15,7 @@
        '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp',
      ],
      'action': [
@@ -9,9 +9,26 @@
        '-name', '<(RULE_INPUT_ROOT)',
        '-no-compress',
        '<(RULE_INPUT_PATH)',
---- Telegram/gyp/qt.gypi.orig	2017-09-05 17:38:38 UTC
+--- Telegram/gyp/qt_moc.gypi.orig	2018-01-03 10:46:01 UTC
++++ Telegram/gyp/qt_moc.gypi
+@@ -12,12 +12,12 @@
+       '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
+     ],
+     'action': [
+-      '<(qt_loc)/bin/moc<(exe_ext)',
++      '%%QT_BINDIR%%/moc',
+ 
+       # Silence "Note: No relevant classes found. No output generated."
+       '--no-notes',
+ 
+-      '<!@(python -c "for s in \'<@(_defines)\'.split(\' \'): print(\'-D\' + s)")',
++      '<!@(%%PYTHON_CMD%% -c "for s in \'<@(_defines)\'.split(\' \'): print(\'-D\' + s)")',
+       # '<!@(python -c "for s in \'<@(_include_dirs)\'.split(\' \'): print(\'-I\' + s)")',
+       '<(RULE_INPUT_PATH)',
+       '-o', '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
+--- Telegram/gyp/qt.gypi.orig	2018-01-03 10:46:01 UTC
 +++ Telegram/gyp/qt.gypi
-@@ -27,25 +27,21 @@
+@@ -14,25 +14,21 @@
                [ 'build_macold', {
                  'qt_version%': '5.3.2',
                }, {
@@ -39,7 +56,7 @@
              }]
            ]
          },
-@@ -85,44 +81,24 @@
+@@ -72,44 +68,25 @@
              ],
            }],
            [ 'build_linux', {
@@ -56,7 +73,7 @@
 -              'qgenericbearer',
 -              'qnmbearer',
                '<@(qt_libs)',
--              'Qt5DBus',
+               'Qt5DBus',
                'Qt5Core',
 -              'qtpcre',
 -              'Xi',
@@ -90,7 +107,7 @@
        ],
      },
      'qt_libs_debug': [ '<@(qt_libs_debug)' ],
-@@ -140,11 +116,6 @@
+@@ -127,11 +104,6 @@
      # '<!@(python <(DEPTH)/list_sources.py [sources] <(qt_moc_list_sources_arg))'
      # where [sources] contains all your source files
      'qt_moc_list_sources_arg': '--moc-prefix SHARED_INTERMEDIATE_DIR/<(_target_name)/moc/moc_',
@@ -98,17 +115,18 @@
 -    'linux_path_xkbcommon%': '/usr/local',
 -    'linux_lib_ssl%': '/usr/local/ssl/lib/libssl.a',
 -    'linux_lib_crypto%': '/usr/local/ssl/lib/libcrypto.a',
--    'linux_lib_icu%': '/usr/lib/libicutu.a /usr/lib/libicui18n.a /usr/lib/libicuuc.a /usr/lib/libicudata.a',
+-    'linux_lib_icu%': 'libicutu.a libicui18n.a libicuuc.a libicudata.a',
    },
  
    'configurations': {
-@@ -193,15 +164,17 @@
+@@ -180,18 +152,18 @@
    },
  
    'include_dirs': [
 -    '<(qt_loc)/include',
 -    '<(qt_loc)/include/QtCore',
 -    '<(qt_loc)/include/QtGui',
+-    '<(qt_loc)/include/QtDBus',
 -    '<(qt_loc)/include/QtCore/<(qt_version)',
 -    '<(qt_loc)/include/QtGui/<(qt_version)',
 -    '<(qt_loc)/include/QtCore/<(qt_version)/QtCore',
@@ -116,33 +134,44 @@
 +    '%%QT_INCDIR%%',
 +    '%%QT_INCDIR%%/QtCore',
 +    '%%QT_INCDIR%%/QtGui',
++    '%%QT_INCDIR%%/QtDBus',
 +    '%%QT_INCDIR%%/QtCore/<(qt_version)',
 +    '%%QT_INCDIR%%/QtGui/<(qt_version)',
 +    '%%QT_INCDIR%%/QtCore/<(qt_version)/QtCore',
 +    '%%QT_INCDIR%%/QtGui/<(qt_version)/QtGui',
    ],
    'library_dirs': [
+-    '<(qt_loc)/lib',
+-    '<(qt_loc)/plugins',
 +    '%%LOCALBASE%%/lib',
 +    '%%QT_LIBDIR%%/',
-     '<(qt_loc)/lib',
-     '<(qt_loc)/plugins',
      '<(qt_loc)/plugins/bearer',
-@@ -220,25 +193,20 @@
+     '<(qt_loc)/plugins/platforms',
+     '<(qt_loc)/plugins/imageformats',
+@@ -204,33 +176,20 @@
+   ],
+   'conditions': [
+     [ 'build_linux', {
+-      'dependencies': [
+-        '<(DEPTH)/linux_glibc_wraps.gyp:linux_glibc_wraps',
+-      ],
+       'library_dirs': [
          '<(qt_loc)/plugins/platforminputcontexts',
        ],
        'libraries': [
+-        '<(PRODUCT_DIR)/obj.target/liblinux_glibc_wraps.a',
 -        '<(linux_path_xkbcommon)/lib/libxkbcommon.a',
          '<@(qt_libs_release)',
 -        '<(linux_lib_ssl)',
 -        '<(linux_lib_crypto)',
 -        '<!@(python -c "for s in \'<(linux_lib_icu)\'.split(\' \'): print(s)")',
+-        '-lxcb',
 +        '-lcrypto',
-         '-lxcb',
          '-lX11',
-         '-lX11-xcb',
-         '-ldbus-1',
+-        '-lX11-xcb',
+-        '-ldbus-1',
 -        '-ldl',
-         '-lgthread-2.0',
+-        '-lgthread-2.0',
          '-lglib-2.0',
          '-lpthread',
        ],
@@ -153,35 +182,41 @@
        'ldflags': [
 -        '-static-libstdc++',
          '-pthread',
-         '-g',
          '-rdynamic',
-@@ -260,12 +228,12 @@
-       '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
-     ],
-     'action': [
--      '<(qt_loc)/bin/moc<(exe_ext)',
-+      '%%QT_BINDIR%%/moc',
- 
-       # Silence "Note: No relevant classes found. No output generated."
-       '--no-notes',
- 
--      '<!@(python -c "for s in \'<@(_defines)\'.split(\' \'): print(\'-D\' + s)")',
-+      '<!@(%%PYTHON_CMD%% -c "for s in \'<@(_defines)\'.split(\' \'): print(\'-D\' + s)")',
-       # '<!@(python -c "for s in \'<@(_include_dirs)\'.split(\' \'): print(\'-I\' + s)")',
-       '<(RULE_INPUT_PATH)',
-       '-o', '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
---- Telegram/gyp/telegram_linux.gypi.orig	2017-09-05 17:38:38 UTC
+       ],
+--- Telegram/gyp/telegram_linux.gypi.orig	2018-01-03 10:46:01 UTC
 +++ Telegram/gyp/telegram_linux.gypi
-@@ -33,7 +33,7 @@
+@@ -7,7 +7,7 @@
+ {
+   'conditions': [[ 'build_linux', {
+     'variables': {
+-      'not_need_gtk%': '<!(python -c "print(\'TDESKTOP_DISABLE_GTK_INTEGRATION\' in \'<(build_defines)\')")',
++      'not_need_gtk%': '<!(%%PYTHON_CMD%% -c "print(\'TDESKTOP_DISABLE_GTK_INTEGRATION\' in \'<(build_defines)\')")',
+       'pkgconfig_libs': [
+ # In order to work libxkbcommon must be linked statically,
+ # PKGCONFIG links it like "-L/usr/local/lib -lxkbcommon"
+@@ -20,10 +20,11 @@
        'linux_path_va%': '/usr/local',
        'linux_path_vdpau%': '/usr/local',
-       'linux_path_breakpad%': '<(libs_loc)/breakpad',
+       'linux_path_breakpad%': '/usr/local',
 -      'linux_path_opus_include%': '<(libs_loc)/opus/include',
 +      'linux_path_opus_include%': '%%LOCALBASE%%/include/opus',
+       'linux_path_range%': '/usr/local',
      },
      'include_dirs': [
++      '/usr/include/openssl-1.0',
        '/usr/local/include',
-@@ -52,48 +52,34 @@
+       '<(linux_path_ffmpeg)/include',
+       '<(linux_path_openal)/include',
+@@ -32,6 +33,7 @@
+       '<(linux_path_range)/include',
+     ],
+     'library_dirs': [
++      '/usr/lib/openssl-1.0',
+       '/usr/local/lib',
+       '<(linux_path_ffmpeg)/lib',
+       '<(linux_path_openal)/lib',
+@@ -40,25 +42,15 @@
        '<(linux_path_breakpad)/lib',
      ],
      'libraries': [
@@ -216,37 +251,51 @@
  #      '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
      ],
      'cflags_cc': [
--      '<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
--      '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
--      '<!(pkg-config 2> /dev/null --cflags glib-2.0)',
-+#      '<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
-+      '<!(pkg-config 2> /dev/null --cflags gtk+-3.0)',
-       '<!(pkg-config 2> /dev/null --cflags dee-1.0)',
+@@ -67,7 +59,6 @@
+     'ldflags': [
+       '-Wl,-wrap,aligned_alloc',
+       '-Wl,-wrap,secure_getenv',
+-      '-Wl,-wrap,clock_gettime',
+       '-Wl,--no-as-needed,-lrt',
      ],
      'configurations': {
-       'Release': {
-         'cflags': [
--          '-Ofast',
--          '-flto',
-+          %%CFLAGS%%
-           '-fno-strict-aliasing',
+@@ -86,7 +77,7 @@
+       },
+     },
+     'conditions': [
+-      [ '"<!(uname -p)" == "x86_64"', {
++      [ '"<!(uname -m)" == "x86_64"', {
+         # 32 bit version can't be linked with debug info or LTO,
+         # virtual memory exhausted :(
+         'cflags_c': [ '-g' ],
+@@ -94,9 +85,9 @@
+         'ldflags': [ '-g' ],
+         'configurations': {
+           'Release': {
+-            'cflags_c': [ '-flto' ],
+-            'cflags_cc': [ '-flto' ],
+-            'ldflags': [ '-flto' ],
++            'cflags_c': [ %%CFLAGS%% ],
++            'cflags_cc': [ %%CXXFLAGS%% ],
++            'ldflags': [ %%LDFLAGS%% ],
+           },
+         },
+       }, {
+@@ -105,10 +96,7 @@
          ],
+       }], ['not_need_gtk!="True"', {
          'cflags_cc': [
--          '-Ofast',
--          '-flto',
-+          %%CXXFLAGS%%
-           '-fno-strict-aliasing',
+-          '<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
+-          '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)',
+-          '<!(pkg-config 2> /dev/null --cflags glib-2.0)',
+-          '<!(pkg-config 2> /dev/null --cflags dee-1.0)',
++          '<!(pkg-config 2> /dev/null --cflags gtk+-3.0)',
          ],
-         'ldflags': [
--          '-Ofast',
--          '-flto',
-+          %%LDFLAGS%%
-         ],
-       },
-     },
---- Telegram/gyp/Telegram.gyp.orig	2017-09-05 17:38:38 UTC
+       }]
+     ],
+--- Telegram/gyp/Telegram.gyp.orig	2018-01-03 10:46:01 UTC
 +++ Telegram/gyp/Telegram.gyp
-@@ -61,7 +61,7 @@
+@@ -49,7 +49,7 @@
          'pt-BR',
        ],
        'build_defines%': '',
@@ -255,12 +304,13 @@
      },
      'includes': [
        'common_executable.gypi',
-@@ -80,28 +80,19 @@
+@@ -69,30 +69,20 @@
        'codegen.gyp:codegen_numbers',
        'codegen.gyp:codegen_style',
        'tests/tests.gyp:tests',
 -      'utils.gyp:Updater',
        '../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip',
+       'crl.gyp:crl',
      ],
  
      'defines': [
@@ -276,18 +326,19 @@
        '<(SHARED_INTERMEDIATE_DIR)',
 -      '<(libs_loc)/breakpad/src',
 -      '<(libs_loc)/lzma/C',
--      '<(libs_loc)/libexif-0.6.20',
--      '<(libs_loc)/zlib-1.2.8',
+-      '<(libs_loc)/zlib',
 -      '<(libs_loc)/ffmpeg',
 -      '<(libs_loc)/openal-soft/include',
 -      '<(libs_loc)/opus/include',
+-      '<(libs_loc)/range-v3/include',
 -      '<(minizip_loc)',
+-      '<(sp_media_key_tap_loc)',
 +      '%%LOCALBASE%%/include/minizip',
-       '<(sp_media_key_tap_loc)',
        '<(emoji_suggestions_loc)',
        '<(submodules_loc)/GSL/include',
-@@ -113,7 +104,7 @@
-       '<!@(<(list_sources_command) <(qt_moc_list_sources_arg))',
+       '<(submodules_loc)/variant/include',
+@@ -105,7 +95,7 @@
+       'telegram_sources.txt',
      ],
      'sources!': [
 -      '<!@(<(list_sources_command) <(qt_moc_list_sources_arg) --exclude_for <(build_os))',
@@ -295,7 +346,7 @@
      ],
      'conditions': [
        [ '"<(official_build_target)" != ""', {
---- Telegram/ThirdParty/libtgvoip/libtgvoip.gyp.orig	2017-07-06 17:16:18 UTC
+--- Telegram/ThirdParty/libtgvoip/libtgvoip.gyp.orig	2018-02-06 06:51:56 UTC
 +++ Telegram/ThirdParty/libtgvoip/libtgvoip.gyp
 @@ -13,11 +13,12 @@
          'variables': {
@@ -311,10 +362,19 @@
          ],
          'direct_dependent_settings': {
            'include_dirs': [
-@@ -371,12 +372,13 @@
+@@ -259,7 +260,7 @@
              },
            ],
            [
+-            '"<(OS)" != "linux"', {
++            '"<(OS)" != "freebsd"', {
+               'sources/': [['exclude', '<(tgvoip_src_loc)/os/linux/']],
+             },
+           ],
+@@ -378,12 +379,13 @@
+             },
+           ],
+           [
 -            '"<(OS)" == "linux"', {
 +            '"<(OS)" == "freebsd"', {
                'defines': [
@@ -326,9 +386,9 @@
                ],
                'direct_dependent_settings': {
                  'libraries': [
---- Telegram/gyp/codegen_rules.gypi.orig	2017-12-11 17:08:58 UTC
+--- Telegram/gyp/codegen_rules.gypi.orig	2018-02-06 06:53:18 UTC
 +++ Telegram/gyp/codegen_rules.gypi
-@@ -28,7 +28,7 @@
+@@ -15,7 +15,7 @@
        '<(SHARED_INTERMEDIATE_DIR)/update_dependent_styles.timestamp',
      ],
      'action': [
@@ -337,7 +397,7 @@
        '-I', '<(res_loc)', '-I', '<(src_loc)',
        '-o', '<(SHARED_INTERMEDIATE_DIR)/update_dependent_styles.timestamp',
        '<@(style_files)',
-@@ -39,13 +39,13 @@
+@@ -26,13 +26,13 @@
      'inputs': [
        '<(DEPTH)/update_dependent.py',
        '<@(qrc_files)',
@@ -353,7 +413,7 @@
        '-o', '<(SHARED_INTERMEDIATE_DIR)/update_dependent_qrc.timestamp',
        '<@(qrc_files)',
      ],
-@@ -122,7 +122,7 @@
+@@ -109,7 +109,7 @@
        '<(SHARED_INTERMEDIATE_DIR)/scheme.h',
      ],
      'action': [
@@ -362,9 +422,9 @@
        '-o', '<(SHARED_INTERMEDIATE_DIR)', '<(res_loc)/scheme.tl',
      ],
      'message': 'codegen_scheme-ing scheme.tl..',
---- Telegram/gyp/tests/tests.gyp.orig	2017-12-11 17:12:35 UTC
+--- Telegram/gyp/tests/tests.gyp.orig	2018-02-06 06:53:50 UTC
 +++ Telegram/gyp/tests/tests.gyp
-@@ -26,7 +26,7 @@
+@@ -13,7 +13,7 @@
      'src_loc': '../../SourceFiles',
      'submodules_loc': '../../ThirdParty',
      'mac_target': '10.10',

Added: head/net-im/telegram-desktop/files/patch-Telegram_Resources_qrc_telegram__linux.qrc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_Resources_qrc_telegram__linux.qrc	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,8 @@
+--- Telegram/Resources/qrc/telegram_linux.qrc.orig	2018-01-03 10:46:01 UTC
++++ Telegram/Resources/qrc/telegram_linux.qrc
+@@ -1,5 +1,4 @@
+ <RCC>
+   <qresource prefix="/qt">
+-    <file alias="etc/qt.conf">../etc/qt_linux.conf</file>
+   </qresource>
+ </RCC>

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles___other_packer.cpp
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles___other_packer.cpp	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles___other_packer.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,6 +1,6 @@
---- Telegram/SourceFiles/_other/packer.cpp.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/_other/packer.cpp.orig	2018-02-06 05:52:28 UTC
 +++ Telegram/SourceFiles/_other/packer.cpp
-@@ -246,7 +246,7 @@ int main(int argc, char *argv[])
+@@ -233,7 +233,7 @@ int main(int argc, char *argv[])
  			}
  			QByteArray inner = f.readAll();
  			stream << name << quint32(inner.size()) << inner;

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_build__config.h
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_build__config.h	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_build__config.h	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,11 +1,11 @@
---- Telegram/SourceFiles/base/build_config.h.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/base/build_config.h.orig	2018-02-06 05:52:11 UTC
 +++ Telegram/SourceFiles/base/build_config.h
-@@ -26,7 +26,7 @@ Copyright (c) 2014-2017 John Preston, ht
+@@ -13,7 +13,7 @@ https://github.com/telegramdesktop/tdesk
  
  #if defined(__APPLE__)
  #define OS_MAC 1
 -#elif defined(__linux__) // __APPLE__
-+#elif defined(__linux__) || defined(__FreeBSD__)// __APPLE__
++#elif defined(__linux__) || defined(__FreeBSD__) // __APPLE__
  #define OS_LINUX 1
  #elif defined(_WIN32) // __APPLE__ || __linux__
  #define OS_WIN 1

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_lambda.h
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_lambda.h	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_base_lambda.h	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,6 +1,6 @@
---- Telegram/SourceFiles/base/lambda.h.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/base/lambda.h.orig	2018-01-03 10:46:01 UTC
 +++ Telegram/SourceFiles/base/lambda.h
-@@ -212,11 +212,14 @@ protected:
+@@ -226,11 +226,14 @@ protected:
  
  template <typename Lambda, typename Return, typename ...Args>
  struct vtable_once : public vtable_once_impl<Lambda, is_large<Lambda>, Return, Args...> {
@@ -17,7 +17,7 @@
  
  template <typename Lambda, bool IsLarge, typename Return, typename ...Args> struct vtable_impl;
  
-@@ -262,12 +265,14 @@ struct vtable_impl<Lambda, false, Return
+@@ -276,12 +279,14 @@ struct vtable_impl<Lambda, false, Return
  
  template <typename Lambda, typename Return, typename ...Args>
  struct vtable : public vtable_impl<Lambda, is_large<Lambda>, Return, Args...> {
@@ -35,7 +35,7 @@
  } // namespace lambda_internal
  
  template <typename Return, typename ...Args>
-@@ -346,7 +351,7 @@ public:
+@@ -360,7 +365,7 @@ public:
  	// Copy / move construct / assign from an arbitrary type.
  	template <typename Lambda, typename = std::enable_if_t<std::is_convertible<decltype(std::declval<Lambda>()(std::declval<Args>()...)),Return>::value>>
  	lambda_once(Lambda other) {
@@ -44,7 +44,7 @@
  		lambda_internal::vtable_once<Lambda, Return, Args...>::construct_move_lambda_method(data_.storage, &other);
  	}
  	template <typename Lambda, typename = std::enable_if_t<std::is_convertible<decltype(std::declval<Lambda>()(std::declval<Args>()...)),Return>::value>>
-@@ -354,7 +359,7 @@ public:
+@@ -368,7 +373,7 @@ public:
  		if (data_.vtable) {
  			data_.vtable->destruct(data_.storage);
  		}
@@ -53,7 +53,7 @@
  		lambda_internal::vtable_once<Lambda, Return, Args...>::construct_move_lambda_method(data_.storage, &other);
  		return *this;
  	}
-@@ -424,7 +429,7 @@ public:
+@@ -443,7 +448,7 @@ public:
  
  	// Copy / move construct / assign from an arbitrary type.
  	template <typename Lambda, typename = std::enable_if_t<std::is_convertible<decltype(std::declval<Lambda>()(std::declval<Args>()...)),Return>::value>>
@@ -62,7 +62,7 @@
  		lambda_internal::vtable<Lambda, Return, Args...>::construct_move_lambda_method(this->data_.storage, &other);
  	}
  	template <typename Lambda, typename = std::enable_if_t<std::is_convertible<decltype(std::declval<Lambda>()(std::declval<Args>()...)),Return>::value>>
-@@ -432,7 +437,7 @@ public:
+@@ -451,7 +456,7 @@ public:
  		if (this->data_.vtable) {
  			this->data_.vtable->destruct(this->data_.storage);
  		}

Added: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_boxes_notifications__box.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_boxes_notifications__box.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,17 @@
+--- Telegram/SourceFiles/boxes/notifications_box.cpp.orig	2018-02-06 06:26:42 UTC
++++ Telegram/SourceFiles/boxes/notifications_box.cpp
+@@ -84,11 +84,11 @@ private:
+ 		_deleted = true;
+ 
+ 		// Ubuntu has a lag if deleteLater() called immediately.
+-#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64
++#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD
+ 		QTimer::singleShot(1000, [this] { delete this; });
+-#else // Q_OS_LINUX32 || Q_OS_LINUX64
++#else // Q_OS_LINUX32 || Q_OS_LINUX64 || defined Q_OS_FREEBSD
+ 		deleteLater();
+-#endif // Q_OS_LINUX32 || Q_OS_LINUX64
++#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || defined Q_OS_FREEBSD
+ 	}
+ 
+ 	NotificationsBox *_owner;

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_config.h
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_config.h	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_config.h	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,6 +1,6 @@
---- Telegram/SourceFiles/config.h.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/config.h.orig	2018-04-08 17:34:33 UTC
 +++ Telegram/SourceFiles/config.h
-@@ -270,7 +270,7 @@ inline const char *cApiDeviceModel() {
+@@ -240,7 +240,7 @@ inline const char *cApiDeviceModel() {
  	return "PC";
  #elif defined Q_OS_MAC
  	return "Mac";
@@ -9,7 +9,7 @@
  	return "PC";
  #endif
  }
-@@ -281,6 +281,8 @@ inline const char *cApiSystemVersion() {
+@@ -251,6 +251,8 @@ inline const char *cApiSystemVersion() {
  	return "OS X";
  #elif defined Q_OS_LINUX
  	return "Linux";

Added: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_launcher.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_launcher.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,47 @@
+--- Telegram/SourceFiles/core/launcher.cpp.orig	2018-01-03 10:46:01 UTC
++++ Telegram/SourceFiles/core/launcher.cpp
+@@ -13,6 +13,8 @@ https://github.com/telegramdesktop/tdesk
+ #include "core/main_queue_processor.h"
+ #include "application.h"
+ 
++#include "FREEBSD_QT_PLUGINDIR.h"
++
+ namespace Core {
+ 
+ std::unique_ptr<Launcher> Launcher::Create(int argc, char *argv[]) {
+@@ -31,9 +33,10 @@ void Launcher::init() {
+ 
+ 	QCoreApplication::setApplicationName(qsl("TelegramDesktop"));
+ 
+-#ifndef OS_MAC_OLD
++#if !defined(Q_OS_MAC) && QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
++	// Retina display support is working fine, others are not.
+ 	QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
+-#endif // OS_MAC_OLD
++#endif // not defined Q_OS_MAC and QT_VERSION >= 5.6.0
+ 
+ 	initHook();
+ }
+@@ -51,6 +54,11 @@ int Launcher::exec() {
+ 	Logs::start(this); // must be started before Platform is started
+ 	Platform::start(); // must be started before QApplication is created
+ 
++	// I don't know why path is not in QT_PLUGIN_PATH by default
++	QCoreApplication::addLibraryPath(FREEBSD_QT_PLUGINDIR);
++	// Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943
++	unsetenv("QT_QPA_PLATFORMTHEME");
++
+ 	auto result = executeApplication();
+ 
+ 	DEBUG_LOG(("Telegram finished, result: %1").arg(result));
+@@ -136,6 +144,10 @@ void Launcher::prepareSettings() {
+ 		gUpdateURL = QUrl(qsl("http://tdesktop.com/linux32/tupdates/current"));
+ 		gPlatformString = qsl("Linux32bit");
+ 	break;
++	case dbipFreeBSD:
++		gUpdateURL = QUrl(qsl(""));
++		gPlatformString = qsl("FreeBSD");
++	break;
+ 	}
+ 
+ 	auto path = Platform::CurrentExecutablePath(_argc, _argv);

Added: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_utils.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_core_utils.h	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,10 @@
+--- Telegram/SourceFiles/core/utils.h.orig	2018-04-08 17:34:33 UTC
++++ Telegram/SourceFiles/core/utils.h
+@@ -451,6 +451,7 @@ enum DBIPlatform {
+ 	dbipLinux64 = 2,
+ 	dbipLinux32 = 3,
+ 	dbipMacOld = 4,
++	dbipFreeBSD = 5,
+ };
+ 
+ enum DBIPeerReportSpamStatus {

Added: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_data_data__document.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_data_data__document.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,11 @@
+--- Telegram/SourceFiles/data/data_document.cpp.orig	2018-04-08 17:34:33 UTC
++++ Telegram/SourceFiles/data/data_document.cpp
+@@ -76,7 +76,7 @@ QString FileNameUnsafe(
+ 	name = name.replace(QRegularExpression(qsl("[\\\\\\/\\:\\*\\?\\\"\\<\\>\\|]")), qsl("_"));
+ #elif defined Q_OS_MAC
+ 	name = name.replace(QRegularExpression(qsl("[\\:]")), qsl("_"));
+-#elif defined Q_OS_LINUX
++#elif defined Q_OS_LINUX || defined Q_OS_FREEBSD
+ 	name = name.replace(QRegularExpression(qsl("[\\/]")), qsl("_"));
+ #endif
+ 	if (Global::AskDownloadPath() || savingAs) {

Added: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_admin__log_history__admin__log__inner.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_admin__log_history__admin__log__inner.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,18 @@
+--- Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp.orig	2018-04-08 17:34:33 UTC
++++ Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp
+@@ -1388,13 +1388,13 @@ void InnerWidget::mouseActionFinish(cons
+ 	_mouseSelectType = TextSelectType::Letters;
+ 	//_widget->noSelectingScroll(); // TODO
+ 
+-#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64
++#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD
+ 	if (_selectedItem && _selectedText.from != _selectedText.to) {
+ 		SetClipboardWithEntities(
+ 			_selectedItem->selectedText(_selectedText),
+ 			QClipboard::Selection);
+ 	}
+-#endif // Q_OS_LINUX32 || Q_OS_LINUX64
++#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD
+ }
+ 
+ void InnerWidget::updateSelected() {

Added: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_history__inner__widget.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_history__inner__widget.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,20 @@
+--- Telegram/SourceFiles/history/history_inner_widget.cpp.orig	2018-04-08 17:34:33 UTC
++++ Telegram/SourceFiles/history/history_inner_widget.cpp
+@@ -1336,7 +1336,7 @@ void HistoryInner::mouseActionFinish(
+ 	_widget->noSelectingScroll();
+ 	_widget->updateTopBarSelection();
+ 
+-#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64
++#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD
+ 	if (!_selected.empty() && _selected.cbegin()->second != FullSelection) {
+ 		const auto [item, selection] = *_selected.cbegin();
+ 		if (const auto view = item->mainView()) {
+@@ -1345,7 +1345,7 @@ void HistoryInner::mouseActionFinish(
+ 				QClipboard::Selection);
+ 		}
+ 	}
+-#endif // Q_OS_LINUX32 || Q_OS_LINUX64
++#endif // Q_OS_LINUX32 || Q_OS_LINUX64 || Q_OS_FREEBSD
+ }
+ 
+ void HistoryInner::mouseReleaseEvent(QMouseEvent *e) {

Added: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_view_history__view__list__widget.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_history_view_history__view__list__widget.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -0,0 +1,11 @@
+--- Telegram/SourceFiles/history/view/history_view_list_widget.cpp.orig	2018-04-15 23:31:46 UTC
++++ Telegram/SourceFiles/history/view/history_view_list_widget.cpp
+@@ -2014,7 +2014,7 @@ void ListWidget::mouseActionFinish(
+ 	_mouseSelectType = TextSelectType::Letters;
+ 	//_widget->noSelectingScroll(); // #TODO select scroll
+ 
+-#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64
++#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64 || defined Q_OS_FREEBSD
+ 	if (_selectedTextItem
+ 		&& _selectedTextRange.from != _selectedTextRange.to) {
+ 		if (const auto view = viewForItem(_selectedTextItem)) {

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_layout.cpp
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_layout.cpp	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_layout.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,6 +1,6 @@
---- Telegram/SourceFiles/layout.cpp.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/layout.cpp.orig	2018-04-08 17:34:33 UTC
 +++ Telegram/SourceFiles/layout.cpp
-@@ -264,16 +264,16 @@ bool documentIsExecutableName(const QStr
+@@ -206,16 +206,16 @@ bool documentIsExecutableName(const QStr
  		*result = qsl("\
  action app bin command csh osx workflow\
  ").split(' ');
@@ -16,7 +16,7 @@
  msp mst paf pif ps1 reg rgs sct shb shs u3p vb vbe vbs vbscript ws wsf\
  ").split(' ');
 -#endif // !Q_OS_MAC && !Q_OS_LINUX
-+#endif // !Q_OS_MAC && !Q_OS_LINUX && ! Q_OS_FREEBSD
++#endif // !Q_OS_MAC && !Q_OS_LINUX && !Q_OS_FREEBSD
  		return result.release();
  	})());
  

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_logs.cpp
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_logs.cpp	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_logs.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,35 +1,39 @@
---- Telegram/SourceFiles/logs.cpp.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/logs.cpp.orig	2018-02-06 05:51:11 UTC
 +++ Telegram/SourceFiles/logs.cpp
-@@ -311,7 +311,7 @@ namespace Logs {
- 		QString initialWorkingDir = QDir(cWorkingDir()).absolutePath() + '/', moveOldDataFrom;
- 		if (cBetaVersion()) {
- 			cSetDebug(true);
+@@ -321,7 +321,7 @@ void start(not_null<Core::Launcher*> lau
+ 	if (cBetaVersion()) {
+ 		cSetDebug(true);
+ 		workingDirChosen = true;
 -#if defined Q_OS_MAC || defined Q_OS_LINUX
 +#if defined Q_OS_MAC || defined Q_OS_LINUX || defined Q_OS_FREEBSD
- 		} else {
+ 	} else {
  #ifdef _DEBUG
- 			cForceWorkingDir(cExeDir());
-@@ -322,11 +322,11 @@ namespace Logs {
- #endif // else for _DEBUG
- 			workingDirChosen = true;
+ 		cForceWorkingDir(cExeDir());
+@@ -335,15 +335,15 @@ void start(not_null<Core::Launcher*> lau
+ #endif // !_DEBUG
+ 		workingDirChosen = true;
  
 -#if defined Q_OS_LINUX && !defined _DEBUG // fix first version
 +#if (defined Q_OS_LINUX || defined Q_OS_FREEBSD) && !defined _DEBUG // fix first version
- 			moveOldDataFrom = initialWorkingDir;
--#endif // Q_OS_LINUX && !_DEBUG
-+#endif // (Q_OS_LINUX || Q_OS_FREEBSD) && !_DEBUG
+ 		moveOldDataFrom = initialWorkingDir;
+ #endif // Q_OS_LINUX && !_DEBUG
  
 -#elif defined Q_OS_WINRT // Q_OS_MAC || Q_OS_LINUX
 +#elif defined Q_OS_WINRT // Q_OS_MAC || Q_OS_LINUX || Q_OS_FREEBSD
- 		} else {
- 			cForceWorkingDir(psAppDataPath());
+ 	} else {
+ 		cForceWorkingDir(psAppDataPath());
+ 		workingDirChosen = true;
+-#elif defined OS_WIN_STORE // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT
++#elif defined OS_WIN_STORE // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || Q_OS_FREEBSD
+ #ifdef _DEBUG
+ 		cForceWorkingDir(cExeDir());
+ #else // _DEBUG
+@@ -357,7 +357,7 @@ void start(not_null<Core::Launcher*> lau
+ 			cForceWorkingDir(cWorkingDir());
  			workingDirChosen = true;
-@@ -502,7 +502,7 @@ namespace Logs {
- 		//OutputDebugString(reinterpret_cast<const wchar_t *>(msg.utf16()));
- #elif defined Q_OS_MAC
- 		//objc_outputDebugString(msg);
--#elif defined Q_OS_LINUX && defined _DEBUG
-+#elif (defined Q_OS_LINUX || defined Q_OS_FREEBSD) && defined _DEBUG
- 		//std::cout << msg.toUtf8().constData();
- #endif
+ 		}
+-#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || OS_WIN_STORE
++#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WINRT || OS_WIN_STORE || Q_OS_FREEBSD
  	}
+ 
+ 	LogsData = new LogsDataFields();

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.cpp
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.cpp	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,6 +1,6 @@
---- Telegram/SourceFiles/platform/linux/linux_libs.cpp.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/platform/linux/linux_libs.cpp.orig	2018-02-06 05:57:25 UTC
 +++ Telegram/SourceFiles/platform/linux/linux_libs.cpp
-@@ -133,6 +133,7 @@ bool setupGtkBase(QLibrary &lib_gtk) {
+@@ -121,6 +121,7 @@ bool setupGtkBase(QLibrary &lib_gtk) {
  	return true;
  }
  
@@ -8,15 +8,15 @@
  bool setupAppIndicator(QLibrary &lib_indicator) {
  	if (!load(lib_indicator, "app_indicator_new", app_indicator_new)) return false;
  	if (!load(lib_indicator, "app_indicator_set_status", app_indicator_set_status)) return false;
-@@ -142,6 +143,7 @@ bool setupAppIndicator(QLibrary &lib_ind
+@@ -130,6 +131,7 @@ bool setupAppIndicator(QLibrary &lib_ind
  	DEBUG_LOG(("Library appindicator functions loaded!"));
  	return true;
  }
 +#endif
+ #endif // !TDESKTOP_DISABLE_GTK_INTEGRATION
  
  } // namespace
- 
-@@ -201,10 +203,12 @@ f_g_type_check_instance_cast g_type_chec
+@@ -191,10 +193,12 @@ f_g_type_check_instance_cast g_type_chec
  f_g_type_check_instance_is_a g_type_check_instance_is_a = nullptr;
  f_g_signal_connect_data g_signal_connect_data = nullptr;
  f_g_signal_handler_disconnect g_signal_handler_disconnect = nullptr;
@@ -29,7 +29,7 @@
  f_gdk_init_check gdk_init_check = nullptr;
  f_gdk_pixbuf_new_from_data gdk_pixbuf_new_from_data = nullptr;
  f_gdk_pixbuf_new_from_file gdk_pixbuf_new_from_file = nullptr;
-@@ -242,6 +246,7 @@ void start() {
+@@ -234,6 +238,7 @@ void start() {
  	bool gtkLoaded = false;
  	bool indicatorLoaded = false;
  	QLibrary lib_gtk, lib_indicator;
@@ -37,7 +37,7 @@
  	if (loadLibrary(lib_indicator, "appindicator3", 1)) {
  		if (loadLibrary(lib_gtk, "gtk-3", 0)) {
  			gtkLoaded = setupGtkBase(lib_gtk);
-@@ -257,6 +262,7 @@ void start() {
+@@ -249,6 +254,7 @@ void start() {
  			}
  		}
  	}

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.h
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.h	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_linux__libs.h	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,7 +1,7 @@
---- Telegram/SourceFiles/platform/linux/linux_libs.h.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/platform/linux/linux_libs.h.orig	2018-02-06 05:56:56 UTC
 +++ Telegram/SourceFiles/platform/linux/linux_libs.h
-@@ -22,14 +22,16 @@ Copyright (c) 2014-2017 John Preston, ht
- 
+@@ -10,14 +10,16 @@ https://github.com/telegramdesktop/tdesk
+ #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
  extern "C" {
  #undef signals
 +#ifdef HAVE_APPINDICATOR
@@ -16,9 +16,9 @@
 -#include <unity/unity/unity.h>
 +typedef void UnityLauncherEntry;
  #endif // !TDESKTOP_DISABLE_UNITY_INTEGRATION
+ #endif // !TDESKTOP_DISABLE_GTK_INTEGRATION
  
- namespace Platform {
-@@ -284,6 +286,7 @@ inline gulong g_signal_connect_swapped_h
+@@ -274,6 +276,7 @@ inline gulong g_signal_connect_swapped_h
  typedef void (*f_g_signal_handler_disconnect)(gpointer instance, gulong handler_id);
  extern f_g_signal_handler_disconnect g_signal_handler_disconnect;
  
@@ -26,7 +26,7 @@
  typedef AppIndicator* (*f_app_indicator_new)(const gchar *id, const gchar *icon_name, AppIndicatorCategory category);
  extern f_app_indicator_new app_indicator_new;
  
-@@ -295,6 +298,7 @@ extern f_app_indicator_set_menu app_indi
+@@ -285,6 +288,7 @@ extern f_app_indicator_set_menu app_indi
  
  typedef void (*f_app_indicator_set_icon_full)(AppIndicator *self, const gchar *icon_name, const gchar *icon_desc);
  extern f_app_indicator_set_icon_full app_indicator_set_icon_full;

Modified: head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_main__window__linux.cpp
==============================================================================
--- head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_main__window__linux.cpp	Tue Apr 17 13:47:21 2018	(r467606)
+++ head/net-im/telegram-desktop/files/patch-Telegram_SourceFiles_platform_linux_main__window__linux.cpp	Tue Apr 17 14:10:49 2018	(r467607)
@@ -1,18 +1,18 @@
---- Telegram/SourceFiles/platform/linux/main_window_linux.cpp.orig	2017-09-05 17:38:38 UTC
+--- Telegram/SourceFiles/platform/linux/main_window_linux.cpp.orig	2018-04-08 17:34:33 UTC
 +++ Telegram/SourceFiles/platform/linux/main_window_linux.cpp
-@@ -36,7 +36,9 @@ namespace {
- bool noQtTrayIcon = false, tryAppIndicator = false;
+@@ -25,7 +25,9 @@ bool noQtTrayIcon = false, tryAppIndicat
  bool useGtkBase = false, useAppIndicator = false, useStatusIcon = false, trayIconChecked = false, useUnityCount = false;
  
+ #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
 +#ifdef HAVE_APPINDICATOR
  AppIndicator *_trayIndicator = 0;
 +#endif
  GtkStatusIcon *_trayIcon = 0;
  GtkWidget *_trayMenu = 0;
  GdkPixbuf *_trayPixbuf = 0;
-@@ -274,7 +276,9 @@ void MainWindow::workmodeUpdated(DBIWork
- 	if (mode == dbiwmWindowOnly) {
+@@ -279,7 +281,9 @@ void MainWindow::workmodeUpdated(DBIWork
  		if (noQtTrayIcon) {
+ #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
  			if (useAppIndicator) {
 +#ifdef HAVE_APPINDICATOR
  				Libs::app_indicator_set_status(_trayIndicator, APP_INDICATOR_STATUS_PASSIVE);
@@ -20,9 +20,9 @@
  			} else if (useStatusIcon) {
  				Libs::gtk_status_icon_set_visible(_trayIcon, false);
  			}
-@@ -288,7 +292,9 @@ void MainWindow::workmodeUpdated(DBIWork
- 	} else {
+@@ -295,7 +299,9 @@ void MainWindow::workmodeUpdated(DBIWork
  		if (noQtTrayIcon) {
+ #ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
  			if (useAppIndicator) {
 +#ifdef HAVE_APPINDICATOR
  				Libs::app_indicator_set_status(_trayIndicator, APP_INDICATOR_STATUS_ACTIVE);
@@ -30,7 +30,7 @@
  			} else if (useStatusIcon) {
  				Libs::gtk_status_icon_set_visible(_trayIcon, true);
  			}
-@@ -305,7 +311,9 @@ void MainWindow::psUpdateIndicator() {
+@@ -314,7 +320,9 @@ void MainWindow::psUpdateIndicator() {
  	if (iconFile.exists()) {
  		QByteArray path = QFile::encodeName(iconFile.absoluteFilePath()), name = QFile::encodeName(iconFile.fileName());
  		name = name.mid(0, name.size() - 4);
@@ -40,7 +40,7 @@
  	} else {
  		useAppIndicator = false;
  	}
-@@ -392,11 +400,15 @@ void MainWindow::LibsLoaded() {
+@@ -407,11 +415,15 @@ void MainWindow::LibsLoaded() {
  			&& (Libs::g_object_ref_sink != nullptr)
  			&& (Libs::g_object_unref != nullptr);
  
@@ -51,20 +51,20 @@
  			&& (Libs::app_indicator_set_menu != nullptr)
  			&& (Libs::app_indicator_set_icon_full != nullptr);
 +#else
-+    useAppIndicator = false;
++	useAppIndicator = false;
 +#endif
  
  	if (tryAppIndicator && useGtkBase && useAppIndicator) {
  		noQtTrayIcon = true;
-@@ -439,6 +451,7 @@ void MainWindow::psCreateTrayIcon() {
- 		return;
+@@ -456,6 +468,7 @@ void MainWindow::psCreateTrayIcon() {
  	}

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804171410.w3HEAn23063456>