# $Id: Portfile 113153 2013-11-11 01:08:13Z jeremyhu@macports.org $

PortSystem              1.0

name                    dyld-headers
version                 239.3
categories              devel
maintainers             jeremyhu openmaintainer
homepage                http://opensource.apple.com/source/dyld/
master_sites            http://opensource.apple.com/tarballs/dyld/
platforms               darwin
license                 APSL-2
description             Header files for the dynamic linker
long_description        Provides header files and man pages for the dynamic \
                        linking and loading facilities in Mac OS X and Darwin

distname                dyld-${version}
checksums               sha1    f87003f34b4acf822e3c945ec8730035c603b647 \
                        rmd160  67d647a0500869f248ae6a3c02712e52ca581120 \
                        sha256  ceaff156a0d61ceb2f155a5d93651045481b28d4ff8a92208922cf88a53aa413

post-patch {
    reinplace "s|/usr/local|${prefix}|g" \
            ${worksrcpath}/dyld.xcodeproj/project.pbxproj
    reinplace "s|/usr|${prefix}|g" \
            ${worksrcpath}/dyld.xcodeproj/project.pbxproj

    foreach header [glob ${worksrcpath}/include/{,*/}*.h] {
        if {${os.major} < 13} {
            reinplace "s|__MAC_10_9|__MAC_NA|g" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_\\(.\\)_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER|" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER|__attribute__((unavailable))|g" ${header}
        }
        if {${os.major} < 12} {
            reinplace "s|__MAC_10_8|__MAC_NA|g" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_\\(.\\)_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER|" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER|__attribute__((unavailable))|g" ${header}
        }
        if {${os.major} < 11} {
            reinplace "s|__MAC_10_7|__MAC_NA|g" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_\\(.\\)_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER|" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER|__attribute__((unavailable))|g" ${header}
        }
        if {${os.major} < 10} {
            reinplace "s|__MAC_10_6|__MAC_NA|g" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_\\(.\\)_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER|" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER|__attribute__((unavailable))|g" ${header}
        }
        if {${os.major} < 9} {
            reinplace "s|__MAC_10_5|__MAC_NA|g" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_\\(.\\)_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER|" ${header}
            reinplace "s|AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER|__attribute__((unavailable))|g" ${header}

            reinplace "s|Availability.h|AvailabilityMacros.h|g" ${header}
            reinplace "s|__OSX_AVAILABLE_STARTING(__MAC_NA,.*)|__attribute__((unavailable))|g" ${header}
            reinplace "s|__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,.*)|__attribute__((unavailable))|g" ${header}
            reinplace "s|__OSX_AVAILABLE_STARTING(__MAC_10_\\(\[^,\]*\\),.*)|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER|g" ${header}
            reinplace "s|__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_\\(\[^,\]*\\),__MAC_NA,.*)|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER|g" ${header}
            reinplace "s|__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_\\(\[^,\]*\\),__MAC_10_\\(\[^,\]*\\),.*)|AVAILABLE_MAC_OS_X_VERSION_10_\\1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_\\2|g" ${header}
        }
    }
}

supported_archs         noarch
use_configure no
build {}

destroot {
    system "ditto ${worksrcpath}/include ${destroot}${prefix}/include"
    #system "ditto ${worksrcpath}/doc/man ${destroot}${prefix}/share/man"
}

livecheck.type          regex
livecheck.regex         "dyld-(\[\\d.\]+)"
