Created attachment 191415 [details] geany-gtk3.patch Works perfectly with the new toolkit. Arch has been shipping Geany with GTK3 for a while. I guess we can have a port option to select between toolkits, but I'm not sure what would be the best way to ensure plugin ports have the correct toolkit dependency based on the selected option in the main application port.
Hi, Thanks for the suggestion. I had been thinking superficially about this. As you say providing it as an option would be nice but isn't so straightforward as it looks. flavors could be slightly better but require portmgr approval (to avoid creating too many and slowing down the build cluster), and just to use a different toolkit it's overkill to generate double packages. Moving to gtk3 without an option looks reasonable at present anyway. Most projects are doing this. Please allow me some time to test and properly evaluate all of this.
(In reply to Guido Falsi from comment #1) > Please allow me some time to test and properly evaluate all of this. BTW, I think the best time to perform such a change is at the next release. Changing port behaviour without practical reason is a little unkind on users.
Hi, After a first test I have found out that the following plugins present in the ports tree actually lack GTK3 support and fail to build: devel/geany-plugin-geanypy devel/geany-plugin-scope devel/geany-plugin-debugger devel/geany-plugin-multiterm devel/geany-plugin-devhelp This is a deal breaker for an unconditional change to GTK3. BTW after applying your patch there are three more plugins requiring further tweaks to compile. Removing plugins just for the sake of a toolkit change is not acceptable. I'd wait for the geany guys to port at least most of these too. I will investigate adding a non default option to the port or even flavoring it, but as you noticed the ports tree lacks a way to depend on specific options or checking them before build. Studying and testing this will require some work and a good warning to help users recompile needed parts if they switch options.
I'm working on a solution leveraging flavors. It will require some time (and testing) to get it to the point it is good enough to be committed, though. I'll keep you informed. Sorry it took so long to get to this point.
I have created a patch to add gtk2 and gtk3 flavors. I submitted it in phabricator for review. Since I'm adding flavors it requires portmgr approval to be committed. Link: https://reviews.freebsd.org/D18018
A commit references this bug: Author: madpilot Date: Sun Dec 9 17:29:16 UTC 2018 New revision: 487062 URL: https://svnweb.freebsd.org/changeset/ports/487062 Log: - Add gtk2 and gtk3 flavors to geany ports - Make gtk3 the default NOTE: some plugins are gtk2 only, please check UPDATING. PR: 226523 Submitted by: Greg V <greg@unrelenting.technology> Reviewed by: mat Approved by: portmgr (mat) Differential Revision: https://reviews.freebsd.org/D18018 Changes: head/UPDATING head/devel/geany/Makefile head/devel/geany/pkg-plist head/devel/geany-plugin-debugger/Makefile head/devel/geany-plugin-devhelp/Makefile head/devel/geany-plugin-geanypy/Makefile head/devel/geany-plugin-markdown/Makefile head/devel/geany-plugin-multiterm/Makefile head/devel/geany-plugin-scope/Makefile head/devel/geany-plugin-vc/Makefile head/devel/geany-plugin-webhelper/Makefile head/devel/geany-plugins/Makefile head/devel/geany-plugins/files/Makefile.common head/devel/geany-plugins/files/bsd.geany-plugins.mk
Added flavors and made the gtk3 the default one. Thanks!