Index: head/net-im/telegram-desktop/Makefile =================================================================== --- head/net-im/telegram-desktop/Makefile (revision 478813) +++ head/net-im/telegram-desktop/Makefile (revision 478814) @@ -1,114 +1,113 @@ # $FreeBSD$ PORTNAME= telegram-desktop DISTVERSIONPREFIX= v -DISTVERSION= 1.3.12 +DISTVERSION= 1.3.14 CATEGORIES= net-im MAINTAINER= henry.hu.sh@gmail.com COMMENT= Telegram Desktop messaging app LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= dee>0:devel/dee \ 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 -USES= cmake:noninja,outsource desktop-file-utils gmake pkgconfig python:2.7,build qt:5 ssl +USES= compiler:c++17-lang cmake:noninja,outsource desktop-file-utils gmake pkgconfig python:2.7,build qt:5 ssl USE_GITHUB= yes GH_ACCOUNT= telegramdesktop GH_PROJECT= tdesktop GH_TUPLE= catchorg:Catch2:5ca44b68:catch/Telegram/ThirdParty/Catch \ mapbox:variant:550ac2f:variant/Telegram/ThirdParty/variant \ Microsoft:GSL:d846fe5:gsl/Telegram/ThirdParty/GSL \ - telegramdesktop:libtgvoip:5380aab:libtgvoip/Telegram/ThirdParty/libtgvoip \ + telegramdesktop:libtgvoip:bfa1e6a:libtgvoip/Telegram/ThirdParty/libtgvoip \ telegramdesktop:crl:527ad27:crl/Telegram/ThirdParty/crl USE_GNOME= glib20 USE_QT= core gui imageformats network widgets buildtools_build qmake_build dbus USE_XORG= x11 xcb INSTALLS_ICONS= yes 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_DEFINE= GTK OPTIONS_DEFAULT= ALSA AUDIO_DESC= Audio backend for voice calls GTK_DESC= Gtk integration (Use Gtk dialogs, etc.) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio .include .if ${PORT_OPTIONS:MGTK} USE_GNOME+= gtk30 .else GYP_DEFINES:= ${GYP_DEFINES},TDESKTOP_DISABLE_GTK_INTEGRATION .endif .include -# 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 -BROKEN= Need C++17 support in compiler and runtime +# Since 1.3.14, the clang compiler provided in 11.1 (4.0.0) gets a segmentation +# fault. +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1102000 +CXXFLAGS+= -DGSL_USE_STD_BYTE=0 +QMAKE_COMPILER= clang .endif post-patch: @cd ${WRKSRC} && \ (${SED} -e " \ s|%%QT_VERSION%%|${QT5_VERSION}| ; \ s|%%LOCALBASE%%|${LOCALBASE}| ; \ s|%%CFLAGS%%|${CFLAGS:C/(.*)/'\1',/}| ; \ s|%%CXXFLAGS%%|${CXXFLAGS:C/(.*)/'\1',/}| ; \ s|%%LDFLAGS%%|${LDFLAGS:C/(.*)/'\1',/}| ; \ s|%%QT_BINDIR%%|${QT_BINDIR}| ; \ s|%%QT_INCDIR%%|${QT_INCDIR}| ; \ s|%%QT_LIBDIR%%|${QT_LIBDIR}| ; \ s|%%QMAKESPEC%%|${QMAKESPEC}| ; \ s|%%PYTHON_CMD%%|${PYTHON_CMD}|" \ ${FILESDIR}/gyp-patches | \ ${PATCH} -z .bak -s) @${ECHO} "#define FREEBSD_QT_PLUGINDIR \"${QT_PLUGINDIR}\"" > ${WRKSRC}/Telegram/SourceFiles/FREEBSD_QT_PLUGINDIR.h pre-configure: @cd ${WRKSRC} && gyp \ -Dbuild_defines=${GYP_DEFINES} \ -Gconfig=Release \ --depth=Telegram/gyp --generator-output=../.. -Goutput_dir=out Telegram/gyp/Telegram.gyp --format=cmake @TOT=`wc -l < ${WRKSRC}/out/Release/CMakeLists.txt` && NUM=`expr $$TOT - 2` && \ ${SED} -i -e "$$NUM r ${FILESDIR}/CMakeLists.inj" ${WRKSRC}/out/Release/CMakeLists.txt do-install: ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/Telegram ${STAGEDIR}${PREFIX}/bin/${PORTNAME} ${INSTALL_DATA} ${WRKSRC}/lib/xdg/telegramdesktop.desktop ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}.desktop @${MKDIR} ${STAGEDIR}${PREFIX}/share/kservices5 ${INSTALL_DATA} ${WRKSRC}/lib/xdg/tg.protocol ${STAGEDIR}${PREFIX}/share/kservices5 @${MKDIR} ${STAGEDIR}${PREFIX}/share/appdata ${INSTALL_DATA} ${WRKSRC}/lib/xdg/telegramdesktop.appdata.xml ${STAGEDIR}${PREFIX}/share/appdata/${PORTNAME}.appdata.xml .for icon_size in 16 32 48 64 128 256 512 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${icon_size}x${icon_size}/apps ${INSTALL_DATA} \ ${WRKSRC}/Telegram/Resources/art/icon${icon_size}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${icon_size}x${icon_size}/apps/${PORTNAME}.png .endfor .include Index: head/net-im/telegram-desktop/distinfo =================================================================== --- head/net-im/telegram-desktop/distinfo (revision 478813) +++ head/net-im/telegram-desktop/distinfo (revision 478814) @@ -1,13 +1,13 @@ -TIMESTAMP = 1533439370 -SHA256 (telegramdesktop-tdesktop-v1.3.12_GH0.tar.gz) = 4d19fdc85f0c792c6c073062dacf707fc976581a8d249fa91757015cceb7662b -SIZE (telegramdesktop-tdesktop-v1.3.12_GH0.tar.gz) = 17180353 +TIMESTAMP = 1535586991 +SHA256 (telegramdesktop-tdesktop-v1.3.14_GH0.tar.gz) = 83daeded641f79bd370b5e83be88242ab57520e7754f1371a9e5c1f3d9863f2a +SIZE (telegramdesktop-tdesktop-v1.3.14_GH0.tar.gz) = 17199969 SHA256 (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 8cdf2a345897bda1aaabffd4496dffe263768cef3e4254e74ae63545c8e12cc2 SIZE (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 375264 SHA256 (mapbox-variant-550ac2f_GH0.tar.gz) = 7ab3aa7c9fa672027f13721584df5f7ec09c0ecca499d374c6ac76e147ef7354 SIZE (mapbox-variant-550ac2f_GH0.tar.gz) = 108686 SHA256 (Microsoft-GSL-d846fe5_GH0.tar.gz) = 4c463f93ca3b1dcb0b8d73b54309c1d31145761c457f1a6fd53554a6d469b468 SIZE (Microsoft-GSL-d846fe5_GH0.tar.gz) = 58930 -SHA256 (telegramdesktop-libtgvoip-5380aab_GH0.tar.gz) = 6b3e49835a7705406a0161162a1ffb53be6d66b17a8faaca49e6df51a34ebe23 -SIZE (telegramdesktop-libtgvoip-5380aab_GH0.tar.gz) = 810123 +SHA256 (telegramdesktop-libtgvoip-bfa1e6a_GH0.tar.gz) = 355ab6bf2d5c2a8edcd1e6263aaec43af67d7085f4ddacfab3f3f942cff8c1b5 +SIZE (telegramdesktop-libtgvoip-bfa1e6a_GH0.tar.gz) = 796409 SHA256 (telegramdesktop-crl-527ad27_GH0.tar.gz) = 6ab03b09ea2f501f3602acfd06d6a5d174db6a25259268978323552a69b37622 SIZE (telegramdesktop-crl-527ad27_GH0.tar.gz) = 20081 Index: head/net-im/telegram-desktop/files/gyp-patches =================================================================== --- head/net-im/telegram-desktop/files/gyp-patches (revision 478813) +++ head/net-im/telegram-desktop/files/gyp-patches (revision 478814) @@ -1,448 +1,448 @@ --- Telegram/gyp/codegen_rules.gypi.orig 2018-08-04 18:53:40 UTC +++ Telegram/gyp/codegen_rules.gypi @@ -15,7 +15,7 @@ '<(SHARED_INTERMEDIATE_DIR)/update_dependent_styles.timestamp', ], 'action': [ - 'python', '<(DEPTH)/update_dependent.py', '--styles', + '%%PYTHON_CMD%%', '<(DEPTH)/update_dependent.py', '--styles', '-I', '<(res_loc)', '-I', '<(src_loc)', '-o', '<(SHARED_INTERMEDIATE_DIR)/update_dependent_styles.timestamp', '<@(style_files)', @@ -26,13 +26,13 @@ 'inputs': [ '<(DEPTH)/update_dependent.py', '<@(qrc_files)', - ' /dev/null --libs <@(pkgconfig_libs))', ], 'cflags_cc': [ @@ -71,7 +64,6 @@ 'ldflags': [ '-Wl,-wrap,aligned_alloc', '-Wl,-wrap,secure_getenv', - '-Wl,-wrap,clock_gettime', '-Wl,--no-as-needed,-lrt', ], 'configurations': { @@ -79,13 +71,16 @@ 'cflags_c': [ '-Ofast', '-fno-strict-aliasing', + %%CFLAGS%% ], 'cflags_cc': [ '-Ofast', '-fno-strict-aliasing', + %%CXXFLAGS%% ], 'ldflags': [ '-Ofast', + %%LDFLAGS%% ], }, }, @@ -96,10 +91,7 @@ ], }], ['not_need_gtk!="True"', { 'cflags_cc': [ - ' /dev/null --cflags appindicator-0.1)', - ' /dev/null --cflags gtk+-2.0)', - ' /dev/null --cflags glib-2.0)', - ' /dev/null --cflags dee-1.0)', + ' /dev/null --cflags gtk+-3.0)', ], }] ], --- Telegram/gyp/Telegram.gyp.orig 2018-08-04 18:53:40 UTC +++ Telegram/gyp/Telegram.gyp @@ -51,7 +51,7 @@ 'pt-BR', ], 'build_defines%': '', - 'list_sources_command': 'python <(DEPTH)/list_sources.py --input <(DEPTH)/telegram_sources.txt --replace src_loc=<(src_loc)', + 'list_sources_command': '%%PYTHON_CMD%% <(DEPTH)/list_sources.py --input <(DEPTH)/telegram_sources.txt --replace src_loc=<(src_loc)', 'pch_source': '<(src_loc)/stdafx.cpp', 'pch_header': '<(src_loc)/stdafx.h', }, @@ -74,31 +74,21 @@ 'codegen.gyp:codegen_numbers', 'codegen.gyp:codegen_style', 'tests/tests.gyp:tests', - 'utils.gyp:Updater', '../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip', 'crl.gyp:crl', 'lib_export.gyp:lib_export', ], 'defines': [ - 'AL_LIBTYPE_STATIC', 'AL_ALEXT_PROTOTYPES', 'TGVOIP_USE_CXX11_LIB', - '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() { Index: head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_VoIPController.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_VoIPController.cpp (revision 478813) +++ head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_VoIPController.cpp (revision 478814) @@ -1,11 +1,11 @@ --- Telegram/ThirdParty/libtgvoip/VoIPController.cpp.orig 2018-07-17 16:48:21 UTC +++ Telegram/ThirdParty/libtgvoip/VoIPController.cpp -@@ -2046,7 +2046,7 @@ static void initMachTimestart() { +@@ -2048,7 +2048,7 @@ static void initMachTimestart() { #endif double VoIPController::GetCurrentTime(){ -#if defined(__linux__) +#if defined(__linux__) || defined(__FreeBSD__) struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return ts.tv_sec+(double)ts.tv_nsec/1000000000.0; Index: head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioInput.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioInput.cpp (revision 478813) +++ head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioInput.cpp (revision 478814) @@ -1,29 +1,20 @@ --- Telegram/ThirdParty/libtgvoip/audio/AudioInput.cpp.orig 2018-07-17 16:48:21 UTC +++ Telegram/ThirdParty/libtgvoip/audio/AudioInput.cpp @@ -24,7 +24,7 @@ #include "../os/windows/AudioInputWave.h" #endif #include "../os/windows/AudioInputWASAPI.h" -#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__) +#elif defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__) #ifndef WITHOUT_ALSA #include "../os/linux/AudioInputALSA.h" #endif -@@ -63,7 +63,7 @@ AudioInput::AudioInput(std::string devic - return new AudioInputWave(deviceID); - #endif - return new AudioInputWASAPI(deviceID); --#elif defined(__linux__) -+#elif defined(__linux__) || defined(__FreeBSD__) - if(AudioInputPulse::IsAvailable()){ - AudioInputPulse* aip=new AudioInputPulse(deviceID); - if(!aip->IsInitialized()) -@@ -96,7 +96,7 @@ void AudioInput::EnumerateDevices(std::v +@@ -68,7 +68,7 @@ void AudioInput::EnumerateDevices(std::v } #endif AudioInputWASAPI::EnumerateDevices(devs); -#elif defined(__linux__) && !defined(__ANDROID__) +#elif (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) #if !defined(WITHOUT_PULSE) && !defined(WITHOUT_ALSA) if(!AudioInputPulse::EnumerateDevices(devs)) AudioInputALSA::EnumerateDevices(devs); Index: head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioOutput.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioOutput.cpp (revision 478813) +++ head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_audio_AudioOutput.cpp (revision 478814) @@ -1,29 +1,20 @@ --- Telegram/ThirdParty/libtgvoip/audio/AudioOutput.cpp.orig 2018-07-17 16:48:21 UTC +++ Telegram/ThirdParty/libtgvoip/audio/AudioOutput.cpp @@ -27,7 +27,7 @@ #include "../os/windows/AudioOutputWave.h" #endif #include "../os/windows/AudioOutputWASAPI.h" -#elif defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__) +#elif defined(__linux__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__) #ifndef WITHOUT_ALSA #include "../os/linux/AudioOutputALSA.h" #endif -@@ -59,7 +59,7 @@ int32_t AudioOutput::estimatedDelay=60; - return std::unique_ptr(new AudioOutputWave(deviceID)); - #endif - return std::unique_ptr(new AudioOutputWASAPI(deviceID)); --#elif defined(__linux__) -+#elif defined(__linux__) || defined(__FreeBSD__) - if(AudioOutputPulse::IsAvailable()){ - AudioOutputPulse* aop=new AudioOutputPulse(deviceID); - if(!aop->IsInitialized()) -@@ -107,7 +107,7 @@ void AudioOutput::EnumerateDevices(std:: +@@ -79,7 +79,7 @@ void AudioOutput::EnumerateDevices(std:: } #endif AudioOutputWASAPI::EnumerateDevices(devs); -#elif defined(__linux__) && !defined(__ANDROID__) +#elif (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) #if !defined(WITHOUT_PULSE) && !defined(WITHOUT_ALSA) if(!AudioOutputPulse::EnumerateDevices(devs)) AudioOutputALSA::EnumerateDevices(devs); Index: head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_AudioPulse.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_AudioPulse.cpp (revision 478813) +++ head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_linux_AudioPulse.cpp (revision 478814) @@ -1,19 +1,19 @@ --- Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp.orig 2018-07-17 16:48:21 UTC +++ Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp @@ -7,6 +7,9 @@ #include "AudioPulse.h" #include #include "../../logging.h" +#ifdef __FreeBSD__ +#include +#endif #define DECLARE_DL_FUNCTION(name) typeof(name)* AudioPulse::_import_##name=NULL #define CHECK_DL_ERROR(res, msg) if(!res){LOGE(msg ": %s", dlerror()); return false;} -@@ -272,4 +275,4 @@ bool AudioPulse::DoOneOperation(std::fun +@@ -283,4 +286,4 @@ bool AudioPulse::DoOneOperation(std::fun } pa_mainloop_iterate(ml, 1, NULL); } -} \ No newline at end of file +} Index: head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_posix_NetworkSocketPosix.cpp =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_posix_NetworkSocketPosix.cpp (revision 478813) +++ head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_os_posix_NetworkSocketPosix.cpp (revision 478814) @@ -1,10 +1,10 @@ --- Telegram/ThirdParty/libtgvoip/os/posix/NetworkSocketPosix.cpp.orig 2018-07-17 16:48:21 UTC +++ Telegram/ThirdParty/libtgvoip/os/posix/NetworkSocketPosix.cpp -@@ -53,6 +53,7 @@ void NetworkSocketPosix::SetMaxPriority( +@@ -54,6 +54,7 @@ void NetworkSocketPosix::SetMaxPriority( if(res<0){ LOGE("error setting darwin-specific net priority: %d / %s", errno, strerror(errno)); } +#elif defined(__FreeBSD__) #elif defined(__linux__) int prio=5; int res=setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &prio, sizeof(prio)); Index: head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_threading.h =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_threading.h (revision 478813) +++ head/net-im/telegram-desktop/files/patch-Telegram_ThirdParty_libtgvoip_threading.h (revision 478814) @@ -1,23 +1,23 @@ --- Telegram/ThirdParty/libtgvoip/threading.h.orig 2018-07-17 16:48:21 UTC +++ Telegram/ThirdParty/libtgvoip/threading.h @@ -42,6 +42,9 @@ namespace tgvoip{ #ifdef __APPLE__ #include "os/darwin/DarwinSpecific.h" #endif +#ifdef __FreeBSD__ +#include +#endif namespace tgvoip{ class Mutex{ -@@ -112,7 +115,9 @@ namespace tgvoip{ +@@ -115,7 +118,9 @@ namespace tgvoip{ static void* ActualEntryPoint(void* arg){ Thread* self=reinterpret_cast(arg); if(self->name){ -#if !defined(__APPLE__) && !defined(__gnu_hurd__) +#if defined(__FreeBSD__) + pthread_set_name_np(self->thread, self->name); +#elif !defined(__APPLE__) && !defined(__gnu_hurd__) pthread_setname_np(self->thread, self->name); #elif !defined(__gnu_hurd__) pthread_setname_np(self->name); Index: head/net-im/telegram-desktop/files/patch-Telegram_gyp_telegram__sources.txt =================================================================== --- head/net-im/telegram-desktop/files/patch-Telegram_gyp_telegram__sources.txt (revision 478813) +++ head/net-im/telegram-desktop/files/patch-Telegram_gyp_telegram__sources.txt (revision 478814) @@ -1,18 +1,18 @@ --- Telegram/gyp/telegram_sources.txt.orig 2018-08-04 18:53:40 UTC +++ Telegram/gyp/telegram_sources.txt -@@ -797,14 +797,7 @@ +@@ -801,14 +801,7 @@ <(emoji_suggestions_loc)/emoji_suggestions.cpp <(emoji_suggestions_loc)/emoji_suggestions.h -platforms: !win -<(minizip_loc)/crypt.h -<(minizip_loc)/ioapi.c -<(minizip_loc)/ioapi.h -<(minizip_loc)/zip.c -<(minizip_loc)/zip.h -<(minizip_loc)/unzip.c -<(minizip_loc)/unzip.h +<(src_loc)/qt_functions.cpp platforms: mac <(sp_media_key_tap_loc)/SPMediaKeyTap.m