[packages/chromium-browser: 1/7] up to 33.0.1750.117, disable system ffmpeg

glen glen at pld-linux.org
Tue Feb 25 18:09:33 CET 2014


commit a323900c0ef23142200423d61f5271e0e85430c2
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sun Feb 23 20:02:48 2014 +0200

    up to 33.0.1750.117, disable system ffmpeg

 chromium-browser.spec       |  44 ++++++----
 get-source.sh               |   2 +-
 gn.patch                    |  12 +++
 gnome3-volume-control.patch |   6 +-
 system-ffmpeg.patch         | 194 +++++++++++++++++++-------------------------
 5 files changed, 127 insertions(+), 131 deletions(-)
---
diff --git a/chromium-browser.spec b/chromium-browser.spec
index c87c1e4..f99051a 100644
--- a/chromium-browser.spec
+++ b/chromium-browser.spec
@@ -14,7 +14,7 @@
 %bcond_with		shared_libs		# with shared libs
 %bcond_with		sse2			# use SSE2 instructions
 %bcond_without	system_flac		# system flac
-%bcond_without	system_ffmpeg	# system ffmpeg instead of ffmpegsumo
+%bcond_with	system_ffmpeg	# system ffmpeg instead of ffmpegsumo
 %bcond_without	system_harfbuzz	# system harfbuzz
 %bcond_without	system_jsoncpp	# system jsoncpp
 %bcond_without	system_libexif	# system libexif
@@ -59,9 +59,9 @@
 # - http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites
 # - to look for new tarball, use update-source.sh script
 
-%define		branch		32.0.1700
-%define		basever		77
-%define		patchver	107
+%define		branch		33.0.1750
+%define		basever		117
+#define		patchver	107
 %define		gyp_rev	1014
 Summary:	A WebKit powered web browser
 Name:		chromium-browser
@@ -73,8 +73,8 @@ Version:	%{branch}.%{basever}
 Release:	1
 License:	BSD%{!?with_system_ffmpeg:, LGPL v2+ (ffmpeg)}
 Group:		X11/Applications/Networking
-Source0:	http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{branch}.%{basever}.tar.xz
-# Source0-md5:	80f2651040917887c8a7b42010c2ba6c
+Source0:	http://carme.pld-linux.org/~glen/chromium-browser/src/dev/%{name}-%{branch}.%{basever}.tar.gz
+# Source0-md5:	1b273c1a80983ca7679a7031855a9b41
 %if "%{?patchver}" != ""
 Patch0:		http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{version}.patch.xz
 # Patch0-md5:	82e3012b5510187907bba50dadbe7137
@@ -106,6 +106,7 @@ Patch28:	system-mesa.patch
 Patch30:	system-ply.patch
 Patch31:	system-jinja.patch
 Patch32:	remove_bundled_libraries-stale.patch
+Patch33:	gn.patch
 URL:		http://www.chromium.org/Home
 %{?with_gconf:BuildRequires:	GConf2-devel}
 %{?with_system_mesa:BuildRequires:	Mesa-libGL-devel >= 9.1}
@@ -222,6 +223,13 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # Usage: gyp_with BCOND_NAME [OPTION_NAME]
 %define		gyp_with() %{expand:%%{?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=1}%%{!?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=0}}
 
+%ifarch %{ix86}
+%define		target_arch ia32
+%endif
+%ifarch %{x8664}
+%define		target_arch x64
+%endif
+
 %if %{without debuginfo}
 %define		_enable_debug_packages	0
 %endif
@@ -295,14 +303,16 @@ ln -s %{SOURCE7} .
 %patch12 -p1
 %patch16 -p1
 %patch28 -p1
-%patch25 -p2
+%patch25 -p1
 %{?with_nacl:%patch18 -p1}
 %patch24 -p2
 %patch26 -p2
 %patch30 -p1
 %patch31 -p0
 %patch32 -p1
+%patch33 -p0
 
+exit 0
 sh -x clean-source.sh \
 	%{!?with_nacl:nacl=0} \
 	%{!?with_system_libvpx:libvpx=0} \
@@ -354,17 +364,19 @@ cd ../../../../..
 fi
 %endif
 
