Date: Mon, 12 Apr 2021 09:57:08 GMT From: Alexey Dokuchaev <danfe@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 4f62babfc4da - main - Allow to optionally build `x11/gxkb' against GTKv3 instead of v2 and tell PORTSCOUT to skip version 0.9.0 as it carries no other changes. Message-ID: <202104120957.13C9v8iM035894@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by danfe: URL: https://cgit.FreeBSD.org/ports/commit/?id=4f62babfc4daa0523f08a23f6ef0a9e239e7b0c8 commit 4f62babfc4daa0523f08a23f6ef0a9e239e7b0c8 Author: Alexey Dokuchaev <danfe@FreeBSD.org> AuthorDate: 2021-04-12 09:56:26 +0000 Commit: Alexey Dokuchaev <danfe@FreeBSD.org> CommitDate: 2021-04-12 09:55:28 +0000 Allow to optionally build `x11/gxkb' against GTKv3 instead of v2 and tell PORTSCOUT to skip version 0.9.0 as it carries no other changes. PR: 251899 --- x11/gxkb/Makefile | 19 +++++-- x11/gxkb/files/extra-patch-gtk3 | 108 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 5 deletions(-) diff --git a/x11/gxkb/Makefile b/x11/gxkb/Makefile index 5e637b27492a..047fdf5cf87e 100644 --- a/x11/gxkb/Makefile +++ b/x11/gxkb/Makefile @@ -10,20 +10,29 @@ COMMENT= X11 keyboard layout indicator and switcher LICENSE= GPLv2 -LIB_DEPENDS= libxklavier.so:x11/libxklavier \ - libwnck-1.so:x11-toolkits/libwnck +LIB_DEPENDS= libxklavier.so:x11/libxklavier USES= gnome pkgconfig GNU_CONFIGURE= yes -USE_GNOME= gdkpixbuf2 glib20 gtk20 +USE_GNOME= gdkpixbuf2 glib20 + +PORTSCOUT= skipv:0.9.0 # same as 0.8.2, but GTK3 is the default PORTDOCS= AUTHORS NEWS -OPTIONS_DEFINE= DOCS +OPTIONS_DEFINE= DOCS GTK3 +GTK3_DESC= Build against GTK version 3, not 2 + +GTK3_EXTRA_PATCHES= ${FILESDIR}/extra-patch-gtk3 +GTK3_LIB_DEPENDS= libwnck-3.so:x11-toolkits/libwnck3 +GTK3_LIB_DEPENDS_OFF= libwnck-1.so:x11-toolkits/libwnck +GTK3_USES= autoreconf +GTK3_USE= GNOME=gtk30 +GTK3_USE_OFF= GNOME=gtk20 post-patch-DOCS-on: @${REINPLACE_CMD} -e '/^doc_DATA/s, C[^ ]*,,g' \ - ${WRKSRC}/doc/Makefile.in + ${WRKSRC}/doc/Makefile.[ai][mn] post-patch-DOCS-off: @${REINPLACE_CMD} -e '/^SUBDIRS/s, doc,,' ${WRKSRC}/Makefile.in diff --git a/x11/gxkb/files/extra-patch-gtk3 b/x11/gxkb/files/extra-patch-gtk3 new file mode 100644 index 000000000000..8812050e57aa --- /dev/null +++ b/x11/gxkb/files/extra-patch-gtk3 @@ -0,0 +1,108 @@ +GTK3 support, courtesy of Mateusz Ĺukasik <mati75@linuxmint.pl> + +--- configure.ac.orig 2020-07-07 08:50:37 UTC ++++ configure.ac +@@ -7,10 +7,10 @@ AC_PROG_RANLIB + AM_PROG_CC_C_O + AC_HEADER_STDC + PKG_PROG_PKG_CONFIG([0.20]) +-PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.12.0]) ++PKG_CHECK_MODULES(GTK, [gtk+-3.0]) + PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.16.0]) + PKG_CHECK_MODULES(LIBXKLAVIER, [libxklavier >= 3.0]) +-PKG_CHECK_MODULES(LIBWNCK, [libwnck-1.0 >= 2.22.0]) ++PKG_CHECK_MODULES(LIBWNCK, [libwnck-3.0]) + AC_SUBST(GTK_CFLAGS) + AC_SUBST(GTK_LIBS) + AC_SUBST(GLIB_CFLAGS) +--- src/statusicon.c.orig 2020-07-07 08:50:37 UTC ++++ src/statusicon.c +@@ -74,9 +74,7 @@ gtk_status_icon_clicked( GtkStatusIcon *status_icon, g + + if( xkb_config_get_group_count() > 2 ) + { +- gtk_menu_popup( GTK_MENU( lb_mouse_popup ), NULL, NULL, +- gtk_status_icon_position_menu, status_icon, +- 0, gtk_get_current_event_time() ); ++ gtk_menu_popup_at_pointer( GTK_MENU( lb_mouse_popup ), NULL ); + } + else + { +@@ -116,9 +114,7 @@ gtk_status_icon_popup_menu( GtkStatusIcon *status_icon + if( status_icon == NULL ) + return; + +- gtk_menu_popup( GTK_MENU( rb_mouse_popup ), +- NULL, NULL, gtk_status_icon_position_menu, status_icon, button, +- activate_time ); ++ gtk_menu_popup_at_pointer( GTK_MENU( rb_mouse_popup ), NULL ); + } + + void +@@ -153,7 +149,7 @@ statusicon_update_current_image( void ) + } + + gtk_status_icon_set_from_pixbuf( trayicon, pixmap ); +- gtk_status_icon_set_tooltip( trayicon, g_ascii_strup( group_name, -1 ) ); ++ gtk_status_icon_set_tooltip_text( trayicon, g_ascii_strup( group_name, -1 ) ); + } + else if( icon_type == APPINDICATOR ) + { +@@ -220,7 +216,7 @@ statusicon_update_menu( void ) + if( icon_type == APPINDICATOR ) + { + // Separator +- mi = gtk_menu_item_new(); ++ mi = gtk_separator_menu_item_new(); + gtk_widget_show( mi ); + gtk_menu_shell_append( GTK_MENU_SHELL( lb_mouse_popup ), mi ); + gtk_widget_set_sensitive( mi, FALSE ); +@@ -231,20 +227,21 @@ statusicon_update_menu( void ) + rb_mouse_popup = gtk_menu_new(); + } + +- mi = gtk_image_menu_item_new_from_stock( GTK_STOCK_ABOUT, NULL ); ++ mi = gtk_image_menu_item_new_from_stock( "gtk-about", NULL ); + g_signal_connect( G_OBJECT( mi ), "activate", (GCallback)xkb_about, NULL ); + gtk_menu_shell_append( GTK_MENU_SHELL( rb_mouse_popup ), mi ); + gtk_widget_show( mi ); + + if( icon_type == SYSTRAY ) + { +- mi = gtk_menu_item_new(); ++ // Separator ++ mi = gtk_separator_menu_item_new(); + gtk_widget_show( mi ); + gtk_menu_shell_append( GTK_MENU_SHELL( rb_mouse_popup ), mi ); + gtk_widget_set_sensitive( mi, FALSE ); + } + +- mi = gtk_image_menu_item_new_from_stock( GTK_STOCK_QUIT, NULL ); ++ mi = gtk_image_menu_item_new_from_stock( "gtk-quit", NULL ); + g_signal_connect( G_OBJECT( mi ), "activate", (GCallback)xkb_main_quit, NULL ); + gtk_menu_shell_append( GTK_MENU_SHELL( rb_mouse_popup ), mi ); + gtk_widget_show( mi ); +--- src/xkb-callbacks.c.orig 2019-08-09 18:09:51 UTC ++++ src/xkb-callbacks.c +@@ -74,12 +74,18 @@ xkb_about( void ) + GtkWidget* about_dialog = gtk_about_dialog_new(); + gtk_window_set_icon( + (GtkWindow*)about_dialog, +- gtk_widget_render_icon(about_dialog, GTK_STOCK_ABOUT, GTK_ICON_SIZE_DIALOG, NULL) ++ gtk_icon_theme_load_icon( ++ gtk_icon_theme_get_default(), ++ "gtk-about", ++ GTK_ICON_SIZE_DIALOG, ++ 0, ++ NULL ++ ) + ); + +- const gchar* authors[] = { AUTHORS, NULL }; ++ const gchar** authors = (const gchar**) g_strsplit( AUTHORS, "\n", -1 ); + gtk_about_dialog_set_authors( (GtkAboutDialog*)about_dialog, authors ); +- gtk_about_dialog_set_name( (GtkAboutDialog*)about_dialog, PACKAGE ); ++ gtk_about_dialog_set_program_name( (GtkAboutDialog*)about_dialog, PACKAGE ); + gtk_about_dialog_set_version( (GtkAboutDialog*)about_dialog, VERSION ); + gtk_about_dialog_set_comments( (GtkAboutDialog*)about_dialog, DESCRIPTION ); + gtk_about_dialog_set_website( (GtkAboutDialog*)about_dialog, PACKAGE_URL );
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104120957.13C9v8iM035894>