# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=portfile:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           github 1.0

github.setup        cpisciotta xcbeautify 3.2.1
github.tarball_from archive
categories          devel
license             MIT
maintainers         {landonf @landonf} openmaintainer

description         A beautifier tool for xcodebuild, SPM, and bazel output.
long_description    {*}${description}

checksums           rmd160  b2977a4c1a09d52610c915339353744f8262967e \
                    sha256  7575dcb90e4650f8d8f66b92ca2f3eaa5ad9feddda7bf3c63aeb0edca199aa80 \
                    size    4286876

# Package.swift requires macOS 14, but building it needs Xcode 16.3 for
# swift-tools-version 6.1, which in turn requires macOS 15.2 or later
platforms           {darwin >= 24}

set xcodeversion_min_required 16.3
pre-fetch {
    if {[vercmp ${xcodeversion} ${xcodeversion_min_required}] < 0} {
        ui_error "${name} @${version} requires Xcode ${xcodeversion_min_required} or later but you have Xcode ${xcodeversion}."
        ui_error "See https://guide.macports.org/chunked/installing.xcode.html for download links."
        return -code error "incompatible Xcode version"
    }
}

use_configure       no
use_xcode           yes

build.cmd           swift
build.target        build
build.args          --configuration release \
                    --arch ${configure.build_arch} \
                    --disable-sandbox

destroot {
    xinstall -m 0755 ${worksrcpath}/.build/${configure.build_arch}-apple-macosx/release/${name} \
        ${destroot}${prefix}/bin/${name}
}
