summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-video/gpac
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-video/gpac')
-rw-r--r--media-video/gpac/Manifest2
-rw-r--r--media-video/gpac/files/110_all_implicitdecls.patch22
-rw-r--r--media-video/gpac/files/210_all_system_libogg.patch28
-rw-r--r--media-video/gpac/files/ffmpeg25.patch43
-rw-r--r--media-video/gpac/files/gpac-0.5.0-build-fixes.patch113
-rw-r--r--media-video/gpac/files/gpac-0.5.0-ffmpeg2.patch28
-rw-r--r--media-video/gpac/files/gpac-0.5.0-libav9.patch93
-rw-r--r--media-video/gpac/files/gpac-0.5.0-mp42ts.patch17
-rw-r--r--media-video/gpac/files/gpac-0.5.0-respect_ldflags.patch45
-rw-r--r--media-video/gpac/files/gpac-0.5.1-build-fixes.patch206
-rw-r--r--media-video/gpac/gpac-0.5.0-r1.ebuild129
-rw-r--r--media-video/gpac/gpac-0.5.1_pre5456.ebuild120
-rw-r--r--media-video/gpac/gpac-9999.ebuild115
-rw-r--r--media-video/gpac/metadata.xml11
14 files changed, 972 insertions, 0 deletions
diff --git a/media-video/gpac/Manifest b/media-video/gpac/Manifest
new file mode 100644
index 000000000000..f16d0afd90ff
--- /dev/null
+++ b/media-video/gpac/Manifest
@@ -0,0 +1,2 @@
+DIST gpac-0.5.0.tar.gz 7861057 SHA256 42971ac39511a1b6d1db39af664ce887b38c8657328c88cd200d87a02de81c24 SHA512 dee7701c791c441c1f050d9591d4e4dd7bdd2908f535233b114959c9a0adc256b3d5e40f5c84fd0f8b1c6764bfe6b35ec0af6bfd1fb056d593aeedca75105278 WHIRLPOOL 1797afa09864a1e9632c121dc2076963ec5e73395abdcd76896d23dc675e03847a42d733ae9fc3bb29bd26b7b336ea0f49e6e8e79c87a0bd0458cd429a7bf271
+DIST gpac-0.5.1_pre5456.tar.xz 5938432 SHA256 81746ad1d9a8ae0a84c73652d1af5d86d9c36229b278422c13e353893893a83c SHA512 25883e32d83dc2b4649c506b86f745d2f8eaaaa75fff629b534205979aeb519a167243e62ec0d78e453d1edc27435acffd521a8c08a739cde05196f61e93ac47 WHIRLPOOL af5a89cb52802bc45edd29c6f0f5ce9f48decea16eef8a76c33c7161a6d48b3d43f1a2b4c3049d2f1f92d0c3f22b787a33c1652f42d2c0cf3b84ad58c2fb7589
diff --git a/media-video/gpac/files/110_all_implicitdecls.patch b/media-video/gpac/files/110_all_implicitdecls.patch
new file mode 100644
index 000000000000..71017b53b9eb
--- /dev/null
+++ b/media-video/gpac/files/110_all_implicitdecls.patch
@@ -0,0 +1,22 @@
+Index: gpac/applications/generators/SVG/svggen.h
+===================================================================
+--- gpac.orig/applications/generators/SVG/svggen.h
++++ gpac/applications/generators/SVG/svggen.h
+@@ -107,6 +107,17 @@ typedef struct {
+ } SVGGenAttrGrp;
+
+
++SVGGenAttribute *findAttribute(SVGGenElement *e, char *name);
++void generateAttributes(FILE *output, GF_List *attributes, Bool inDefine);
++void generateSVGCode_V1(GF_List *svg_elements);
++void generate_laser_tables_da(GF_List *atts);
++void generate_laser_tables(GF_List *svg_elements);
++u32 generateCoreInfo(FILE *output, SVGGenElement *elt, u32 start);
++u32 generateGenericInfo(FILE *output, SVGGenElement *elt, u32 index, char *pointer_root, u32 start);
++void svgNameToImplementationName(xmlChar *svg_name, char implementation_name[50]);
++void generate_table(GF_List *elements);
++void generateSVGCode_V2(GF_List *svg_elements);
++void generateSVGCode_V3(GF_List *svg_elements);
+
+ /*******************************************
+ * Structures needed for static allocation *
diff --git a/media-video/gpac/files/210_all_system_libogg.patch b/media-video/gpac/files/210_all_system_libogg.patch
new file mode 100644
index 000000000000..e09f57c43750
--- /dev/null
+++ b/media-video/gpac/files/210_all_system_libogg.patch
@@ -0,0 +1,28 @@
+--- src/Makefile.old 2012-07-15 15:34:54.000000000 +0200
++++ src/Makefile 2012-07-15 15:39:51.000000000 +0200
+@@ -92,9 +92,6 @@
+ ifeq ($(DISABLE_M2PS), no)
+ LIBGPAC_MEDIATOOLS+=media_tools/mpeg2_ps.o
+ endif
+-ifeq ($(DISABLE_OGG), no)
+-LIBGPAC_MEDIATOOLS+=media_tools/gpac_ogg.o
+-endif
+ ifeq ($(DISABLE_MCRYPT), no)
+ LIBGPAC_MEDIATOOLS+=media_tools/ismacryp.o
+ endif
+@@ -230,6 +227,15 @@
+ endif
+ endif
+
++#6 - OGG support
++ifeq ($(CONFIG_OGG), no)
++else
++LINKLIBS+= -logg
++ifeq ($(CONFIG_OGG), local)
++NEED_LOCAL_LIB="yes"
++MEDIATOOLS_CFLAGS+=-I"$(LOCAL_INC_PATH)/ogg"
++endif
++endif
+
+ ## libgpac compositor compilation options
+ COMPOSITOR_CFLAGS=
diff --git a/media-video/gpac/files/ffmpeg25.patch b/media-video/gpac/files/ffmpeg25.patch
new file mode 100644
index 000000000000..5451b8e1199a
--- /dev/null
+++ b/media-video/gpac/files/ffmpeg25.patch
@@ -0,0 +1,43 @@
+Add proper versionned checks for avformat_close_input
+https://bugs.gentoo.org/show_bug.cgi?id=536526
+
+diff --git a/modules/ffmpeg_in/ffmpeg_demux.c b/modules/ffmpeg_in/ffmpeg_demux.c
+index a5202ee..975a945 100644
+--- a/modules/ffmpeg_in/ffmpeg_demux.c
++++ b/modules/ffmpeg_in/ffmpeg_demux.c
+@@ -301,7 +301,7 @@ static Bool FFD_CanHandleURL(GF_InputService *plug, const char *url)
+ }
+
+ exit:
+-#ifndef FF_API_CLOSE_INPUT_FILE
++#if LIBAVFORMAT_VERSION_MAJOR < 54
+ if (ctx) av_close_input_file(ctx);
+ #else
+ if (ctx) avformat_close_input(&ctx);
+@@ -680,7 +680,7 @@ static GF_Err FFD_ConnectService(GF_InputService *plug, GF_ClientService *serv,
+
+ ffd->seekable = (av_seek_frame(ffd->ctx, -1, 0, AVSEEK_FLAG_BACKWARD)<0) ? 0 : 1;
+ if (!ffd->seekable) {
+-#ifndef FF_API_CLOSE_INPUT_FILE
++#if LIBAVFORMAT_VERSION_MAJOR < 54
+ av_close_input_file(ffd->ctx);
+ #else
+ avformat_close_input(&ffd->ctx);
+@@ -699,7 +699,7 @@ static GF_Err FFD_ConnectService(GF_InputService *plug, GF_ClientService *serv,
+
+ err_exit:
+ GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMPEG] Error opening file %s: %s\n", url, gf_error_to_string(e)));
+-#ifndef FF_API_CLOSE_INPUT_FILE
++#if LIBAVFORMAT_VERSION_MAJOR < 54
+ if (ffd->ctx) av_close_input_file(ffd->ctx);
+ #else
+ if (ffd->ctx) avformat_close_input(&ffd->ctx);
+@@ -757,7 +757,7 @@ static GF_Err FFD_CloseService(GF_InputService *plug)
+
+ ffd->is_running = 0;
+
+-#ifndef FF_API_CLOSE_INPUT_FILE
++#if LIBAVFORMAT_VERSION_MAJOR < 54
+ if (ffd->ctx) av_close_input_file(ffd->ctx);
+ #else
+ if (ffd->ctx) avformat_close_input(&ffd->ctx);
diff --git a/media-video/gpac/files/gpac-0.5.0-build-fixes.patch b/media-video/gpac/files/gpac-0.5.0-build-fixes.patch
new file mode 100644
index 000000000000..741fd28b6f81
--- /dev/null
+++ b/media-video/gpac/files/gpac-0.5.0-build-fixes.patch
@@ -0,0 +1,113 @@
+diff -ur gpac/configure gpac.new/configure
+--- gpac/configure 2012-05-25 08:05:57.000000000 -0400
++++ gpac.new/configure 2012-10-04 13:59:58.000000000 -0400
+@@ -103,6 +103,7 @@
+ has_openjpeg="no"
+ gprof_build="no"
+ static_build="no"
++static_libs="no"
+ want_pic="no"
+ has_joystick="no"
+ has_xul="no"
+@@ -221,6 +222,7 @@
+ --disable-platinum disable Platinum UPnP support
+ --disable-alsa disable Alsa audio
+ --disable-oss-audio disable OSS audio
++ --disable-sdl disable SDL support
+ --enable-jack enable Jack audio
+ --disable-jack disable Jack audio
+ --enable-pulseaudio enable Pulse audio
+@@ -236,6 +238,7 @@
+ --enable-amr-wb enable AMR WB library
+ --enable-amr enable both AMR NB and WB libraries
+ --enable-static-bin GPAC static build
++ --enable-static-lib GPAC static libraries build
+ --static-mp4box configure for static linking of MP4Box.
+ --enable-depth enables depth handling in the compositor
+
+@@ -1607,6 +1610,8 @@
+ ;;
+ --enable-static-bin) static_build="yes";
+ ;;
++ --enable-static-lib) static_libs="yes";
++ ;;
+ --disable-ipv6) has_ipv6="no"
+ ;;
+ --disable-wx) has_wx="no"
+@@ -1615,6 +1620,8 @@
+ ;;
+ --disable-oss-audio) has_oss_audio="no"
+ ;;
++ --disable-sdl) has_sdl="no"
++ ;;
+ --disable-x11-shm) has_x11_shm="no"
+ ;;
+ --disable-x11-xv) has_x11_xv="no"
+@@ -2157,6 +2164,7 @@
+ echo "debug version: $debuginfo"
+ echo "GProf enabled: $gprof_build"
+ echo "Static build enabled: $static_build"
++echo "Static libs build enabled: $static_libs"
+ echo "Memory tracking enabled: $use_memory_tracking"
+ echo "Use standard memory allocator: $use_std_alloc"
+ echo "fixed-point version: $use_fixed_point"
+@@ -2700,6 +2708,7 @@
+ echo "DEBUGBUILD=$debuginfo" >> config.mak
+ echo "GPROFBUILD=$gprof_build" >> config.mak
+ echo "STATICBUILD=$static_build" >> config.mak
++echo "STATICLIBS=$static_libs" >> config.mak
+
+ echo "CONFIG_IPV6=$has_ipv6" >> config.mak
+ if test "$has_ipv6" = "yes" ; then
+@@ -2893,8 +2893,6 @@
+ mkdir ./bin/gcc/temp
+ fi
+
+-echo '%.opic : %.c' >> config.mak
+-echo ' $(CC) $(CFLAGS) $(PIC_CFLAGS) -c $< -o $@' >> config.mak
+
+ #pkg-config
+ echo "prefix=$prefix" > gpac.pc
+diff -ur gpac/Makefile gpac.new/Makefile
+--- gpac/Makefile 2012-05-25 08:05:57.000000000 -0400
++++ gpac.new/Makefile 2012-10-04 14:05:08.000000000 -0400
+@@ -119,9 +119,6 @@
+ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME) $(DESTDIR)$(prefix)/$(libdir)/libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME)
+ ln -sf libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME) $(DESTDIR)$(prefix)/$(libdir)/libgpac.so.$(VERSION_MAJOR)
+ ln -sf libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME) $(DESTDIR)$(prefix)/$(libdir)/libgpac.so
+-ifeq ($(DESTDIR)$(prefix),$(prefix))
+- ldconfig || true
+-endif
+ endif
+ endif
+
+@@ -138,7 +135,9 @@
+ $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/include/gpac/enst/*.h "$(DESTDIR)$(prefix)/include/gpac/enst"
+ endif
+ mkdir -p "$(DESTDIR)$(prefix)/$(libdir)"
++ifeq ($(STATICLIBS),yes)
+ $(INSTALL) $(INSTFLAGS) -m 644 "./bin/gcc/libgpac_static.a" "$(DESTDIR)$(prefix)/$(libdir)"
++endif
+ $(MAKE) installdylib
+
+ uninstall-lib:
+diff -ur gpac/src/Makefile gpac.new/src/Makefile
+--- gpac/src/Makefile 2012-10-04 14:14:18.000000000 -0400
++++ gpac.new/src/Makefile 2012-10-04 13:59:58.000000000 -0400
+@@ -291,12 +291,16 @@
+
+ $(LIB): $(LIBGPAC_UTILS) $(LIBGPAC_IETF) $(LIBGPAC_BIFS) $(LIBGPAC_ODF) $(LIBGPAC_LASER) $(LIBGPAC_ISOM) $(LIBGPAC_SCENEMANAGER) $(LIBGPAC_TERMINAL) compositor scenegraph mediatools mcrypt $(OBJS)
+ ifeq ($(CONFIG_DARWIN),yes)
++ifeq ($(STATICLIBS),yes)
+ libtool -s -o ../bin/gcc/libgpac_static.a $(OBJS)
+ ranlib ../bin/gcc/libgpac_static.a
++endif
+ $(CC) $(SHFLAGS) $(LD_SONAME) $(LDFLAGS) -o ../bin/gcc/$@ $(OBJS) $(EXTRALIBS)
+ else
++ifeq ($(STATICLIBS),yes)
+ ar cr ../bin/gcc/libgpac_static.a $(OBJS)
+ ranlib ../bin/gcc/libgpac_static.a
++endif
+ $(CC) $(SHFLAGS) $(LD_SONAME) $(LDFLAGS) -o ../bin/gcc/$@ $(OBJS) $(EXTRALIBS)
+ ifeq (,$(findstring yes, $(CONFIG_WIN32)))
+ mv ../bin/gcc/$@ ../bin/gcc/$@.$(VERSION_SONAME)
diff --git a/media-video/gpac/files/gpac-0.5.0-ffmpeg2.patch b/media-video/gpac/files/gpac-0.5.0-ffmpeg2.patch
new file mode 100644
index 000000000000..f9dd4ba340a7
--- /dev/null
+++ b/media-video/gpac/files/gpac-0.5.0-ffmpeg2.patch
@@ -0,0 +1,28 @@
+Index: gpac/modules/ffmpeg_in/ffmpeg_demux.c
+===================================================================
+--- gpac.orig/modules/ffmpeg_in/ffmpeg_demux.c
++++ gpac/modules/ffmpeg_in/ffmpeg_demux.c
+@@ -614,7 +614,7 @@ static GF_Err FFD_ConnectService(GF_Inpu
+ }
+ /*setup downloader*/
+ av_in->flags |= AVFMT_NOFILE;
+-#if (LIBAVFORMAT_VERSION_MAJOR < 55) /*commit ffmpeg 603b8bc2a109978c8499b06d2556f1433306eca7*/
++#if (LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,4,0)) /*commit ffmpeg 603b8bc2a109978c8499b06d2556f1433306eca7*/
+ res = avformat_open_input(&ffd->ctx, szName, av_in, NULL);
+ #else
+ res = av_open_input_stream(&ffd->ctx, &ffd->io, szName, av_in, NULL);
+Index: gpac/modules/ffmpeg_in/ffmpeg_in.h
+===================================================================
+--- gpac.orig/modules/ffmpeg_in/ffmpeg_in.h
++++ gpac/modules/ffmpeg_in/ffmpeg_in.h
+@@ -96,6 +96,10 @@ void gf_av_vlog(void* avcl, int level, c
+ #endif
+
+
++#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 // 1 second of 48khz 32bit audio
++#endif
++
+
+
+ /*FFMPEG decoder module */
diff --git a/media-video/gpac/files/gpac-0.5.0-libav9.patch b/media-video/gpac/files/gpac-0.5.0-libav9.patch
new file mode 100644
index 000000000000..687bffc009db
--- /dev/null
+++ b/media-video/gpac/files/gpac-0.5.0-libav9.patch
@@ -0,0 +1,93 @@
+--- ./work/gpac/modules/ffmpeg_in/ffmpeg_decode.c.original 2012-02-29 18:24:24.000000000 +0200
++++ ./work/gpac/modules/ffmpeg_in/ffmpeg_decode.c 2013-05-28 13:45:02.415980878 +0300
+@@ -169,7 +169,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ frame = &ffd->base_frame;
+ }
+ if (!(*ctx)){
+- *ctx = avcodec_alloc_context();
++ *ctx = avcodec_alloc_context3(NULL);
+ }
+
+ /*private FFMPEG DSI*/
+@@ -317,7 +317,7 @@ static GF_Err FFDEC_AttachStream(GF_Base
+ (*ctx)->pix_fmt = ffd->raw_pix_fmt;
+ if ((*ctx)->extradata && strstr((*ctx)->extradata, "BottomUp")) ffd->flipped = 1;
+ } else {
+- if (avcodec_open((*ctx), (*codec) )<0) return GF_NON_COMPLIANT_BITSTREAM;
++ if (avcodec_open2((*ctx), (*codec), NULL)<0) return GF_NON_COMPLIANT_BITSTREAM;
+ }
+
+ /*setup audio streams*/
+@@ -749,7 +749,7 @@ redecode:
+ here this means the DSI was broken, so no big deal*/
+ avcodec_close(ctx);
+ *codec = avcodec_find_decoder(CODEC_ID_H263);
+- if (! (*codec) || (avcodec_open(ctx, *codec)<0)) return GF_NON_COMPLIANT_BITSTREAM;
++ if (! (*codec) || (avcodec_open2(ctx, *codec, NULL)<0)) return GF_NON_COMPLIANT_BITSTREAM;
+ #if USE_AVCODEC2
+ if (avcodec_decode_video2(ctx, frame, &gotpic, &pkt) < 0) {
+ #else
+@@ -759,7 +759,7 @@ redecode:
+ avcodec_close(ctx);
+ *codec = avcodec_find_decoder(old_codec);
+ assert(*codec);
+- avcodec_open(ctx, *codec);
++ avcodec_open2(ctx, *codec, NULL);
+ return GF_NON_COMPLIANT_BITSTREAM;
+ }
+ }
+--- ./work/gpac/modules/ffmpeg_in/ffmpeg_demux.c.original 2012-04-04 15:57:37.000000000 +0300
++++ ./work/gpac/modules/ffmpeg_in/ffmpeg_demux.c 2013-05-28 13:58:57.416188668 +0300
+@@ -290,7 +290,7 @@ static Bool FFD_CanHandleURL(GF_InputSer
+ return 0;
+ }
+ }
+- if (!ctx || av_find_stream_info(ctx) <0) goto exit;
++ if (!ctx || avformat_find_stream_info(ctx, NULL) <0) goto exit;
+
+ /*figure out if we can use codecs or not*/
+ has_video = has_audio = 0;
+@@ -614,7 +614,7 @@ static GF_Err FFD_ConnectService(GF_Inpu
+ }
+ /*setup downloader*/
+ av_in->flags |= AVFMT_NOFILE;
+-#if FF_API_FORMAT_PARAMETERS /*commit ffmpeg 603b8bc2a109978c8499b06d2556f1433306eca7*/
++#if (LIBAVFORMAT_VERSION_MAJOR < 55) /*commit ffmpeg 603b8bc2a109978c8499b06d2556f1433306eca7*/
+ res = avformat_open_input(&ffd->ctx, szName, av_in, NULL);
+ #else
+ res = av_open_input_stream(&ffd->ctx, &ffd->io, szName, av_in, NULL);
+@@ -637,7 +637,7 @@ static GF_Err FFD_ConnectService(GF_Inpu
+
+ GF_LOG(GF_LOG_DEBUG, GF_LOG_CONTAINER, ("[FFMPEG] looking for streams in %s - %d streams - type %s\n", ffd->ctx->filename, ffd->ctx->nb_streams, ffd->ctx->iformat->name));
+
+- res = av_find_stream_info(ffd->ctx);
++ res = avformat_find_stream_info(ffd->ctx, NULL);
+ if (res <0) {
+ GF_LOG(GF_LOG_ERROR, GF_LOG_CONTAINER, ("[FFMPEG] cannot locate streams - error %d\n", res));
+ e = GF_NOT_SUPPORTED;
+@@ -699,7 +699,7 @@ static GF_Err FFD_ConnectService(GF_Inpu
+ if (!ffd->seekable) {
+ av_close_input_file(ffd->ctx);
+ open_file(&ffd->ctx, szName, av_in);
+- av_find_stream_info(ffd->ctx);
++ avformat_find_stream_info(ffd->ctx, NULL);
+ }
+ }
+
+--- ./work/gpac/modules/redirect_av/ffmpeg_ts_muxer.c.original 2011-05-03 16:00:46.000000000 +0300
++++ ./work/gpac/modules/redirect_av/ffmpeg_ts_muxer.c 2013-05-28 13:39:10.694202510 +0300
+@@ -231,12 +231,12 @@ GF_AbstractTSMuxer * ts_amux_new(GF_AVRe
+ dump_format(ts->oc, 0, avr->destination, 1);
+ GF_LOG(GF_LOG_INFO, GF_LOG_MODULE, ("[AVRedirect] DUMPING to %s...\n", ts->destination));
+
+- if (avcodec_open(ts->video_st->codec, avr->videoCodec) < 0) {
++ if (avcodec_open2(ts->video_st->codec, avr->videoCodec, NULL) < 0) {
+ GF_LOG(GF_LOG_ERROR, GF_LOG_MODULE, ("[AVRedirect] failed to open video codec\n"));
+ return NULL;
+ }
+ #if REDIRECT_AV_AUDIO_ENABLED
+- if (avcodec_open(ts->audio_st->codec, avr->audioCodec) < 0) {
++ if (avcodec_open2(ts->audio_st->codec, avr->audioCodec, NULL) < 0) {
+ GF_LOG(GF_LOG_ERROR, GF_LOG_MODULE, ("[AVRedirect] failed to open audio codec\n"));
+ return NULL;
+ }
diff --git a/media-video/gpac/files/gpac-0.5.0-mp42ts.patch b/media-video/gpac/files/gpac-0.5.0-mp42ts.patch
new file mode 100644
index 000000000000..2ab9b542075e
--- /dev/null
+++ b/media-video/gpac/files/gpac-0.5.0-mp42ts.patch
@@ -0,0 +1,17 @@
+It is built but not installed.
+https://bugs.gentoo.org/show_bug.cgi?id=459630
+
+Index: gpac/Makefile
+===================================================================
+--- gpac.orig/Makefile
++++ gpac/Makefile
+@@ -59,6 +59,9 @@ install:
+ $(INSTALL) -d "$(DESTDIR)$(prefix)/bin"
+ ifeq ($(DISABLE_ISOFF), no)
+ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/MP4Box "$(DESTDIR)$(prefix)/bin"
++ifeq ($(DISABLE_M2TS), no)
++ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/mp42ts "$(DESTDIR)$(prefix)/bin"
++endif
+ endif
+ ifeq ($(DISABLE_PLAYER), no)
+ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/MP4Client "$(DESTDIR)$(prefix)/bin"
diff --git a/media-video/gpac/files/gpac-0.5.0-respect_ldflags.patch b/media-video/gpac/files/gpac-0.5.0-respect_ldflags.patch
new file mode 100644
index 000000000000..3b37cfe0dfc8
--- /dev/null
+++ b/media-video/gpac/files/gpac-0.5.0-respect_ldflags.patch
@@ -0,0 +1,45 @@
+http://bugs.gentoo.org/258331
+http://bugs.gentoo.org/310257
+http://bugs.gentoo.org/331067
+
+Also fix underlinkage of the pulse module.
+
+Index: gpac/modules/jack/Makefile
+===================================================================
+--- gpac.orig/modules/jack/Makefile
++++ gpac/modules/jack/Makefile
+@@ -25,7 +25,7 @@ LIB=gm_jack.$(DYN_LIB_SUFFIX)
+ all: $(LIB)
+
+ $(LIB): $(OBJS)
+- $(CC) $(SHFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -ljack
++ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -ljack
+
+
+ %.o: %.c
+Index: gpac/modules/oss_audio/Makefile
+===================================================================
+--- gpac.orig/modules/oss_audio/Makefile
++++ gpac/modules/oss_audio/Makefile
+@@ -35,7 +35,7 @@ LIB=gm_oss_audio.$(DYN_LIB_SUFFIX)
+ all: $(LIB)
+
+ $(LIB): $(OBJS)
+- $(CC) $(SHFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac $(OSS_LDFLAGS)
++ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac $(OSS_LDFLAGS)
+ ifeq ($(STATICBUILD),yes)
+ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/gm_oss_audio-static.$(DYN_LIB_SUFFIX) $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac_static $(OSS_LDFLAGS)
+ endif
+Index: gpac/modules/pulseaudio/Makefile
+===================================================================
+--- gpac.orig/modules/pulseaudio/Makefile
++++ gpac/modules/pulseaudio/Makefile
+@@ -25,7 +25,7 @@ LIB=gm_pulseaudio.$(DYN_LIB_SUFFIX)
+ all: $(LIB)
+
+ $(LIB): $(OBJS)
+- $(CC) $(SHFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -lpulse-simple
++ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -lpulse-simple -lpulse
+
+
+ %.o: %.c
diff --git a/media-video/gpac/files/gpac-0.5.1-build-fixes.patch b/media-video/gpac/files/gpac-0.5.1-build-fixes.patch
new file mode 100644
index 000000000000..c28e80343e49
--- /dev/null
+++ b/media-video/gpac/files/gpac-0.5.1-build-fixes.patch
@@ -0,0 +1,206 @@
+Index: Makefile
+===================================================================
+--- Makefile (revision 5456)
++++ Makefile (working copy)
+@@ -78,6 +78,9 @@
+ ifeq ($(DISABLE_ISOFF), no)
+ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/MP4Box "$(DESTDIR)$(prefix)/bin"
+ endif
++ifeq ($(DISABLE_M2TS), no)
++ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/mp42ts "$(DESTDIR)$(prefix)/bin"
++endif
+ ifeq ($(DISABLE_PLAYER), no)
+ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/MP4Client "$(DESTDIR)$(prefix)/bin"
+ endif
+@@ -142,9 +145,6 @@
+ $(INSTALL) $(INSTFLAGS) -m 755 bin/gcc/libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME) $(DESTDIR)$(prefix)/$(libdir)/libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME)
+ ln -sf libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME) $(DESTDIR)$(prefix)/$(libdir)/libgpac.so.$(VERSION_MAJOR)
+ ln -sf libgpac.$(DYN_LIB_SUFFIX).$(VERSION_SONAME) $(DESTDIR)$(prefix)/$(libdir)/libgpac.so
+-ifeq ($(DESTDIR)$(prefix),$(prefix))
+- ldconfig || true
+-endif
+ endif
+ endif
+
+@@ -161,7 +161,9 @@
+ $(INSTALL) $(INSTFLAGS) -m 644 $(SRC_PATH)/include/gpac/enst/*.h "$(DESTDIR)$(prefix)/include/gpac/enst"
+ endif
+ mkdir -p "$(DESTDIR)$(prefix)/$(libdir)"
++ifeq ($(STATICLIBS),yes)
+ $(INSTALL) $(INSTFLAGS) -m 644 "./bin/gcc/libgpac_static.a" "$(DESTDIR)$(prefix)/$(libdir)"
++endif
+ $(MAKE) installdylib
+
+ uninstall-lib:
+Index: applications/mp4box/main.c
+===================================================================
+--- applications/mp4box/main.c (revision 5456)
++++ applications/mp4box/main.c (working copy)
+@@ -1508,10 +1508,10 @@
+ (*descs)[(*nb_descs)-1][len] = 0;
+ }
+ else if (!strnicmp(opts, "xlink=", 6)) {
+- if (strlen(opts+6) > 199) {
++ if (strlen(opts+6) > 99) {
+ GF_LOG(GF_LOG_ERROR, GF_LOG_DASH, ("[DASH] XLink cannot exceed 99 characters in MP4Box, truncating ...\n"));
+ }
+- strncpy(di->xlink, opts+6, 199);
++ strncpy(di->xlink, opts+6, 99);
+ }
+
+ if (!sep) break;
+Index: configure
+===================================================================
+--- configure (revision 5456)
++++ configure (working copy)
+@@ -101,6 +101,7 @@
+ has_openjpeg="no"
+ gprof_build="no"
+ static_build="no"
++static_libs="no"
+ want_pic="no"
+ has_joystick="no"
+ has_xul="no"
+@@ -230,6 +231,7 @@
+ --disable-platinum disable Platinum UPnP support
+ --disable-alsa disable Alsa audio
+ --disable-oss-audio disable OSS audio
++ --disable-sdl disable SDL support
+ --enable-jack enable Jack audio
+ --disable-jack disable Jack audio
+ --enable-pulseaudio enable Pulse audio
+@@ -245,6 +247,7 @@
+ --enable-amr-wb enable AMR WB library
+ --enable-amr enable both AMR NB and WB libraries
+ --enable-static-bin GPAC static build
++ --enable-static-lib GPAC static libraries build
+ --static-mp4box configure for static linking of MP4Box.
+ --enable-depth enables depth handling in the compositor
+
+@@ -1761,6 +1764,8 @@
+ ;;
+ --enable-static-bin) static_build="yes";
+ ;;
++ --enable-static-lib) static_libs="yes";
++ ;;
+ --disable-ipv6) has_ipv6="no"
+ ;;
+ --disable-wx) has_wx="no"
+@@ -1769,6 +1774,8 @@
+ ;;
+ --disable-oss-audio) has_oss_audio="no"
+ ;;
++ --disable-sdl) has_sdl="no"
++ ;;
+ --disable-x11-shm) has_x11_shm="no"
+ ;;
+ --disable-x11-xv) has_x11_xv="no"
+@@ -2422,6 +2429,7 @@
+ echo "debug version: $debuginfo"
+ echo "GProf enabled: $gprof_build"
+ echo "Static build enabled: $static_build"
++echo "Static libs build enabled: $static_libs"
+ echo "Memory tracking enabled: $use_memory_tracking"
+ echo "Use standard memory allocator: $use_std_alloc"
+ echo "Fixed-Point Version: $use_fixed_point"
+@@ -3039,6 +3047,7 @@
+ echo "DEBUGBUILD=$debuginfo" >> config.mak
+ echo "GPROFBUILD=$gprof_build" >> config.mak
+ echo "STATICBUILD=$static_build" >> config.mak
++echo "STATICLIBS=$static_libs" >> config.mak
+
+ echo "CONFIG_IPV6=$has_ipv6" >> config.mak
+ if test "$has_ipv6" = "yes" ; then
+@@ -3237,12 +3246,6 @@
+ fi
+
+
+-echo '%.opic : %.c' >> config.mak
+-if test "$verbose" = "no" ; then
+-echo ' @echo " CC $<"' >> config.mak
+-fi
+-echo ' $(CC) $(CFLAGS) $(PIC_CFLAGS) -c $< -o $@' >> config.mak
+-
+ echo '%.o : %.c' >> config.mak
+ if test "$verbose" = "no" ; then
+ echo ' @echo " CC $<"' >> config.mak
+Index: modules/jack/Makefile
+===================================================================
+--- modules/jack/Makefile (revision 5456)
++++ modules/jack/Makefile (working copy)
+@@ -25,7 +25,7 @@
+ all: $(LIB)
+
+ $(LIB): $(OBJS)
+- $(CC) $(SHFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -ljack
++ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -ljack
+
+ clean:
+ rm -f $(OBJS) ../../bin/gcc/$(LIB)
+Index: modules/oss_audio/Makefile
+===================================================================
+--- modules/oss_audio/Makefile (revision 5456)
++++ modules/oss_audio/Makefile (working copy)
+@@ -35,7 +35,7 @@
+ all: $(LIB)
+
+ $(LIB): $(OBJS)
+- $(CC) $(SHFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac $(OSS_LDFLAGS)
++ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac $(OSS_LDFLAGS)
+ ifeq ($(STATICBUILD),yes)
+ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/gm_oss_audio-static.$(DYN_LIB_SUFFIX) $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac_static $(OSS_LDFLAGS)
+ endif
+Index: modules/pulseaudio/Makefile
+===================================================================
+--- modules/pulseaudio/Makefile (revision 5456)
++++ modules/pulseaudio/Makefile (working copy)
+@@ -25,7 +25,7 @@
+ all: $(LIB)
+
+ $(LIB): $(OBJS)
+- $(CC) $(SHFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -lpulse-simple
++ $(CC) $(SHFLAGS) $(LDFLAGS) -o ../../bin/gcc/$@ $(OBJS) $(EXTRALIBS) -L../../bin/gcc -lgpac -L/usr/lib -lpulse-simple -lpulse
+
+ clean:
+ rm -f $(OBJS) ../../bin/gcc/$(LIB)
+Index: modules/vtt_in/vtt_dec.c
+===================================================================
+--- modules/vtt_in/vtt_dec.c (revision 5456)
++++ modules/vtt_in/vtt_dec.c (working copy)
+@@ -128,6 +128,7 @@
+
+ case GPAC_OTI_SCENE_VTT_MP4:
+ {
++#ifdef GPAC_HAS_SPIDERMONKEY
+ char start[100], end[100];
+ GF_List *cues;
+ cues = gf_webvtt_parse_cues_from_data(inBuffer, inBufferLength, 0);
+@@ -142,6 +143,7 @@
+ }
+ }
+ gf_list_del(cues);
++#endif
+ }
+ break;
+
+Index: src/Makefile
+===================================================================
+--- src/Makefile (revision 5456)
++++ src/Makefile (working copy)
+@@ -607,12 +607,16 @@
+ @echo "OBJS $(OBJS)"
+ @echo "LIBS $(EXTRALIBS)"
+ ifeq ($(CONFIG_DARWIN),yes)
++ifeq ($(STATICLIBS),yes)
+ $(LIBTOOL) -s -o ../bin/gcc/libgpac_static.a $(OBJS)
+ $(RANLIB) ../bin/gcc/libgpac_static.a
++endif
+ $(CC) $(SHFLAGS) $(LD_SONAME) $(LDFLAGS) -o $@ $(OBJS) $(EXTRALIBS)
+ else
++ifeq ($(STATICLIBS),yes)
+ $(AR) cr ../bin/gcc/libgpac_static.a $(OBJS)
+ $(RANLIB) ../bin/gcc/libgpac_static.a
++endif
+ $(CC) $(SHFLAGS) $(LD_SONAME) $(LDFLAGS) -o $@ $(OBJS) $(EXTRALIBS)
+ ifeq (,$(findstring yes, $(CONFIG_WIN32)))
+ mv $@ $@.$(VERSION_SONAME)
diff --git a/media-video/gpac/gpac-0.5.0-r1.ebuild b/media-video/gpac/gpac-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..9ddbb428c07e
--- /dev/null
+++ b/media-video/gpac/gpac-0.5.0-r1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="GPAC is an implementation of the MPEG-4 Systems standard developed from scratch in ANSI C"
+HOMEPAGE="http://gpac.wp.mines-telecom.fr/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="a52 aac alsa debug dvb ffmpeg ipv6 jack jpeg jpeg2k mad opengl oss png pulseaudio sdl ssl static-libs theora truetype vorbis xml xvid"
+
+S="${WORKDIR}"/${PN}
+
+RDEPEND="
+ a52? ( media-libs/a52dec )
+ aac? ( >=media-libs/faad2-2.0 )
+ alsa? ( media-libs/alsa-lib )
+ dvb? ( media-tv/linuxtv-dvb-apps )
+ ffmpeg? ( virtual/ffmpeg )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ mad? ( >=media-libs/libmad-0.15.1b )
+ opengl? ( virtual/opengl media-libs/freeglut virtual/glu )
+ >=media-libs/libogg-1.1
+ png? ( >=media-libs/libpng-1.4 )
+ vorbis? ( >=media-libs/libvorbis-1.1 )
+ theora? ( media-libs/libtheora )
+ truetype? ( >=media-libs/freetype-2.1.4 )
+ xml? ( >=dev-libs/libxml2-2.6.0 )
+ xvid? ( >=media-libs/xvid-1.0.1 )
+ sdl? ( media-libs/libsdl )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ ssl? ( dev-libs/openssl )
+ pulseaudio? ( media-sound/pulseaudio )
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXv
+ x11-libs/libXext"
+# disabled upstream, see applications/Makefile
+# wxwidgets? ( =x11-libs/wxGTK-2.8* )
+
+DEPEND="${RDEPEND}"
+
+my_use() {
+ local flag="$1" pflag="${2:-$1}"
+ if use ${flag}; then
+ echo "--use-${pflag}=system"
+ else
+ echo "--use-${pflag}=no"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/110_all_implicitdecls.patch \
+ "${FILESDIR}"/210_all_system_libogg.patch \
+ "${FILESDIR}"/${P}-build-fixes.patch \
+ "${FILESDIR}"/${P}-libav9.patch \
+ "${FILESDIR}"/${P}-ffmpeg2.patch \
+ "${FILESDIR}"/${P}-mp42ts.patch \
+ "${FILESDIR}"/${P}-respect_ldflags.patch
+
+ # remove last of internal ogg
+ sed -i \
+ -e 's:<gpac/internal/ogg.h>:<ogg/ogg.h>:' \
+ src/media_tools/{av_parsers,gpac_ogg,media_import,media_export}.c || die
+ rm -f include/gpac/internal/ogg.h || die
+
+ chmod +x configure
+
+ # make sure configure looks for wx without needing eselect set
+ # if use wxwidgets; then
+ # WX_GTK_VER=2.8
+ # need-wxwidgets unicode
+ # sed -i -e "s:wx-config:${WX_CONFIG}:g" configure || die
+ #else
+ # sed -i -e "s:wx-config:wx-config-doesnotexist:g" configure || die
+ #fi
+}
+
+src_configure() {
+ tc-export CC CXX AR RANLIB
+
+ econf \
+ --enable-svg \
+ --enable-pic \
+ --disable-amr \
+ --use-js=no \
+ --use-ogg=system \
+ $(use_enable alsa) \
+ $(use_enable debug) \
+ $(use_enable ipv6) \
+ $(use_enable jack jack yes) \
+ $(use_enable opengl) \
+ $(use_enable oss oss-audio) \
+ $(use_enable pulseaudio pulseaudio yes) \
+ $(use_enable sdl) \
+ $(use_enable ssl) \
+ $(use_enable static-libs static-lib) \
+ --disable-wx \
+ $(my_use a52) \
+ $(my_use aac faad) \
+ $(my_use dvb dvbx) \
+ $(my_use ffmpeg) \
+ $(my_use jpeg) \
+ $(my_use jpeg2k openjpeg) \
+ $(my_use mad) \
+ $(my_use png) \
+ $(my_use theora) \
+ $(my_use truetype ft) \
+ $(my_use vorbis) \
+ $(my_use xvid) \
+ --extra-cflags="${CFLAGS}" \
+ --cc="$(tc-getCC)" \
+ --libdir="/$(get_libdir)"
+}
+
+src_install() {
+ emake STRIP="true" DESTDIR="${D}" install
+ emake STRIP="true" DESTDIR="${D}" install-lib
+ dodoc AUTHORS BUGS Changelog README TODO INSTALLME
+ dodoc doc/*.txt
+ dohtml doc/*.html
+}
diff --git a/media-video/gpac/gpac-0.5.1_pre5456.ebuild b/media-video/gpac/gpac-0.5.1_pre5456.ebuild
new file mode 100644
index 000000000000..bb85dde97281
--- /dev/null
+++ b/media-video/gpac/gpac-0.5.1_pre5456.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+if [[ ${PV} == *9999 ]] ; then
+ SCM="subversion"
+ ESVN_REPO_URI="svn://svn.code.sf.net/p/gpac/code/trunk/gpac"
+ KEYWORDS="alpha sparc"
+else
+ if [[ ${PV%_p*} != ${PV} ]] ; then
+ SRC_URI="http://dev.gentoo.org/~lu_zero/${PN}/${P}.tar.xz"
+ else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+ fi
+ KEYWORDS="alpha amd64 ppc ppc64 sparc x86 ~x86-fbsd"
+fi
+
+inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
+
+DESCRIPTION="GPAC is an implementation of the MPEG-4 Systems standard developed from scratch in ANSI C"
+HOMEPAGE="http://gpac.wp.mines-telecom.fr/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="a52 aac alsa debug dvb ffmpeg ipv6 jack jpeg jpeg2k mad opengl oss png pulseaudio sdl ssl static-libs theora truetype vorbis xml xvid"
+
+S="${WORKDIR}"/${PN}
+
+RDEPEND="
+ a52? ( media-libs/a52dec )
+ aac? ( >=media-libs/faad2-2.0 )
+ alsa? ( media-libs/alsa-lib )
+ dvb? ( media-tv/linuxtv-dvb-apps )
+ ffmpeg? ( virtual/ffmpeg )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ mad? ( >=media-libs/libmad-0.15.1b )
+ opengl? ( virtual/opengl media-libs/freeglut virtual/glu )
+ >=media-libs/libogg-1.1
+ png? ( >=media-libs/libpng-1.4 )
+ vorbis? ( >=media-libs/libvorbis-1.1 )
+ theora? ( media-libs/libtheora )
+ truetype? ( >=media-libs/freetype-2.1.4 )
+ xml? ( >=dev-libs/libxml2-2.6.0 )
+ xvid? ( >=media-libs/xvid-1.0.1 )
+ sdl? ( media-libs/libsdl )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ ssl? ( dev-libs/openssl )
+ pulseaudio? ( media-sound/pulseaudio )
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXv
+ x11-libs/libXext"
+# disabled upstream, see applications/Makefile
+# wxwidgets? ( =x11-libs/wxGTK-2.8* )
+
+DEPEND="${RDEPEND}"
+
+my_use() {
+ local flag="$1" pflag="${2:-$1}"
+ if use ${flag}; then
+ echo "--use-${pflag}=system"
+ else
+ echo "--use-${pflag}=no"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/110_all_implicitdecls.patch \
+ "${FILESDIR}"/${PN}-0.5.1-build-fixes.patch \
+ "${FILESDIR}"/ffmpeg25.patch
+ sed -i -e "s:\(--disable-.*\)=\*):\1):" configure || die
+}
+
+src_configure() {
+ tc-export CC CXX AR RANLIB
+
+ econf \
+ --enable-svg \
+ --enable-pic \
+ --disable-amr \
+ --use-js=no \
+ --use-ogg=system \
+ $(use_enable alsa) \
+ $(use_enable debug) \
+ $(use_enable ipv6) \
+ $(use_enable jack jack yes) \
+ $(use_enable opengl) \
+ $(use_enable oss oss-audio) \
+ $(use_enable pulseaudio pulseaudio yes) \
+ $(use_enable sdl) \
+ $(use_enable ssl) \
+ $(use_enable static-libs static-lib) \
+ --disable-wx \
+ $(my_use a52) \
+ $(my_use aac faad) \
+ $(my_use dvb dvbx) \
+ $(my_use ffmpeg) \
+ $(my_use jpeg) \
+ $(my_use jpeg2k openjpeg) \
+ $(my_use mad) \
+ $(my_use png) \
+ $(my_use theora) \
+ $(my_use truetype ft) \
+ $(my_use vorbis) \
+ $(my_use xvid) \
+ --extra-cflags="${CFLAGS}" \
+ --cc="$(tc-getCC)" \
+ --libdir="/$(get_libdir)"
+}
+
+src_install() {
+ emake STRIP="true" DESTDIR="${D}" install
+ emake STRIP="true" DESTDIR="${D}" install-lib
+ dodoc AUTHORS BUGS Changelog README TODO INSTALLME
+ dodoc doc/*.txt
+ dohtml doc/*.html
+}
diff --git a/media-video/gpac/gpac-9999.ebuild b/media-video/gpac/gpac-9999.ebuild
new file mode 100644
index 000000000000..d2209c42a53b
--- /dev/null
+++ b/media-video/gpac/gpac-9999.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+if [[ ${PV} == *9999 ]] ; then
+ SCM="subversion"
+ ESVN_REPO_URI="svn://svn.code.sf.net/p/gpac/code/trunk/gpac"
+ KEYWORDS=""
+else
+ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+fi
+
+inherit eutils flag-o-matic multilib toolchain-funcs ${SCM}
+
+DESCRIPTION="GPAC is an implementation of the MPEG-4 Systems standard developed from scratch in ANSI C"
+HOMEPAGE="http://gpac.wp.mines-telecom.fr/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="a52 aac alsa debug dvb ffmpeg ipv6 jack jpeg jpeg2k mad opengl oss png pulseaudio sdl ssl static-libs theora truetype vorbis xml xvid"
+
+S="${WORKDIR}"/${PN}
+
+RDEPEND="
+ a52? ( media-libs/a52dec )
+ aac? ( >=media-libs/faad2-2.0 )
+ alsa? ( media-libs/alsa-lib )
+ dvb? ( media-tv/linuxtv-dvb-apps )
+ ffmpeg? ( virtual/ffmpeg )
+ jack? ( media-sound/jack-audio-connection-kit )
+ jpeg? ( virtual/jpeg )
+ mad? ( >=media-libs/libmad-0.15.1b )
+ opengl? ( virtual/opengl media-libs/freeglut virtual/glu )
+ >=media-libs/libogg-1.1
+ png? ( >=media-libs/libpng-1.4 )
+ vorbis? ( >=media-libs/libvorbis-1.1 )
+ theora? ( media-libs/libtheora )
+ truetype? ( >=media-libs/freetype-2.1.4 )
+ xml? ( >=dev-libs/libxml2-2.6.0 )
+ xvid? ( >=media-libs/xvid-1.0.1 )
+ sdl? ( media-libs/libsdl )
+ jpeg2k? ( media-libs/openjpeg:0 )
+ ssl? ( dev-libs/openssl )
+ pulseaudio? ( media-sound/pulseaudio )
+ x11-libs/libXt
+ x11-libs/libX11
+ x11-libs/libXv
+ x11-libs/libXext"
+# disabled upstream, see applications/Makefile
+# wxwidgets? ( =x11-libs/wxGTK-2.8* )
+
+DEPEND="${RDEPEND}"
+
+my_use() {
+ local flag="$1" pflag="${2:-$1}"
+ if use ${flag}; then
+ echo "--use-${pflag}=system"
+ else
+ echo "--use-${pflag}=no"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/110_all_implicitdecls.patch \
+ "${FILESDIR}"/${PN}-0.5.1-build-fixes.patch
+ sed -i -e "s:\(--disable-.*\)=\*):\1):" configure || die
+}
+
+src_configure() {
+ tc-export CC CXX AR RANLIB
+
+ econf \
+ --enable-svg \
+ --enable-pic \
+ --disable-amr \
+ --use-js=no \
+ --use-ogg=system \
+ $(use_enable alsa) \
+ $(use_enable debug) \
+ $(use_enable ipv6) \
+ $(use_enable jack jack yes) \
+ $(use_enable opengl) \
+ $(use_enable oss oss-audio) \
+ $(use_enable pulseaudio pulseaudio yes) \
+ $(use_enable sdl) \
+ $(use_enable ssl) \
+ $(use_enable static-libs static-lib) \
+ --disable-wx \
+ $(my_use a52) \
+ $(my_use aac faad) \
+ $(my_use dvb dvbx) \
+ $(my_use ffmpeg) \
+ $(my_use jpeg) \
+ $(my_use jpeg2k openjpeg) \
+ $(my_use mad) \
+ $(my_use png) \
+ $(my_use theora) \
+ $(my_use truetype ft) \
+ $(my_use vorbis) \
+ $(my_use xvid) \
+ --extra-cflags="${CFLAGS}" \
+ --cc="$(tc-getCC)" \
+ --libdir="/$(get_libdir)"
+}
+
+src_install() {
+ emake STRIP="true" DESTDIR="${D}" install
+ emake STRIP="true" DESTDIR="${D}" install-lib
+ dodoc AUTHORS BUGS Changelog README TODO INSTALLME
+ dodoc doc/*.txt
+ dohtml doc/*.html
+}
diff --git a/media-video/gpac/metadata.xml b/media-video/gpac/metadata.xml
new file mode 100644
index 000000000000..57a763019a92
--- /dev/null
+++ b/media-video/gpac/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>video</herd>
+ <maintainer>
+ <email>media-video@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">gpac</remote-id>
+ </upstream>
+</pkgmetadata>