# -*- 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 muniversal 1.0 PortGroup github 1.0 github.setup libffi libffi 3.4.4 v github.tarball_from releases categories devel license MIT maintainers nomaintainer description A portable foreign function interface library long_description The libffi library provides a portable, high level \ programming interface to various calling \ conventions. This allows a programmer to call any \ function specified by a call interface description \ at run-time. homepage https://www.sourceware.org/libffi/ checksums rmd160 77db9b55651fcf6e480c2103234a0f971ee5faeb \ sha256 d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676 \ size 1362394 patchfiles powerpc-g3.patch if {${os.platform} eq "darwin" && ${os.major} < 10 && ![string match *clang* ${configure.compiler}]} { # https://trac.macports.org/ticket/61170 patchfiles-append patch-libffi-intel-leopard-sysv.diff \ patch-libffi-tests-gcc42.diff } # Don't use macports gcc or clang toolchains to build this due to dependency cycles compiler.blacklist-append macports-* if {${os.platform} eq "darwin" && ${os.major} < 11} { # Doesn't actually use C++, and having the stdlib set to libc++ # on 10.6 causes a macports-clang compiler to be chosen. configure.cxx_stdlib } # Fix for Rosetta: https://trac.macports.org/ticket/64485 platform darwin { if {${os.major} == 10 && ${build_arch} eq "ppc"} { configure.args-append --build=powerpc-apple-darwin${os.major} } } # Older versions of cctools have a history of being problematic with complex # asm like libffi has, so opt for the integrated assembler if it's available if {[string match *clang* ${configure.compiler}]} { configure.cflags-append -integrated-as } array set merger_host { ppc64 powerpc-apple-darwin } lappend merger_dont_diff \ ${prefix}/include/ffi.h \ ${prefix}/include/ffitarget.h depends_test-append port:expect port:dejagnu test.run yes test.target check github.livecheck.regex {(\d+(?:\.\d+)+)}