Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#48445 closed enhancement (fixed)

hexchat +quartz: find gtk-mac-integration-gtk2 for native menus

Reported by: elelay (Eric Le Lay) Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version:
Keywords: quartz Cc:
Port: hexchat

Description

The pkgconfig has been renamed from gtk-mac-integration to gtk-mac-integration-gtk2 in the gtk-osx-application port, resulting in a package not found. Here is a patch to find it again, and to add the dependency on the port.

See This thread in the ML

Attachments (1)

native_menus.diff (798 bytes) - added by elelay (Eric Le Lay) 7 years ago.
diff against svn

Download all attachments as: .zip

Change History (6)

Changed 7 years ago by elelay (Eric Le Lay)

Attachment: native_menus.diff added

diff against svn

comment:1 Changed 7 years ago by macports@…

Works, although it does result in an odd extra Apple menu with nothing in it:

https://metaspasm.org/images/misc/hexchat_doubleapple.png

I tried compiling against gtk-osx-application-gtk3 and it compiled but then crashed on launch with

objc[54903]: Class GdkQuartzView is implemented in both /opt/local/lib/libgdk-3.0.dylib and /opt/local/lib/libgdk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[54903]: Class GtkQuartzStatusIcon is implemented in both /opt/local/lib/libgtk-3.0.dylib and /opt/local/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[54903]: Class GtkClipboardOwner is implemented in both /opt/local/lib/libgtk-3.0.dylib and /opt/local/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[54903]: Class GtkDragSourceOwner is implemented in both /opt/local/lib/libgtk-3.0.dylib and /opt/local/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.
objc[54903]: Class ResultReceiver is implemented in both /opt/local/lib/libgtk-3.0.dylib and /opt/local/lib/libgtk-quartz-2.0.0.dylib. One of the two will be used. Which one is undefined.

(hexchat:54903): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

Those libs are provided by gtk2 and gtk3; is there a way to explicitly build against the latter?

comment:2 in reply to:  1 Changed 7 years ago by elelay (Eric Le Lay)

Replying to macports@…:

Works, although it does result in an odd extra Apple menu with nothing in it:

Yes, I've seen it. Not the prettyies thing but does no harm. It is mentioned in an old version of gtk-osx-application.

I tried compiling against gtk-osx-application-gtk3 and it compiled but then crashed on launch with

(snip)

Those libs are provided by gtk2 and gtk3; is there a way to explicitly build against the latter?

Hexchat is a gtk2 application. You can't mix in a gtk3 library. Only will gtk-osx-application-gtk2 work.

comment:3 Changed 7 years ago by raimue (Rainer Müller)

Committed a fix in r139000. I prepared a patch file as it is usually more robust. I also added an explicit call to autoconf to re-generate the configure script after applying the patch.

comment:4 Changed 7 years ago by raimue (Rainer Müller)

Resolution: fixed
Status: newclosed

comment:5 Changed 7 years ago by elelay (Eric Le Lay)

Cool, Thanks

Note: See TracTickets for help on using tickets.