diff options
author | Charlie Li <vishwin@FreeBSD.org> | 2021-05-12 00:21:02 -0400 |
---|---|---|
committer | Charlie Li <vishwin@FreeBSD.org> | 2021-05-13 22:48:39 -0400 |
commit | 80762637bb7d34dcc3e8049b869db0908f404b2c (patch) | |
tree | 687bdce316ce08221df21e1e6d9eaa7e09e7f3af | |
parent | science/tinker: Update 8.8.3 -> 8.9.1 (diff) |
net-im/telegram-desktop: fix build with GTK option
Telegram now includes a WebView feature when GTK is enabled, which
uses www/webkit2-gtk3.
While here, fix the following minor items:
- allow building with Python newer than 3.7
- devel/dee is not needed for build, remove
- clean up USES= syntax in the GTK option
Obtained from: https://github.com/desktop-app/lib_webview/commit/0b4100d7cecc4e748c51f3f51ebfd1392ec3978a
https://github.com/desktop-app/lib_webview/commit/48d70e5258754b2415b07c88f0376212596e09a7
Approved by: Henry Hu <henry.hu.sh@gmail.com> (maintainer),
arrowd (mentor), fluffy (mentor)
PR: 255719
Differential Revision: https://reviews.freebsd.org/D30224
3 files changed, 36 insertions, 8 deletions
diff --git a/net-im/telegram-desktop/Makefile b/net-im/telegram-desktop/Makefile index ddbc4ec6c8e9..b635bbefee83 100644 --- a/net-im/telegram-desktop/Makefile +++ b/net-im/telegram-desktop/Makefile @@ -16,7 +16,6 @@ NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe NOT_FOR_ARCHS_REASON= Only little endian is supported BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib \ - dee>0:devel/dee \ microsoft-gsl>0:devel/microsoft-gsl \ pulseaudio>0:audio/pulseaudio \ range-v3>0:devel/range-v3 \ @@ -40,7 +39,7 @@ LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \ libxxhash.so:devel/xxhash USES= cmake compiler:c++17-lang desktop-file-utils gl \ - gnome pkgconfig python:3.7,build qt:5 ssl xorg + gnome pkgconfig python:3.7+,build qt:5 ssl xorg USE_GITHUB= nodefault GH_ACCOUNT= telegramdesktop @@ -81,16 +80,12 @@ GTK_DESC= Gtk integration (Use Gtk dialogs, etc.) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib GTK_CMAKE_BOOL_OFF= DESKTOP_APP_DISABLE_GTK_INTEGRATION +GTK_LIB_DEPENDS= libwebkit2gtk-4.0.so:www/webkit2-gtk3 +GTK_USE= GNOME=gtk30 PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio # Telegram asks each custom build to have its own API ID and hash. TELEGRAM_API_HASH= 20a3432aab43f24bb4460fceac5ba38d TELEGRAM_API_ID= 601761 -.include <bsd.port.options.mk> - -.if ${PORT_OPTIONS:MGTK} -USE_GNOME+= gtk30 -.endif - .include <bsd.port.mk> diff --git a/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkit__gtk.cpp b/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkit__gtk.cpp new file mode 100644 index 000000000000..55842e691436 --- /dev/null +++ b/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkit__gtk.cpp @@ -0,0 +1,20 @@ +--- Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.cpp.orig 2021-04-14 05:42:51 UTC ++++ Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.cpp +@@ -26,7 +26,7 @@ bool Resolve() { + auto >k = BaseGtkIntegration::Instance()->library(); + + auto webkit2gtk = QLibrary(); +- const auto result = LOAD_GTK_SYMBOL(gtk, gtk_widget_get_type) ++ const auto result = LOAD_GTK_SYMBOL(gtk, gtk_widget_get_type) + && LOAD_GTK_SYMBOL(gtk, gtk_widget_grab_focus) + && LOAD_GTK_SYMBOL(gtk, gtk_container_get_type) + && LOAD_GTK_SYMBOL(gtk, gtk_container_add) +@@ -38,7 +38,7 @@ bool Resolve() { + && LOAD_GTK_SYMBOL(gtk, gtk_window_get_type) + && LOAD_GTK_SYMBOL(gtk, gtk_window_set_decorated) + && LOAD_GTK_SYMBOL(gtk, gdk_x11_window_get_xid) +- && base::Platform::Gtk::LoadLibrary(webkit2gtk, "libwebkit2gtk-4.0.so.37", 0) ++ && base::Platform::Gtk::LoadGtkLibrary(webkit2gtk, "libwebkit2gtk-4.0.so.37") + && LOAD_GTK_SYMBOL(webkit2gtk, webkit_web_view_new) + && LOAD_GTK_SYMBOL(webkit2gtk, webkit_web_view_get_type) + && LOAD_GTK_SYMBOL(webkit2gtk, webkit_web_view_get_user_content_manager) diff --git a/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkit__gtk.h b/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkit__gtk.h new file mode 100644 index 000000000000..64864b80978b --- /dev/null +++ b/net-im/telegram-desktop/files/patch-Telegram_lib__webview_webview_platform_linux_webview__linux__webkit__gtk.h @@ -0,0 +1,13 @@ +--- Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.h.orig 2021-04-14 05:42:51 UTC ++++ Telegram/lib_webview/webview/platform/linux/webview_linux_webkit_gtk.h +@@ -11,9 +11,9 @@ + extern "C" { + #undef signals + #include <JavaScriptCore/JavaScript.h> ++#include <gdk/gdkx.h> + #include <gtk/gtk.h> + #include <webkit2/webkit2.h> +-#include <X11/Xlib.h> + #define signals public + } // extern "C" + |