# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
# as of version 2.99.11 requires C++17 to build
PortGroup compiler_blacklist_versions 1.0
set branch [join [lrange [split ${version} .] 0 1] .]
maintainers {devans @dbevans} openmaintainer
description Typesafe callback framework for C++
long_description libsigc++ implements a typesafe callback system for standard C++. It allows \
you to define signals and to connect those signals to any callback function, \
either global or a member function, regardless of whether it is static or virtual. \
This is the libsigc++-3.0 API, which installs in parallel with libsigc++-2.0. \
The API is not significantly different, but the implementation is far simpler, \
using variadic templates instead of generating C++ code from .m4 filessystem.
homepage https://libsigcplusplus.github.io/libsigcplusplus/
master_sites gnome:sources/${gname}/${branch}/
distname ${gname}-${version}
checksums rmd160 865c0f2dc927fbba354f3848a86c7fcf9bad69cf \
sha256 6ce40b3d719b6792f145d94511131dd48edaa9c0cd4ec02b0e959d5d1c406621 \
depends_build port:pkgconfig \
# requires a compiler that supports C++17
# support for C++17 std::invoke_result in Apple clang requires Xcode 10 or better
compiler.blacklist-append {clang < 1000} macports-clang-3.* {macports-clang-[4-6].0}
compiler.fallback-append macports-clang-8.0 macports-clang-7.0
# powerpc platforms want to use macports-gcc-6
# C++17 support requires macports-gcc-7
compiler.blacklist-append macports-gcc-6
compiler.fallback-append macports-gcc-7
configure.perl /usr/bin/perl
configure.args --enable-static \
# Teach glibtool about -stdlib=libc++