-flags="
-%ifarch %{ix86}
-	-Dtarget_arch=ia32 \
-	-Dpython_arch=ia32 \
-%endif
-%ifarch %{x8664}
-	-Dtarget_arch=x64 \
-	-Dpython_arch=x64 \
+%if %{without system_ffmpeg}
+# Re-configure bundled ffmpeg
+cd third_party/ffmpeg
+chromium/scripts/build_ffmpeg.sh linux %{target_arch} "$PWD" config-only
+chromium/scripts/copy_config.sh
+cd -
 %endif
+
+flags="
+	-Dtarget_arch=%{target_arch} \
+	-Dpython_arch=%{target_arch} \
 	-Dsystem_libdir=%{_lib} \
-	-Dpython_ver=2.7 \
+	-Dpython_ver=%{py_ver} \
 %if "%{cc_version}" >= "4.4.0" && "%{cc_version}" < "4.5.0"
 	-Dno_strict_aliasing=1 -Dgcc_version=44 \
 %endif
diff --git a/get-source.sh b/get-source.sh
index 5256e56..6168349 100755
--- a/get-source.sh
+++ b/get-source.sh
@@ -64,7 +64,7 @@ set -x
 
 	if [ "$CHANNEL" != "dev" ]; then
 		patch -p1 < $WORK_DIR/remove_bundled_libraries-stale.patch
-		sh -x $WORK_DIR/clean-source.sh emptydirs=1 v8=0 mesa=0 sqlite=0 libwebp=0
+#		sh -x $WORK_DIR/clean-source.sh emptydirs=1 v8=0 mesa=0 sqlite=0 libwebp=0
 		patch -p1 -R < $WORK_DIR/remove_bundled_libraries-stale.patch
 	fi
 
diff --git a/gn.patch b/gn.patch
new file mode 100644
index 0000000..5cb8c0e
--- /dev/null
+++ b/gn.patch
@@ -0,0 +1,12 @@
+--- build/gyp_chromium.orig	2013-12-11 03:07:03.941915587 +0000
++++ build/gyp_chromium	2013-12-11 03:07:29.812073301 +0000
+@@ -221,9 +221,6 @@
+ 
+   supplemental_includes = GetSupplementalFiles()
+ 
+-  if not RunGN(supplemental_includes):
+-    sys.exit(1)
+-
+   args.extend(
+       ['-I' + i for i in additional_include_files(supplemental_includes, args)])
+ 
diff --git a/gnome3-volume-control.patch b/gnome3-volume-control.patch
index e71c1a5..66e7927 100644
--- a/gnome3-volume-control.patch
+++ b/gnome3-volume-control.patch
@@ -1,6 +1,6 @@
---- chromium-browser-26.0.1410.12/src/media/audio/linux/audio_manager_linux.cc~	2013-02-21 12:02:26.000000000 +0200
-+++ chromium-browser-26.0.1410.12/src/media/audio/linux/audio_manager_linux.cc	2013-02-25 15:16:54.634665398 +0200
-@@ -92,7 +92,8 @@
+--- chromium-browser-33.0.1750.117/media/audio/alsa/audio_manager_alsa.cc~	2014-02-20 22:27:58.000000000 +0200
++++ chromium-browser-33.0.1750.117/media/audio/alsa/audio_manager_alsa.cc	2014-02-23 10:24:29.610111342 +0200
+@@ -53,7 +53,8 @@
    CommandLine command_line(CommandLine::NO_PROGRAM);
    switch (base::nix::GetDesktopEnvironment(env.get())) {
      case base::nix::DESKTOP_ENVIRONMENT_GNOME:
diff --git a/system-ffmpeg.patch b/system-ffmpeg.patch
index f3c2b96..da7ea1c 100644
--- a/system-ffmpeg.patch
+++ b/system-ffmpeg.patch
@@ -1,115 +1,87 @@
---- a/media/filters/ffmpeg_glue.h
-+++ b/media/filters/ffmpeg_glue.h
-@@ -28,9 +28,9 @@
- #include "base/basictypes.h"
- #include "base/memory/scoped_ptr.h"
- #include "media/base/media_export.h"
-+#include "media/ffmpeg/ffmpeg_common.h"
+Fix HOST_OS detection in build_ffpeg.sh
+https://bugs.gentoo.org/show_bug.cgi?id=491466
+
+Enable gold linker
+https://bugs.gentoo.org/show_bug.cgi?id=491850
+
+--- a/third_party/ffmpeg/chromium/scripts/build_ffmpeg.sh
++++ b/third_party/ffmpeg/chromium/scripts/build_ffmpeg.sh
+@@ -75,7 +75,7 @@
+ LIBAVUTIL_VERSION_MAJOR=52
  
- struct AVFormatContext;
--struct AVIOContext;
+ case $(uname -sm) in
+-  Linux\ i386)
++  Linux\ i?86)
+     HOST_OS=linux
+     HOST_ARCH=ia32
+     JOBS=$(grep processor /proc/cpuinfo | wc -l)
+@@ -85,6 +85,11 @@
+     HOST_ARCH=x64
+     JOBS=$(grep processor /proc/cpuinfo | wc -l)
+     ;;
++  Linux\ arm*)
++    HOST_OS=linux
++    HOST_ARCH=arm
++    JOBS=$(grep processor /proc/cpuinfo | wc -l)
++    ;;
+   Darwin\ i386)
+     HOST_OS=mac
+     HOST_ARCH=ia32
+@@ -117,14 +122,6 @@
+ echo "LD          = $(ld --version | head -n1)"
+ echo
  
