Opened 7 years ago

Closed 6 years ago

#41859 closed defect (fixed)

exo @0.3.107: build fails when libnotify is active

Reported by: ryandesign (Ryan Schmidt) Owned by: afb@…
Priority: Normal Milestone:
Component: ports Version: 2.1.99
Keywords: haspatch Cc: diekhans (Mark Diekhans), dbevans (David B. Evans)
Port: exo

Description

exo 0.3.107 fails to build for me on Mavericks when libnotify is active:

main.c:246:71: error: too many arguments to function call, expected 3, have 4
  notification = notify_notification_new (summary, message, opt_icon, NULL);
                 ~~~~~~~~~~~~~~~~~~~~~~~                              ^~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/include/stddef.h:74:16: note: expanded from macro 'NULL'
#  define NULL ((void*)0)
               ^~~~~~~~~~
/opt/local/include/libnotify/notification.h:114:1: note: 'notify_notification_new' declared here
NotifyNotification *notify_notification_new                  (const char         *summary,
^
1 error generated.

notification.h is provided by libnotify:

$ port provides /opt/local/include/libnotify/notification.h
/opt/local/include/libnotify/notification.h is provided by: libnotify
$ port -v installed libnotify
The following ports are currently installed:
  libnotify @0.7.6_0+universal (active) platform='darwin 13' archs='i386 x86_64'

libnofity is not in exo's dependencies:

$ port rdeps exo | grep libnotify

exo installs fine if I deactivate libnotify first. exo should either indicate this build conflict with the conflicts_build portgroup or should be fixed to install correctly even if libnotify is installed.

Attachments (2)

main.log (262.2 KB) - added by ryandesign (Ryan Schmidt) 7 years ago.
patch-exo.diff (730 bytes) - added by dbevans (David B. Evans) 6 years ago.
Proposed patch for review

Download all attachments as: .zip

Change History (7)

Changed 7 years ago by ryandesign (Ryan Schmidt)

Attachment: main.log added

comment:1 Changed 7 years ago by diekhans (Mark Diekhans)

Cc: markd@… added

Cc Me!

comment:2 Changed 6 years ago by dbevans (David B. Evans)

This is not really a conflict but opportunistic configuration. exo will configure to provide notifications by default if libnotify is available. Unfortunately it uses the old pre 0.7 API causing the build failure.

Solution is to either update the port to use the current libnotify API or disable notifications. Attached is a patch that does the latter.

Changed 6 years ago by dbevans (David B. Evans)

Attachment: patch-exo.diff added

Proposed patch for review

comment:3 Changed 6 years ago by ryandesign (Ryan Schmidt)

Keywords: haspatch added

comment:4 Changed 6 years ago by dbevans (David B. Evans)

Cc: devans@… added

Cc Me!

comment:5 Changed 6 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: newclosed

Patch committed, maintainer timeout, to fix build in r118145 but port really should be updated to a more current version, see #41860.

Note: See TracTickets for help on using tickets.