[85515] trunk/dports/devel/libnotify/Portfile

dports at macports.org dports at macports.org
Thu Oct 13 21:46:04 PDT 2011


Revision: 85515
          http://trac.macports.org/changeset/85515
Author:   dports at macports.org
Date:     2011-10-13 21:46:01 -0700 (Thu, 13 Oct 2011)
Log Message:
-----------
libnotify: rename dylib from libnotify to libnotify_gnome to prevent
shadowing /usr/lib/system/libnotify.dylib; re-enable build on Lion
(#30283)

Modified Paths:
--------------
    trunk/dports/devel/libnotify/Portfile

Modified: trunk/dports/devel/libnotify/Portfile
===================================================================
--- trunk/dports/devel/libnotify/Portfile	2011-10-14 04:18:42 UTC (rev 85514)
+++ trunk/dports/devel/libnotify/Portfile	2011-10-14 04:46:01 UTC (rev 85515)
@@ -5,7 +5,7 @@
 
 name                libnotify
 version             0.5.2
-revision            1
+revision            2
 set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          devel gnome
 maintainers         nomaintainer
@@ -29,64 +29,22 @@
     patchfiles-append   patch-libnotify-notification-c.diff
 }
 
-# This port installs ${prefix}/lib/libnotify.dylib which gets
-# picked up at link time instead of /usr/lib/system/libnotify.dylib
-# leading to many build failures across MacPorts when it is installed.
-#
-# Because of this, we block installation in fetch and activate.
-#
-# ***DANGEROUS*** WORKAROUND
-# There is a workaround for this issue which is recomended for *expert* users.
-# Implementing this workaround and being lazy about it can (read: most likely
-# *will*) result in a completely horked system after a software update.
-#
-# If do not follow this advise exactly, and your system becomes non-booting,
-# shame on you for not listening to me.
-#
-# If you do follow this advise exactly, and your system becomes non-booting,
-# shame on you for listening to me.
-#
-# Can I make this any clearer?  If you are inclinded to blame anyone *but*
-# yourself if your system fails to boot, then DON'T DO THIS!
-#
-# You have been warned.
-#
-# It is your responsibility to verify the sanity of what you are about to do!
-#
-# PROCEED DO AT YOUR OWN PERIL
-#
-# UNDO THIS WORKAROUND BEFORE ANY APPLE SOFTWARE UPDATE!
-#
-# To work around this issue (make sure this is really necessary before doing it):
-# sudo cp /usr/lib/system/libnotify.dylib /usr/lib/system/libsystem_notify.dylib
-# sudo install_name_tool -id /usr/lib/system/libsystem_notify.dylib /usr/lib/system/libsystem_notify.dylib
-# for f in /usr/lib/system/*dylib /usr/lib/libSystem.B.dylib ; do sudo install_name_tool -change /usr/lib/system/libnotify.dylib /usr/lib/system/libsystem_notify.dylib ${f} ; done
-# sudo /usr/bin/update_dyld_shared_cache
-# sudo reboot
-# sudo mv /usr/lib/system/libnotify.dylib /usr/lib/system/libnotify.dylib.bak
-#
-# To undo:
-# sudo mv /usr/lib/system/libnotify.dylib.bak /usr/lib/system/libnotify.dylib
-# for f in /usr/lib/system/*dylib /usr/lib/libSystem.B.dylib ; do sudo install_name_tool -change /usr/lib/system/libsystem_notify.dylib /usr/lib/system/libnotify.dylib ${f} ; done
-# sudo install_name_tool -id /usr/lib/system/libnotify.dylib /usr/lib/system/libnotify.dylib
-# sudo /usr/bin/update_dyld_shared_cache
-# sudo reboot
-# sudo rm /usr/lib/system/libsystem_notify.dylib
-#
-platform darwin {
-    if { [file exists /usr/lib/system/libnotify.dylib ] } {
-        pre-fetch {
-            ui_error "This port causes problems on Lion, so it will not be installed."
-            return -code error "libnotify is not supported on Lion."
-        }
-
-        pre-activate {
-            ui_error "This port causes problems on Lion, so it will not be installed."
-            return -code error "libnotify is not supported on Lion."
-        }
+# libnotify normally installs as ${prefix}/lib/libnotify.dylib. On
+# Lion, this gets picked up at link time instead of
+# /usr/lib/system/libnotify.dylib leading to many build failures
+# across MacPorts when it is installed. Therefore, rename the library
+# to libnotify_gnome and update the pkgconfig file accordingly.
+post-patch {
+    foreach x {libnotify/Makefile.am tools/Makefile.am tests/Makefile.am} {
+        reinplace {s/libnotify\.la/libnotify_gnome\.la/g} ${worksrcpath}/${x}
+        reinplace {s/libnotify_la/libnotify_gnome_la/g} ${worksrcpath}/${x}
     }
+
+    reinplace {s/-lnotify/-lnotify_gnome/g} ${worksrcpath}/libnotify.pc.in
 }
 
+use_autoreconf      yes
+
 depends_build       port:pkgconfig
 depends_lib         port:gtk2 port:dbus-glib
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20111013/acf39207/attachment.html>


More information about the macports-changes mailing list