# -*- 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
# $Id: Portfile 92089 2012-04-18 00:46:30Z rmstonecipher@macports.org $

PortSystem          1.0

name                mpd
version             0.16.8
categories          audio
maintainers         milosh rmstonecipher openmaintainer
description         Music Player Daemon
long_description    Music Player Daemon (MPD) allows remote access for playing music \
    (MP3, Ogg Vorbis, FLAC, AAC, Mod, and wave files) and managing \
    playlists. MPD is designed for integrating a computer into a stereo \
    system that provides control for music playback over a local network. \
    It also makes a great desktop music player, especially if you are a \
    console junkie, like frontend options, or restart X often.
homepage            http://www.musicpd.org/
platforms           darwin
master_sites        sourceforge:musicpd
use_bzip2           yes
checksums           md5     b412a9d0b3457bea1bb87904a8f80c04 \
                    sha1    977c80db8dc64e65c2bc523f69a9a7a71adca2b1 \
                    rmd160  f64e96a1ea2bb09f759a40b02c1a31f32603999e
depends_build       port:pkgconfig
depends_lib \
    port:audiofile \
    port:curl \
    port:faad2 \
    port:flac \
    path:lib/pkgconfig/glib-2.0.pc:glib2 \
    port:libcue \
    port:libiconv \
    port:libmad \
    port:libid3tag \
    port:libmpcdec \
    port:libogg \
    port:libvorbis \
    port:zlib \
    port:libao

configure.args \
    --mandir=${prefix}/share/man \
    --disable-ffmpeg \
    --enable-ao \
    --enable-cue \
    --enable-lastfm
configure.cflags-append -I${prefix}/include
variant ffmpeg description {Support for myriad formats via ffmpeg} {
    depends_lib-append	path:bin/ffmpeg:ffmpeg
    configure.args-delete --disable-ffmpeg
}
variant mod description {Support for several formats of tracker/sequencer files via libmikmod} {
    depends_lib-append    port:libmikmod
    configure.args-append --enable-mod
}
variant modplug description {Support for several formats of tracker/sequencer files via libmodplug} {
    depends_lib-append    port:libmodplug
    configure.args-append --enable-modplug
}
platform macosx {
    configure.args-delete --enable-ao
    depends_lib-delete    port:libao
}
platform darwin 10 {
    patchfiles-append patch-src-output-osx_plugin.c 
}

if {"darwin" == ${os.platform} && ${os.major} > 8} {
    set mpduser       _mpd
} else {
    set mpduser       mpd
}
# Create new user for mpd:
add_users ${mpduser} group=${mpduser} realname=Music\ Player\ Daemon

startupitem.create  yes
startupitem.start   "${prefix}/bin/mpd --no-daemon ${prefix}/etc/mpd.conf"
startupitem.stop    "${prefix}/bin/mpd --kill"
destroot.keepdirs   ${destroot}${prefix}/var/lib/mpd/music \
    ${destroot}${prefix}/var/lib/mpd/playlists \
    ${destroot}${prefix}/var/log/mpd
post-destroot {
    # ensure ${prefix}/var/[lib/mpd/[music,playlists],log/mpd] exist 
    xinstall -m 755 -o ${mpduser} -g ${mpduser} -d \
    ${destroot}${prefix}/var/lib/mpd/music \
    ${destroot}${prefix}/var/lib/mpd/playlists \
    ${destroot}${prefix}/var/log/mpd

    xinstall -m 644 ${filespath}/mpd.conf ${destroot}${prefix}/etc/mpd.conf.default
    reinplace "s|%%PREFIX%%|${prefix}|g" \
        ${destroot}${prefix}/etc/mpd.conf.default
    reinplace "s|%%MPDUSER%%|${mpduser}|g" \
        ${destroot}${prefix}/etc/mpd.conf.default
}
post-activate {
    if {![file exists ${prefix}/etc/mpd.conf]} {
        copy ${prefix}/etc/mpd.conf.default ${prefix}/etc/mpd.conf
    }
}

notes "A basic configuration file has been created for you.
To add music to mpd's database, create symbolic links in
${prefix}/var/lib/mpd/music using 'ln -s'.  For advanced
configuration, run \"man mpd.conf\" or refer to
${prefix}/share/doc/mpd/mpdconf.example for an example configuration file.

You may get \"Problems shmget'ing\" message when launching mpd.
In this case, you can increase the values of kern.sysv.shmmax and
kern.sysv.shmall in /etc/rc."


livecheck.url   http://sourceforge.net/projects/musicpd/files/${name}/
livecheck.regex "${name}\/(\\d+(?:\\.\\d+)*)"
