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

jeremyhu at macports.org jeremyhu at macports.org
Thu Jun 23 16:38:29 PDT 2011


Revision: 79720
          http://trac.macports.org/changeset/79720
Author:   jeremyhu at macports.org
Date:     2011-06-23 16:38:27 -0700 (Thu, 23 Jun 2011)
Log Message:
-----------
libnotify: Discuss a workaround for the libnotify issue... it's not something for end users, but it will help out devs for now...

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

Modified: trunk/dports/devel/libnotify/Portfile
===================================================================
--- trunk/dports/devel/libnotify/Portfile	2011-06-23 22:49:12 UTC (rev 79719)
+++ trunk/dports/devel/libnotify/Portfile	2011-06-23 23:38:27 UTC (rev 79720)
@@ -28,25 +28,60 @@
     patchfiles-append   patch-libnotify-notification-c.diff
 }
 
-platform darwin 11 {
-    pre-fetch {
-        # 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.
-        #
-        # For now, let's block this port on Lion while we investigate our options.
-        ui_error "This port causes problems on Lion, so it will not be installed."
-        return -code error "libnotify is not supported on Lion."
-    }
+# 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 /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 {
-        # 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.
-        #
-        # For now, let's block this port on Lion while we investigate our options.
-        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."
+        }
     }
 }
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110623/6d2676e7/attachment.html>


More information about the macports-changes mailing list