# -*- 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            mpeg4ip
version         1.5.0.1
revision        3
checksums       rmd160  fee5c21c17a470e6de349e07d233a1eb46b2064a \
                sha256  23535dd818898ec75ffa0df22d9f27189e77361ce8a500d58328073ee247bcb6 \
                size    4826180

categories      audio multimedia
platforms       darwin
maintainers     orthogonalspace.ca:reid
homepage        https://web.archive.org/web/20140923132542/http://sourceforge.net/projects/mpeg4ip/
description     Mpeg4 library and tools from mpeg4ip

long_description \
    The MPEG4IP project provides a standards-based system for encoding, \
    streaming, and playing encoded audio, video and text.

master_sites    https://web.archive.org/web/20130126163643if_/http://voxel.dl.sourceforge.net/project/mpeg4ip/mpeg4ip/${version}/

depends_build   port:libtool \
                port:automake \
                port:autoconf

depends_lib     port:libsdl

depends_run     port:mp4v2

patchfiles      patch-bootstrap.diff \
		patch-common-video-iso-mpeg4-include-globals_hpp.diff \
		patch-common-video-iso-mpeg4-include-vlc_hpp.diff \
		patch-common-video-iso-mpeg4-src-sys_decoder_vopsedec_cpp.diff \
		patch-common-video-iso-mpeg4-src-sys_tps_bfshape_cpp.diff \
		patch-common-video-iso-mpeg4-src-sys_tps_enhcbuf_cpp.diff \
		patch-common-video-iso-mpeg4-src-tools_entropy_bitstrm_cpp.diff \
		patch-common-video-iso-mpeg4-src-type_basic_cpp.diff \
		patch-common-video-iso-mpeg4-src-type_svd_cpp.diff \
		patch-common-video-iso-mpeg4-src-type_typeapi_cpp.diff \
		patch-common-video-iso-mpeg4-src-type_yuvac_cpp.diff \
		patch-common-video-iso-mpeg4-src-type_yuvai_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_main_computePSNR_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_main_read_image_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_main_seg_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_main_vtcdec_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_main_vtcenc_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_main_wavelet_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_main_write_image_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_shape_BinArCodec_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_shape_ShapeDecoding_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_shape_ShapeEncoding_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_wavelet_download_filter_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_zte_ac_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_zte_bitpack_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_zte_ztscanUtil_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_zte_ztscan_dec_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_zte_ztscan_enc_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_ztq_QMInit_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_ztq_QMUtils_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_ztq_decQM_cpp.diff \
		patch-common-video-iso-mpeg4-src-vtc_ztq_encQM_cpp.diff \
        mpeg4ip-1.5.0.1-gcc43.patch

configure.cmd   ./bootstrap
configure.args  --disable-player \
                --mandir=${prefix}/share/man \
                USENASM=false

use_parallel_build      no

configure.cflags-append -std=gnu89 -Wno-error=return-type

variant universal {
    post-configure {
        reinplace "s|CC -dynamiclib|CC -dynamiclib ${configure.universal_ldflags}|g" \
            ${worksrcpath}/common/video/iso-mpeg4/libtool \
            ${worksrcpath}/lib/rtp/libtool \
            ${worksrcpath}/libtool
    }
}

post-patch {
    # Code with this many issue should not be shipped with -Werror by default
    reinplace "s|-Werror||" \
        ${worksrcpath}/player/lib/audio/faad/Makefile.in \
        ${worksrcpath}/lib/rtp/Makefile.in \
        ${worksrcpath}/lib/gnu/Makefile.in \
        ${worksrcpath}/common/video/iso-mpeg4/src/Makefile.in

    reinplace "s|-Wall -Werror|-Wall|" \
        ${worksrcpath}/lib/rtp/configure \
        ${worksrcpath}/common/video/iso-mpeg4/configure \
        ${worksrcpath}/configure
}

#
# delete files from destroot that conflict with port libmp4v2
#

post-destroot {
    file delete -force \
        ${destroot}${prefix}/bin/mp4art \
        ${destroot}${prefix}/bin/mp4dump \
        ${destroot}${prefix}/bin/mp4extract \
        ${destroot}${prefix}/bin/mp4info \
        ${destroot}${prefix}/bin/mp4tags \
        ${destroot}${prefix}/bin/mp4trackdump \
        ${destroot}${prefix}/include/mp4.h \
        ${destroot}${prefix}/lib/libmp4v2.a \
        ${destroot}${prefix}/lib/libmp4v2.dylib \
        ${destroot}${prefix}/lib/libmp4v2.la \
        ${destroot}${prefix}/share/man/manm/api.mpt \
        ${destroot}${prefix}/share/man/man3
   file mkdir ${destroot}${prefix}/share/man/man3
}

build.target

#
# disable livecheck as this code is no longer under development / being maintained.
#

livecheck.type  none