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/files
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/files')
-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
9 files changed, 595 insertions, 0 deletions
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)