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

PortSystem          1.0
PortGroup           compiler_blacklist_versions 1.0

name                flac
version             1.3.1
revision            2
categories          audio
platforms           darwin
license             GPL-2+ BSD
maintainers         nomaintainer

description         Free Lossless Audio Codec
long_description    FLAC stands for Free Lossless Audio Codec. Grossly \
                    oversimplified, FLAC is similar to MP3, but \
                    lossless, meaning that audio is compressed in FLAC \
                    without throwing away any information. This is \
                    similar to how Zip works, except with FLAC you \
                    will get much better compression because it is \
                    designed specifically for audio, and you can play \
                    back compressed FLAC files in your favorite player \
                    (or your car or home stereo) just like you would \
                    an MP3 file.
homepage            https://xiph.org/flac/

depends_lib         port:libiconv port:libogg

master_sites        http://downloads.xiph.org/releases/flac/
use_xz              yes
checksums           rmd160  50d93b3663c1983af2b8cd0cea9f7069d5b8ab46 \
                    sha256  4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c

patchfiles          patch-nasm.h.diff \
                    patch-build_lib.mk.diff \
                    autoconf-no-xmms.patch \
                    autoconf-cflags.patch

# Don't link with "-flat_namespace -undefined suppress" on Yosemite and later.
patchfiles-append   yosemite-libtool.patch

use_autoreconf      yes
autoreconf.args     -fvi

# <rdar://problem/15203338>
configure.cflags-append -std=gnu89

# https://trac.macports.org/ticket/46038
# 3.1 through 3.3 have cpuid.h but lack __cpuid_count()
compiler.blacklist  macports-clang-3.1 macports-clang-3.2 macports-clang-3.3 {clang < 503}

configure.args      --disable-silent-rules \
                    --disable-xmms-plugin

platform darwin i386 {
    configure.args-append   --disable-asm-optimizations
}

post-configure {
    if {[variant_isset universal]} {
        system -W ${worksrcpath} "ed - ${worksrcpath}/config.h < ${filespath}/config.h.ed && touch stamp-h1"
    }
}

build.args          OBJ_FORMAT=macho

test.run            yes
test.target         check

variant xmms_plugin description "Build xmms plugin" {
    depends_lib-append      port:xmms
    configure.args-delete   --disable-xmms-plugin
}

livecheck.url       [lindex ${master_sites} 0]
livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)"