# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 117043 2014-02-13 21:28:21Z mfeiri@macports.org $

PortSystem              1.0
name                    xnu-headers
version                 2422.1.72
revision                1
categories              devel
platforms               darwin
maintainers             mfeiri openmaintainer
license                 APSL BSD

description             X is Not Unix (XNU) kernel headers
long_description        Header files for the XNU kernel used in \
                        Mac OS X and Darwin

homepage                http://opensource.apple.com/source/xnu/
master_sites            http://opensource.apple.com/tarballs/xnu/
distname                xnu-${version}
checksums               rmd160  6471a5a0ec5bf48ebba2630dbcb034f9f628210c \
                        sha256  fbefe23943d0c4c12b3d7abd3f304224176f269b19ef6ad801314bc69cf773db


depends_build           port:bootstrap_cmds port:developer_cmds port:dtrace
use_configure           no

build                   {}

destroot.target         installhdrs
destroot.args           DSTROOT=${destroot}${prefix}/Developer/SDKs/Darwin${os.major}.sdk

variant universal {
    destroot.env-append RC_ARCHS='${configure.universal_archs}'
}


platform darwin 9 {
    version             1228.15.4
    distname            xnu-${version}
    checksums           rmd160  c5b7ede52d829769db40aa31461f9c3c7485252a \
                        sha256  74a90c98f22eb17b0d971b62e3f515930646deb1914a63931e864bc1aa8a0927
    destroot.env-append RELPATH=${prefix}/bin/relpath
    depends_skip_archcheck-append bootstrap_cmds

    post-extract {
        reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/makedefs/MakeInc.cmd
        reinplace "s|\$(shell tconf --product)|MacOSX|g" ${worksrcpath}/bsd/sys/Makefile
    }
}

platform darwin 10 {
    version             1504.15.3
    distname            xnu-${version}
    checksums           rmd160  5e1e06b46047bf79babe75a05da2e1d4899418b6 \
                        sha256  1e1fa65e9acf2e0c22cdc1a882d22a3b3eb2d89c273a907aa589da52d202341f
    destroot.env-append RELPATH=${prefix}/bin/relpath          
    depends_skip_archcheck-append bootstrap_cmds

    post-extract {
        reinplace "s|/usr/local|${prefix}|g" ${worksrcpath}/makedefs/MakeInc.cmd
        reinplace "s|\$(shell tconf --product)|MacOSX|g" ${worksrcpath}/bsd/sys/Makefile
    }
}

platform darwin 11 {
    version             1699.26.8
    distname            xnu-${version}
    checksums           rmd160  4e20cb7173cc3df369e631498c582177eb834896 \
                        sha256  76f0e6e703218b3b1620b29b7fabb5eb177c990af20711a90085a5a6afc54022
    destroot.env-append RELPATH=${prefix}/bin/relpath          
    depends_skip_archcheck-append bootstrap_cmds

    post-extract {
        reinplace "s|\$(\$\{SDKROOT\}/usr/local/libexec/availability.pl --macosx)|10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8|g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
        reinplace "s|\$(\$\{SDKROOT\}/usr/local/libexec/availability.pl --ios)|2.0 2.1 2.2 3.0 3.1 3.2 4.0 4.1 4.2 4.3 5.0 5.1|g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
        reinplace "s|exit 1||g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
    }
}

platform darwin 12 {
    version             2050.48.11
    distname            xnu-${version}
    checksums           rmd160  45e7adf0310d3089a9e5dad4caface8e3befb1a6 \
                        sha256  454203188d19a368f850f335a6b4c8fbfc383e929116b2b06e63d8365ccd207e

    post-extract {
        reinplace "s|\$(\$\{SDKROOT\}/usr/local/libexec/availability.pl --macosx)|10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8|g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
        reinplace "s|\$(\$\{SDKROOT\}/usr/local/libexec/availability.pl --ios)|2.0 2.1 2.2 3.0 3.1 3.2 4.0 4.1 4.2 4.3 5.0 5.1|g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
        reinplace "s|exit 1||g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
    }
}


platform darwin 13 {

    # disable codesigning to avoid CSSMERR_CSP_INVALID_CONTEXT_HANDLE errors
    destroot.env-append HOST_CODESIGN=true

    post-extract {
        # based on http://www.opensource.apple.com/source/AvailabilityVersions/AvailabilityVersions-6/availability.pl
        reinplace "s|\$(\$\{SDKROOT\}/usr/local/libexec/availability.pl --macosx)|10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9|g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
        reinplace "s|\$(\$\{SDKROOT\}/usr/local/libexec/availability.pl --ios)|2.0 2.1 2.2 3.0 3.1 3.2 4.0 4.1 4.2 4.3 5.0 5.1 6.0 6.1 7.0|g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
        reinplace "s|exit 1||g" ${worksrcpath}/bsd/sys/make_symbol_aliasing.sh
    }
}


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