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

name                dmapd
version             0.0.85
license             GPL-2+
description         A server that provides DAAP and DPAP shares.
long_description    The dmapd project provides a GObject-based, Open Source implementation of DMAP sharing.
maintainers         {devans @dbevans} openmaintainer
categories          multimedia

homepage            https://www.flyn.org/projects/${name}/
master_sites        ${homepage}

checksums           rmd160  faf137dabc2b6ae671ba4ebef232eb34f685dfe3 \
                    sha256  69800cb96c91f6362432ec50df8f810e0ca1c499c6468e84c30731ea3b67dd78 \
                    size    443133

depends_build       port:pkgconfig

depends_lib         path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:libdmapsharing \
                    port:libexif \
                    port:GraphicsMagick \
                    port:vips \
                    port:gstreamer1 \
                    port:db48

depends_run         port:gstreamer1-gst-plugins-base \
                    port:gstreamer1-gst-plugins-good

# uses C99 `for` loop initializer
# breaks build on 10.6 and earlier
# dmapd.c:435: error: ‘for’ loop initial declaration used outside C99 mode
compiler.c_standard 1999
configure.cflags-append -std=c99
# soup-message.h:18: error: redefinition of typedef ‘SoupMessage’
compiler.blacklist-append \
                    *gcc-4.0 *gcc-4.2

# Fails to build with tests:
# dmapd-stress-test.c: error: invalid use of incomplete typedef 'SoupMessage' {aka 'struct _SoupMessage'}
configure.args      --disable-check \
                    --disable-silent-rules \
                    --disable-tests

livecheck.type      regex
livecheck.url       https://www.flyn.org/projects/${name}/
livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