- namespace media {
+-# As of this writing gold 2.20.1-system.20100303 is unable to link FFmpeg.
+-if ld --version | grep -q gold; then
+-  echo "gold is unable to link FFmpeg"
+-  echo
+-  echo "Switch /usr/bin/ld to the regular binutils ld and try again"
+-  exit 1
+-fi
+-
+ # We want to use a sufficiently recent version of yasm on Windows.
+ if [[ "$TARGET_OS" == "win" || "$TARGET_OS" == "win-vs2013" ]]; then
+   if !(which yasm 2>&1 > /dev/null); then
+@@ -292,14 +289,16 @@
+     add_flag_common --extra-cflags=-m32
+     add_flag_common --extra-ldflags=-m32
+   elif [ "$TARGET_ARCH" = "arm" ]; then
+-    # This if-statement essentially is for chroot tegra2.
+-    add_flag_common --enable-cross-compile
++    if [ "$HOST_ARCH" != "arm" ]; then
++      # This if-statement essentially is for chroot tegra2.
++      add_flag_common --enable-cross-compile
  
---- a/media/ffmpeg/ffmpeg_common.cc.orig	2013-01-17 00:07:51.635057013 +0000
-+++ b/media/ffmpeg/ffmpeg_common.cc	2013-01-17 00:15:50.867406811 +0000
-@@ -85,8 +85,10 @@
-       return kCodecGSM_MS;
-     case AV_CODEC_ID_PCM_MULAW:
-       return kCodecPCM_MULAW;
-+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_OPUS
-     case AV_CODEC_ID_OPUS:
-       return kCodecOpus;
-+#endif
-     default:
-       DVLOG(1) << "Unknown audio CodecID: " << codec_id;
-   }
-@@ -130,8 +132,10 @@
-       return AV_CODEC_ID_GSM_MS;
-     case kCodecPCM_MULAW:
-       return AV_CODEC_ID_PCM_MULAW;
-+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_OPUS
-     case kCodecOpus:
-       return AV_CODEC_ID_OPUS;
-+#endif
-     default:
-       DVLOG(1) << "Unknown AudioCodec: " << audio_codec;
-   }
-@@ -149,8 +153,10 @@
-       return kCodecMPEG4;
-     case AV_CODEC_ID_VP8:
-       return kCodecVP8;
-+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_VP9
-     case AV_CODEC_ID_VP9:
-       return kCodecVP9;
-+#endif
-     default:
-       DVLOG(1) << "Unknown video CodecID: " << codec_id;
-   }
-@@ -167,8 +173,10 @@
-       return AV_CODEC_ID_MPEG4;
-     case kCodecVP8:
-       return AV_CODEC_ID_VP8;
-+#ifndef CHROMIUM_OMIT_AV_CODEC_ID_VP9
-     case kCodecVP9:
-       return AV_CODEC_ID_VP9;
-+#endif
-     default:
-       DVLOG(1) << "Unknown VideoCodec: " << video_codec;
-   }
---- a/media/filters/ffmpeg_demuxer.cc.orig	2013-05-09 18:04:25.089276403 +0000
-+++ b/media/filters/ffmpeg_demuxer.cc	2013-05-09 18:05:16.289599070 +0000
-@@ -111,12 +111,15 @@
-   // Get side data if any. For now, the only type of side_data is VP8 Alpha. We
-   // keep this generic so that other side_data types in the future can be
-   // handled the same way as well.
--  av_packet_split_side_data(packet.get());
-   int side_data_size = 0;
--  uint8* side_data = av_packet_get_side_data(
-+  uint8* side_data = NULL;
-+#ifndef CHROMIUM_OMIT_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL
-+  av_packet_split_side_data(packet.get());
-+  side_data = av_packet_get_side_data(
-       packet.get(),
-       AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,
-       &side_data_size);
-+#endif
+-    # Location is for CrOS chroot. If you want to use this, enter chroot
+-    # and copy ffmpeg to a location that is reachable.
+-    add_flag_common --cross-prefix=/usr/bin/armv7a-cros-linux-gnueabi-
+-    add_flag_common --target-os=linux
+-    add_flag_common --arch=arm
++      # Location is for CrOS chroot. If you want to use this, enter chroot
++      # and copy ffmpeg to a location that is reachable.
++      add_flag_common --cross-prefix=/usr/bin/armv7a-cros-linux-gnueabi-
++      add_flag_common --target-os=linux
++      add_flag_common --arch=arm
++    fi
  
-   // If a packet is returned by FFmpeg's av_parser_parse2() the packet will
-   // reference inner memory of FFmpeg.  As such we should transfer the packet
---- a/media/base/media_posix.cc.orig	2013-05-24 20:59:12.963046035 +0000
-+++ b/media/base/media_posix.cc	2013-05-24 20:59:50.593275882 +0000
-@@ -11,12 +11,15 @@
- #include "base/path_service.h"
- #include "base/strings/stringize_macros.h"
- #include "media/ffmpeg/ffmpeg_common.h"
-+
-+#if !defined(USE_SYSTEM_FFMPEG)
- #include "third_party/ffmpeg/ffmpeg_stubs.h"
- 
- using third_party_ffmpeg::kNumStubModules;
- using third_party_ffmpeg::kModuleFfmpegsumo;
- using third_party_ffmpeg::InitializeStubs;
- using third_party_ffmpeg::StubPathMap;
-+#endif
- 
- namespace media {
- namespace internal {
-@@ -46,6 +49,9 @@
- #endif
- 
- bool InitializeMediaLibraryInternal(const base::FilePath& module_dir) {
-+#if defined(USE_SYSTEM_FFMPEG)
-+  return true;
-+#else
-   StubPathMap paths;
- 
-   // First try to initialize with Chrome's sumo library.
-@@ -61,6 +67,7 @@
-       FILE_PATH_LITERAL(DSO_NAME("avformat", AVFORMAT_VERSION))).value());
- 
-   return InitializeStubs(paths);
-+#endif
- }
- 
- }  // namespace internal
+     # TODO(ihf): ARM compile flags are tricky. The final options
+     # overriding everything live in chroot /build/*/etc/make.conf
+@@ -322,11 +321,13 @@
+     # NOTE: softfp/hardfp selected at gyp time.
+     add_flag_common --extra-cflags=-mfloat-abi=hard
+   elif [ "$TARGET_ARCH" = "arm-neon" ]; then
+-    # This if-statement is for chroot arm-generic.
+-    add_flag_common --enable-cross-compile
+-    add_flag_common --cross-prefix=/usr/bin/armv7a-cros-linux-gnueabi-
+-    add_flag_common --target-os=linux
+-    add_flag_common --arch=arm
++    if [ "$HOST_ARCH" != "arm" ]; then
++      # This if-statement is for chroot arm-generic.
++      add_flag_common --enable-cross-compile
++      add_flag_common --cross-prefix=/usr/bin/armv7a-cros-linux-gnueabi-
++      add_flag_common --target-os=linux
++      add_flag_common --arch=arm
++    fi
+     add_flag_common --enable-armv6
+     add_flag_common --enable-armv6t2
+     add_flag_common --enable-vfp
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/chromium-browser.git/commitdiff/71cdf0ef745837c5aedbd244f4c8e11884335e96



More information about the pld-cvs-commit mailing list