# $Id: Portfile 100676 2012-12-20 02:20:24Z mfeiri@macports.org $

PortSystem              1.0

name                    dyld-headers
version                 210.2.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    fd1c6b6e08d0bb8a4682ffb705f5921d10bdbd64 \
                        rmd160  194df0cfdbf7ed13d2304c2614a905b8581fffe1 \
                        sha256  12865e52cd0ad348a4061040f36d6c7e1203e5dc0c95c8d4108c1193fd3b700e

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} < 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.\]+)"
