# $Id: Portfile 127 2009-06-06 14:14:49Z kimuraw $

PortSystem		1.0

name			gpac
version			0.4.5
revision		2
categories		multimedia
maintainers		nomaintainer
description		Open source Multimedia Content Packager
long_description \
		GPAC features encoders and multiplexers, publishing and \
		content distribution tools for MP4 and 3GPP(2) files and \
		many tools for scene descriptions (BIFS/VRML/X3D converters, \
		SWF/BIFS, SVG/BIFS, etc...).

homepage	http://gpac.sourceforge.net/
platforms	darwin
master_sites	sourceforge
checksums	md5 755e8c438a48ebdb13525dd491f5b0d1 \
	sha1 2ec03c1d7dc3f4d10c0f7b47696cc1e753a56fc8 \
	rmd160 21249249a412efa5d1237907cb6b8cfe6282e86f

#distname	${name}-${version}
worksrcdir	${name}

depends_lib	port:zlib

patchfiles	\
	patch-applications-osmo4_wx-wxOsmo4.cpp.diff \
	patch-configure.diff \
	patch-modules-ffmpeg_in-Makefile.diff \
	patch-modules-ffmpeg_in-ffmpeg_decode.c.diff \
	patch-modules-ffmpeg_in-ffmpeg_in.h.diff \
	patch-modules-jack-Makefile.diff

#configure.compiler	macports-gcc-4.2
#configure.cflags	-O3

configure.args	\
	--cc=${configure.compiler} --extra-cflags=${configure.cflags} \
	--mandir=${prefix}/share/man \
	--disable-oss-audio --disable-jack \
	--X11-path=/dev/null --disable-x11-shm --disable-x11-xv \
	--sdl-cfg=no --disable-opengl --disable-ssl \
	--use-js=no --use-ft=no \
	--use-jpeg=no --use-openjpeg=no --use-png=no \
	--use-mad=no --use-faad=no --use-xvid=no --use-ffmpeg=no \
	--use-ogg=no --use-vorbis=no --use-theora=no --use-a52=no

variant oss description {build OSS audio support} {
	depends_lib-append	port:liboss
	configure.args-delete	--disable-oss-audio
}

variant jack description {build Jack audio support} {
	depends_lib-append	port:jack
	configure.args-delete	--disable-jack
	configure.args-append	--enable-jack=yes
}

variant x11 description {build X11 support} {
	depends_lib-append	port:xorg-libXv
	configure.args-delete	--X11-path=/dev/null --disable-x11-shm --disable-x11-xv
	configure.args-append	--X11-path=${x11prefix}
}

variant sdl description {build SDL support} {
	depends_lib-append	port:libsdl
	configure.args-delete	--sdl-cfg=no
	configure.args-append	--sdl-cfg=${prefix}/bin
}

# Apple OpenGL does not work. X11 version works.
variant opengl description {build OpenGL support} {
	depends_lib-append	port:mesa
	configure.args-delete	--disable-opengl
}

variant openssl description {build OpenSSL support} {
	depends_lib-append	port:openssl
	configure.args-delete	--disable-ssl
}

variant js description {build SpiderMonkey javascript engine support} {
	depends_lib-append	port:spidermonkey
	configure.args-delete	--use-js=no
}

variant freetype description {build FreeType support} {
	depends_lib-append	port:freetype
	configure.args-delete	--use-ft=no
}

variant jpeg description {build jpeg support} {
	depends_lib-append	port:jpeg
	configure.args-delete	--use-jpeg=no
}

variant openjpeg description {build openjpeg support} {
	depends_lib-append	port:openjpeg
	configure.args-delete	--use-openjpeg=no
}

variant png description {build libpng support} {
	depends_lib-append	port:libpng
	configure.args-delete	--use-png=no
}

variant faad description {build faad AAC support} {
	depends_lib-append	port:faad2
	configure.args-delete	--use-faad=no
}

variant mad description {build libmad MP3 support} {
	depends_lib-append	port:libmad
	configure.args-delete	--use-mad=no
}

variant xvid description {build XviD support} {
	depends_lib-append	port:XviD
	configure.args-delete	--use-xvid=no
}

variant ffmpeg description {build FFmpeg support} {
	depends_lib-append	port:ffmpeg
	configure.args-delete	--use-ffmpeg=no
}

variant ogg description {build libogg support} {
	depends_lib-append	port:libogg
	configure.args-delete	--use-ogg=no
}

variant vorbis requires ogg description {build libvorbis support} {
	depends_lib-append	port:libvorbis
	configure.args-delete	--use-vorbis=no
}

variant theora requires vorbis description {build libtheora support} {
	depends_lib-append	port:libtheora
	configure.args-delete	--use-theora=no
}

variant a52 description {build a52 support} {
	depends_lib-append	port:a52dec
	configure.args-delete	--use-a52=no
}

post-patch {
	system "chmod +x ${worksrcpath}/configure"
	reinplace "s|__PREFIX__|${prefix}|" applications/osmo4_wx/wxOsmo4.cpp
	reinplace "s|__OPENGL_INCLUDE__|-I${x11prefix}/include|" ${worksrcpath}/configure
	reinplace "s|__OPENGL_LIB__|-L${x11prefix}/lib -lGL -lGLU|" ${worksrcpath}/configure
# Mac OS X native OpenGL does not work.
#	system "ln -s /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers ${worksrcpath}/include/GL"
#	reinplace "s|__OPENGL_INCLUDE__|-I${worksrcpath}/include|" ${worksrcpath}/configure
#	reinplace "s|__OPENGL_LIB__|-framework OpenGL|" ${worksrcpath}/configure
	foreach i [glob ${worksrcpath}/modules/*/Makefile] {
		reinplace "s|\$(SHFLAGS)|\$(SHFLAGS) -Wl,-install_name,\$(prefix)/lib/gpac/\$(LIB)|" $i
	}
}
