New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Changeset 79720


Ignore:
Timestamp:
06/23/11 16:38:27 (4 years ago)
Author:
jeremyhu@…
Message:

libnotify: Discuss a workaround for the libnotify issue... it's not something for end users, but it will help out devs for now...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/devel/libnotify/Portfile

    r79668 r79720  
    2929} 
    3030 
    31 platform darwin 11 { 
    32     pre-fetch { 
    33         # This port installs ${prefix}/lib/libnotify.dylib which gets 
    34         # picked up at link time instead of /usr/lib/system/libnotify.dylib 
    35         # leading to many build failures across MacPorts when it is installed. 
    36         # 
    37         # For now, let's block this port on Lion while we investigate our options. 
    38         ui_error "This port causes problems on Lion, so it will not be installed." 
    39         return -code error "libnotify is not supported on Lion." 
    40     } 
     31# This port installs ${prefix}/lib/libnotify.dylib which gets 
     32# picked up at link time instead of /usr/lib/system/libnotify.dylib 
     33# leading to many build failures across MacPorts when it is installed. 
     34# 
     35# Because of this, we block installation in fetch and activate. 
     36# 
     37# ***DANGEROUS*** WORKAROUND 
     38# There is a workaround for this issue which is recomended for *expert* users. 
     39# Implementing this workaround and being lazy about it can (read: most likely 
     40# *will*) result in a completely horked system after a software update. 
     41# 
     42# If do not follow this advise exactly, and your system becomes non-booting, 
     43# shame on you for not listening to me. 
     44# 
     45# If you do follow this advise exactly, and your system becomes non-booting, 
     46# shame on you for listening to me. 
     47# 
     48# Can I make this any clearer?  If you are inclinded to blame anyone *but* 
     49# yourself if your system fails to boot, then DON'T DO THIS! 
     50# 
     51# You have been warned. 
     52# 
     53# It is your responsibility to verify the sanity of what you are about to do! 
     54# 
     55# PROCEED DO AT YOUR OWN PERIL 
     56# 
     57# UNDO THIS WORKAROUND BEFORE ANY APPLE SOFTWARE UPDATE! 
     58# 
     59# To work around this issue (make sure this is really necessary before doing it): 
     60# sudo cp /usr/lib/system/libnotify.dylib /usr/lib/system/libsystem_notify.dylib 
     61# sudo install_name_tool -id /usr/lib/system/libsystem_notify.dylib /usr/lib/system/libsystem_notify.dylib 
     62# 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 
     63# sudo /usr/bin/update_dyld_shared_cache 
     64# sudo reboot 
     65# sudo mv /usr/lib/system/libnotify.dylib /usr/lib/system/libnotify.dylib.bak 
     66# 
     67# To undo: 
     68# sudo mv /usr/lib/system/libnotify.dylib.bak /usr/lib/system/libnotify.dylib 
     69# 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 
     70# sudo /usr/bin/update_dyld_shared_cache 
     71# sudo reboot 
     72# sudo rm /usr/lib/system/libsystem_notify.dylib 
     73# 
     74platform darwin { 
     75    if { [file exists /usr/lib/system/libnotify.dylib ] } { 
     76        pre-fetch { 
     77            ui_error "This port causes problems on Lion, so it will not be installed." 
     78            return -code error "libnotify is not supported on Lion." 
     79        } 
    4180 
    42     pre-activate { 
    43         # This port installs ${prefix}/lib/libnotify.dylib which gets 
    44         # picked up at link time instead of /usr/lib/system/libnotify.dylib 
    45         # leading to many build failures across MacPorts when it is installed. 
    46         # 
    47         # For now, let's block this port on Lion while we investigate our options. 
    48         ui_error "This port causes problems on Lion, so it will not be installed." 
    49         return -code error "libnotify is not supported on Lion." 
     81        pre-activate { 
     82            ui_error "This port causes problems on Lion, so it will not be installed." 
     83            return -code error "libnotify is not supported on Lion." 
     84        } 
    5085    } 
    5186} 
Note: See TracChangeset for help on using the changeset viewer.