# -*- 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           clang_dependency 1.0
PortGroup           github 1.0
PortGroup           makefile 1.0
PortGroup           muniversal 1.1

name                legacy-support
categories          devel
platforms           darwin

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

description         Installs wrapper headers to add missing functionality to legacy OSX versions.
long_description    {*}${description}

# 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.3.0

# Binary compatibility version
set compat_ver      1.0.0

subport ${name} {
    conflicts           ${name}-devel
    github.setup        macports macports-legacy-support ${release_ver} v
    revision            0
    checksums           rmd160  7d17aa039df1dd3e6d769a570bae703cea111e74 \
                        sha256  cc0f2c5d6d2dfe1b8cfa15b1f590856552df22dc9cfa1b2b796557ed2f54e3e1 \
                        size    95241
}

subport ${name}-devel {
    conflicts           ${name}
    github.setup        macports macports-legacy-support b9309fc8069d1a4ecb0c35397026036d44c38e61
    version             20240723
    revision            0
    livecheck.type      none
    checksums           rmd160  7d17aa039df1dd3e6d769a570bae703cea111e74 \
                        sha256  cc0f2c5d6d2dfe1b8cfa15b1f590856552df22dc9cfa1b2b796557ed2f54e3e1 \
                        size    95241
    set v_split         [split ${release_ver} .]
    set release_ver     [lindex ${v_split} 0].[lindex ${v_split} 1].99
}

# Until this can be fixed disable parallel builds...
# https://build.macports.org/builders/ports-10.10_x86_64-builder/builds/141962/steps/install-port/logs/stdio
use_parallel_build  no

# This port doesn't use C++ at all, except for a couple of tests which may
# fail to build with a non-OS-default stdlib setting.  Since the cxx_stdlib
# selection is unimportant for the tests (which are actually only testing
# the C-only interface to the library), we disable the cxx_stlib setting.
# This also avoids depending on a MacPorts compiler in some OS versions.

configure.cxx_stdlib

pre-patch {
    # until upstream can be fixed, do not include atexit symbols
    # under certain circumstances, infinite recursive loops can form
    delete ${worksrcpath}/src/macports_legacy_atexit.c
}

build.env-append    LD=ld \
                    "LIPO=/usr/bin/lipo" \
                    PLATFORM=${os.major} \
                    SOCURVERSION=${release_ver} \
                    SOCOMPATVERSION=${compat_ver}

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

foreach arch ${muniversal.architectures} {
    build.env.${arch}-append    FORCE_ARCH=${arch}
}

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
    "
}
