media-video/ffmpeg: Revert chromium.patch change and add -r1 for 9999
authorJames Le Cuirot <chewi@gentoo.org>
Thu, 18 Jan 2018 22:00:00 +0000 (22:00 +0000)
committerJames Le Cuirot <chewi@gentoo.org>
Thu, 18 Jan 2018 22:01:05 +0000 (22:01 +0000)
My change to fix 9999 in 31be70b4de8dc1f3627765a4a35a4b5cf90a170f
broke all versions when ffmpeg is not already installed. I have
reverted this change for earlier versions and introduced a new patch
with a different approach for 9999.

Closes: https://bugs.gentoo.org/643750
Package-Manager: Portage-2.3.19, Repoman-2.3.6

media-video/ffmpeg/ffmpeg-9999.ebuild
media-video/ffmpeg/files/chromium-r1.patch [new file with mode: 0644]
media-video/ffmpeg/files/chromium.patch

index f78260745ad0961d00560a081dc8639086b32643..bae322e21e7687326c42c4e38696f1a27ecf6d18 100644 (file)
@@ -291,7 +291,7 @@ RESTRICT="
 S=${WORKDIR}/${P/_/-}
 
 PATCHES=(
-       "${FILESDIR}"/chromium.patch
+       "${FILESDIR}"/chromium-r1.patch
 )
 
 MULTILIB_WRAPPED_HEADERS=(
diff --git a/media-video/ffmpeg/files/chromium-r1.patch b/media-video/ffmpeg/files/chromium-r1.patch
new file mode 100644 (file)
index 0000000..cfe06a7
--- /dev/null
@@ -0,0 +1,36 @@
+Allow libffmpeg to be built for Chromium-based browsers
+https://patchwork.ffmpeg.org/patch/4500/
+
+NOTE: This patch lacks the Makefile include line. We append it
+manually instead to make patching across different versions easier.
+
+diff --git a/ffbuild/libffmpeg.mak b/ffbuild/libffmpeg.mak
+new file mode 100644
+index 0000000..992cf3c
+--- /dev/null
++++ b/ffbuild/libffmpeg.mak
+@@ -0,0 +1,21 @@
++LIBFFMPEG = $(SLIBPREF)ffmpeg$(SLIBSUF)
++LIBFFMPEG_LINK = $(LD) -shared -Wl,-soname,$(LIBFFMPEG) -Wl,-Bsymbolic -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--gc-sections $(LDFLAGS) $(LDLIBFLAGS) -o $(LIBFFMPEG)
++
++libffmpeg-: libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF) libavutil/$(LIBPREF)avutil$(LIBSUF) libswresample/$(LIBPREF)swresample$(LIBSUF)
++      $(LIBFFMPEG_LINK) -Wl,--whole-archive $^ -Wl,--no-whole-archive $(EXTRALIBS-avcodec) $(EXTRALIBS-avformat) $(EXTRALIBS-avutil) $(EXTRALIBS-swresample)
++
++libffmpeg-yes: libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF) libavutil/$(SLIBPREF)avutil$(SLIBSUF)
++      $(LIBFFMPEG_LINK) -Wl,--no-as-needed -lavcodec -lavformat -lavutil
++
++$(LIBFFMPEG): libffmpeg-$(CONFIG_SHARED)
++libffmpeg: $(LIBFFMPEG)
++
++install-libffmpeg: $(LIBFFMPEG)
++      $(Q)mkdir -p "$(SHLIBDIR)/chromium"
++      $(INSTALL) -m 755 $< "$(SHLIBDIR)/chromium/$<"
++      $(STRIP) "$(SHLIBDIR)/chromium/$<"
++
++uninstall-libffmpeg:
++      $(RM) "$(SHLIBDIR)/chromium/$(LIBFFMPEG)"
++
++.PHONY: libffmpeg libffmpeg-* install-libffmpeg
+-- 
+2.13.1
+
index 307f31f4a3a5b3f0ef1f525a994f9cd883b228e9..60a3e5d6cb996b65c6640c783c704fd9c71bf644 100644 (file)
@@ -14,7 +14,7 @@ index 0000000..992cf3c
 +LIBFFMPEG_LINK = $(LD) -shared -Wl,-soname,$(LIBFFMPEG) -Wl,-Bsymbolic -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--gc-sections $(LDFLAGS) $(LDLIBFLAGS) -o $(LIBFFMPEG)
 +
 +libffmpeg-: libavcodec/$(LIBPREF)avcodec$(LIBSUF) libavformat/$(LIBPREF)avformat$(LIBSUF) libavutil/$(LIBPREF)avutil$(LIBSUF) libswresample/$(LIBPREF)swresample$(LIBSUF)
-+      $(LIBFFMPEG_LINK) -Wl,--whole-archive $^ -Wl,--no-whole-archive $(FF_EXTRALIBS)
++      $(LIBFFMPEG_LINK) -Wl,--whole-archive $^ -Wl,--no-whole-archive $(FFEXTRALIBS)
 +
 +libffmpeg-yes: libavcodec/$(SLIBPREF)avcodec$(SLIBSUF) libavformat/$(SLIBPREF)avformat$(SLIBSUF) libavutil/$(SLIBPREF)avutil$(SLIBSUF)
 +      $(LIBFFMPEG_LINK) -Wl,--no-as-needed -lavcodec -lavformat -lavutil