From owner-dev-commits-ports-all@freebsd.org Mon Apr 12 09:57:09 2021 Return-Path: Delivered-To: dev-commits-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1321C5C9A8E; Mon, 12 Apr 2021 09:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4FJkfs0432z3nYx; Mon, 12 Apr 2021 09:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E93801568B; Mon, 12 Apr 2021 09:57:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 13C9v8oT035895; Mon, 12 Apr 2021 09:57:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 13C9v8iM035894; Mon, 12 Apr 2021 09:57:08 GMT (envelope-from git) Date: Mon, 12 Apr 2021 09:57:08 GMT Message-Id: <202104120957.13C9v8iM035894@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Alexey Dokuchaev 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. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: danfe X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f62babfc4daa0523f08a23f6ef0a9e239e7b0c8 Auto-Submitted: auto-generated X-BeenThere: dev-commits-ports-all@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for all branches of the ports repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Apr 2021 09:57:09 -0000 The branch main has been updated by danfe: URL: https://cgit.FreeBSD.org/ports/commit/?id=4f62babfc4daa0523f08a23f6ef0a9e239e7b0c8 commit 4f62babfc4daa0523f08a23f6ef0a9e239e7b0c8 Author: Alexey Dokuchaev AuthorDate: 2021-04-12 09:56:26 +0000 Commit: Alexey Dokuchaev 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 + +--- 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 );