[MacPorts] #71854: CocoaDialog @2.3.7: bundled Growl framework is Intel only, causing build failure on PowerPC and ARM systems (was: CocoaDialog fails to link on 10.6.8)

MacPorts noreply at macports.org
Fri Jan 17 03:57:04 UTC 2025


#71854: CocoaDialog @2.3.7: bundled Growl framework is Intel only, causing build
failure on PowerPC and ARM systems
---------------------------+---------------------------
  Reporter:  barracuda156  |      Owner:  ryandesign
      Type:  defect        |     Status:  accepted
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.10.5
Resolution:                |   Keywords:  powerpc arm64
      Port:  CocoaDialog   |
---------------------------+---------------------------
Changes (by ryandesign):

 * status:  assigned => accepted
 * keywords:  snowleopard, powerpc, rosetta => powerpc arm64
 * port:   => CocoaDialog


Comment:

 > Why does it even try using Growl?

 The answer from the perspective of the developers of CocoaDialog is that
 Growl offered features they wanted to use. The answer from my perspective
 as port maintainer is because that is what the developers designed it to
 do and it wasn't causing me any problems so it didn't occur to me to try
 to change it. I didn't test the port on PowerPC or ARM so I didn't notice
 the problem you saw.

 The longer answer: The purpose of CocoaDialog is to allow command line
 script writers to integrate in a rudimentary way with the macOS GUI,
 including by showing dialog boxes and notifications. It was designed
 before OS X 10.8 introduced the Notification Center so it used its own way
 of showing notifications. Later,
 [https://github.com/cocoadialog/cocoadialog/issues/9 Growl support was
 added] in order to avoid reinventing the wheel and the old built-in
 notifications were deprecated and were to be removed in version 3. The
 CocoaDialog source ships with an Intel-only binary of the Growl framework
 which gets included in the app; this of course won't work on non-Intel
 systems.

 The source also includes an Intel-only binary of the Sparkle framework.
 [https://github.com/cocoadialog/cocoadialog/issues/81 Upstream already
 removed the use of Sparkle] and the port already includes a patch to
 remove it as well. This was not done because it was Intel-only but because
 we don't want third-party auto-updaters in MacPorts.

 Possibly, a similar patch could be written to remove the use of the Growl
 framework on non-Intel architectures. Or the port could be marked Intel-
 only. There is supposed to be fallback code that uses the old built-in
 notifications if the Growl service isn't installed and running.
 [https://github.com/cocoadialog/cocoadialog/issues/92 Upstream already
 removed the use of Growl], in fact removing the entire notification
 feature, suggesting users use [https://github.com/julienXX/terminal-
 notifier terminal-notifier] instead. terminal-notifier points out that
 [https://github.com/vjeantet/alerter alerter] also exists.

 CocoaDialog is no longer being developed. The version we have in MacPorts
 (2.3.7, which was originally called 3.0.0beta7) was released in May 2012.
 Probably nobody should be using this old software anymore.

-- 
Ticket URL: <https://trac.macports.org/ticket/71854#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list