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

name                mediatomb
version             0.12.1
revision            9
categories          net multimedia
platforms           darwin
maintainers         gmail.com:yattenator
description         Open source (GPL) UPnP MediaServer
long_description \
    MediaTomb is an open source (GPL) UPnP MediaServer \
    with a nice web user interface, it allows you to stream \
    your digital media through your home network and \
    listen to/watch it on a variety of UPnP compatible devices.

homepage            http://mediatomb.cc/
master_sites        sourceforge

checksums           md5     e927dd5dc52d3cfcebd8ca1af6f0d3c2 \
                    sha1    86e880584cc9c8aaf3926d56048510d1d06e76b4 \
                    rmd160  ecb61ca2483f76421beef1036ac442b8f805fa96

depends_lib         port:libiconv port:zlib port:spidermonkey \
                    path:lib/libssl.dylib:openssl \
                    port:file port:curl port:libexif port:expat

# /opt/local/include/server.h:12:3: error: #error this file is for mongo server programs not client lib
conflicts_build     mongodb

use_autoreconf      yes

patchfiles          patch-configure.ac.diff \
                    patch-src-metadata-ffmpeg_handler.cc.diff

# Buggy C++ code, so don't use clang
compiler.blacklist  *clang*

platform darwin {
    if {${os.major} >= 13} {
        depends_lib
        depends_run
        pre-fetch {
            ui_error "$name does not build on Mavericks or later."
            error "unsupported platform"
        }
    }
}

configure.args      \
    --enable-libjs --with-js-h=${prefix}/include/js --enable-libexif \
    --disable-sqlite3 --disable-mysql \
    --disable-taglib --disable-id3lib \
    --disable-ffmpeg --disable-libextractor \
    --enable-sighup \
    --with-search=${prefix} \
    --with-curl-cfg=${prefix}/bin/curl-config

variant sqlite3 description {Use SQLite 3 database} {
    depends_lib-append      port:sqlite3
    configure.args-append   --enable-sqlite3
    configure.args-delete   --disable-sqlite3
}

default_variants +sqlite3

variant mysql4 conflicts mysql5 description {Use MySQL 4 database} {
    depends_lib-append      port:mysql4
    configure.args-append   --enable-mysql \
        --with-mysql-cfg=${prefix}/bin/mysql_config
    configure.args-delete   --disable-mysql
}

variant mysql5 conflicts mysql4 description {Use MySQL 5 database} {
    depends_lib-append      path:bin/mysql_config5:mysql5
    configure.args-append   --enable-mysql \
        --with-mysql-cfg=${prefix}/bin/mysql_config5
    configure.args-delete   --disable-mysql
}

variant taglib conflicts id3lib description {Use TagLib for tag access} {
    depends_lib-append      port:taglib
    configure.args-append   --enable-taglib \
        --with-taglib-cfg=${prefix}/bin/taglib-config
    configure.args-delete   --disable-taglib
}

variant id3lib conflicts taglib description {Use id3lib for tag access} {
    depends_lib-append      port:id3lib
    configure.args-append   --enable-id3lib
    configure.args-delete   --disable-id3lib
}

if {![variant_isset id3lib]} {
    default_variants +taglib
}

variant ffmpeg conflicts libextractor description {Use ffmpeg for gathering metadata} {
    depends_lib-append      path:lib/libavcodec.dylib:ffmpeg
    configure.args-append   --enable-ffmpeg
    configure.args-delete   --disable-ffmpeg
}

variant libextractor conflicts ffmpeg description {Use libextractor for gathering metadata} {
    depends_lib-append      port:libextractor
    configure.args-append   --enable-libextractor
    configure.args-delete   --disable-libextractor
}

if {![variant_isset libextractor]} {
    default_variants +ffmpeg
}

notes "******************************************************
* To use UTF-8 filename and metadata on Mac OS X, add:
*   <filesystem-charset>UTF-8-MAC</filesystem-charset>
*   <metadata-charset>UTF-8-MAC</metadata-charset>
* to <import> section of ~/.mediatomb/config.xml.
******************************************************
* In order to use MySQL for MediaTomb database:
* 1. Create DB on mysqld and grant all privilege to DB user.
* 2. Run \"mediatomb\" once on your shell.
* 3. Edit auto-generated ~/.mediatomb/config.xml.
*    In <server> section, edit <mysql> config like this:
*    <mysql enabled=\"yes\">
*      <host>localhost</host>
*      <username>dbusername</username>
*      <password>dbpassword</password>
*      <database>dbname</database>
*    </mysql>
* If sqlite3 is enabled,
*    <sqlite3 enabled=\"no\">
* is also needed to disable it.
******************************************************"

livecheck.regex MediaTomb\\/(\\d+(\\.\\d+)+)\\/
livecheck.url   "http://sourceforge.net/api/file/index/project-id/129766/mtime/desc/rss?path=%2FMediaTomb"