Revision: 79720 http://trac.macports.org/changeset/79720 Author: jeremyhu@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." + } } }
participants (1)
-
jeremyhu@macports.org