# -*- 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

PortSystem          1.0
PortGroup           github 1.0
PortGroup           makefile 1.0

name                legacy-support
categories          devel

maintainers         {mascguy @mascguy} \
                    {fwright.net:fw @fhgwright} \
                    openmaintainer
license             MIT BSD APSL-2

description         Installs wrapper headers and a runtime library to add \
                    missing functionality to legacy OSX versions.
long_description    {*}${description}

# Introduced to roll back to 1.0.13 release due to issues with 1.1.0.
# Must now stay.
epoch               1

# Primary release version
set release_ver     1.5.2

# Binary compatibility version
set compat_ver      1.0.0

subport ${name} {
    conflicts           ${name}-devel
    github.setup        macports macports-legacy-support ${release_ver} v
    github.tarball_from archive
    revision            0
    checksums           rmd160  58a9837f78a72cb2204d674cc41e028b10bff71b \
                        sha256  16da882281d26d8ddfb434acfde0828fc3e4119aab332445f65688ae879e9962 \
                        size    228427
}

subport ${name}-devel {
    conflicts           ${name}
    github.setup        macports macports-legacy-support \
                        f89c155cbc2ca8714e4ada66c11b222353e8d87a
    github.tarball_from archive
    version             20250924
    revision            0
    livecheck.type      none
    checksums           rmd160  3d6ca0af242f859e201c387bde0b0e9aa6ce7883 \
                        sha256  37c8483ac0594a009e1509f4ddd2eff42c4707cedba58a8ec34bcf779834e144 \
                        size    228476
    set v_split         [split ${release_ver} .]
    set release_ver     [lindex ${v_split} 0].[lindex ${v_split} 1].99
}

# Set up proper arch list for build and test
if {![variant_isset universal]} {
    set archs       ${configure.build_arch}
} else {
    set archs       ${configure.universal_archs}
}

# Let the Makefile handle the archs setup
configure.cc_archflags
configure.cxx_archflags
configure.ld_archflags
configure.universal_cflags
configure.universal_cxxflags
configure.universal_ldflags

# Pass the arch list to the Makefile
build.env-append        ARCHS=${archs}
destroot.env-append     ARCHS=${archs}
test.env-append         ARCHS=${archs}

# Set test target for optional universal handling
# For some reason, setting test.target doesn't work.
test.pre_args       test_unv

# Enable parallel tests
default test.jobs   ${build.jobs}
test.post_args      -j${test.jobs}

# The makefile PG brings in the unnecessary compiler_wrapper PG.
# Disable it to reduce logfile clutter and obfuscation.
#
compwrap.compilers_to_wrap

# This port doesn't use C++ at all, except for two very limited tests
# that are manual-only.  Disabling cxx_stdlib avoids unnessary compiler
# constraints on some platforms.
#
configure.cxx_stdlib

build.env-append    SOCURVERSION=${release_ver} \
                    SOCOMPATVERSION=${compat_ver}

# Include Tiger-specific additions
platform darwin 8 {
    build.target-append     tiger-bins
    destroot.target-append  install-tiger

    # Avoid troublesome Xcode 2.5 linker on 10.4
    configure.compiler      apple-gcc-4.2
}

# Include Leopard-specific additions
platform darwin 9 {
    build.target-append     leopard-bins
    destroot.target-append  install-leopard
}

test.env            {*}${build.env}
test.run            yes
test.target         test

if {![file exists ${prefix}/libexec/mpstats]} {
    notes "
    To help make sure your system continues to be well-represented by\
    MacPorts, especially if your system is not one of the latest macOS\
    releases, please consider installing mpstats.  It will periodically\
    send an anonymous synopsis of your OS settings and installed ports.\
    The information provided by this is useful to help determine how\
    resources are allocated.

    You can install mpstats like this:    sudo port install mpstats
    "
}
