Bug 226523

Summary: devel/geany: switch to GTK3
Product: Ports & Packages Reporter: Val Packett <val>
Component: Individual Port(s)Assignee: Guido Falsi <madpilot>
Status: Closed FIXED    
Severity: Affects Only Me Flags: madpilot: maintainer-feedback+
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://reviews.freebsd.org/D18018
Attachments:
Description Flags
geany-gtk3.patch none

Description Val Packett 2018-03-11 12:51:28 UTC
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.
Comment 1 Guido Falsi freebsd_committer freebsd_triage 2018-03-11 17:57:17 UTC
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.
Comment 2 Guido Falsi freebsd_committer freebsd_triage 2018-03-11 17:59:23 UTC
(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.
Comment 3 Guido Falsi freebsd_committer freebsd_triage 2018-03-13 09:40:20 UTC
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.
Comment 4 Guido Falsi freebsd_committer freebsd_triage 2018-11-15 09:50:15 UTC
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.
Comment 5 Guido Falsi freebsd_committer freebsd_triage 2018-11-17 16:37:57 UTC
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
Comment 6 commit-hook freebsd_committer freebsd_triage 2018-12-09 17:30:09 UTC
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
Comment 7 Guido Falsi freebsd_committer freebsd_triage 2018-12-09 17:32:52 UTC
Added flavors and made the gtk3 the default one.

Thanks!