commit b413a74418255ded1c8f4c6b45002d03372b0179
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Wed Aug 23 14:53:36 2017 -0400
Another player has entered the game: aarch64!
chromium-60.0.3112.101-fix-ffmpeg-aarch64.patch | 12 +++++++++++
chromium.spec | 28 ++++++++++++++++++++-----
2 files changed, 35 insertions(+), 5 deletions(-)
---
diff --git a/chromium-60.0.3112.101-fix-ffmpeg-aarch64.patch
b/chromium-60.0.3112.101-fix-ffmpeg-aarch64.patch
new file mode 100644
index 0000000..a39e044
--- /dev/null
+++ b/chromium-60.0.3112.101-fix-ffmpeg-aarch64.patch
@@ -0,0 +1,12 @@
+diff -up chromium-60.0.3112.101/third_party/ffmpeg/ffmpeg_generated.gni.aarch64
chromium-60.0.3112.101/third_party/ffmpeg/ffmpeg_generated.gni
+--- chromium-60.0.3112.101/third_party/ffmpeg/ffmpeg_generated.gni.aarch64 2017-08-23
14:46:37.305832399 -0400
++++ chromium-60.0.3112.101/third_party/ffmpeg/ffmpeg_generated.gni 2017-08-23
14:47:06.217148864 -0400
+@@ -539,7 +539,7 @@ if (is_linux && current_cpu == "arm64")
+ ]
+ }
+
+-if ((is_android && current_cpu == "arm64" && ffmpeg_branding
== "Chrome") || (is_linux && current_cpu == "arm64" &&
ffmpeg_branding == "Chrome") || (is_linux && current_cpu ==
"arm64" && ffmpeg_branding == "ChromeOS")) {
++if ((is_android && current_cpu == "arm64" && ffmpeg_branding
== "Chrome") || (is_linux && current_cpu == "arm64" &&
ffmpeg_branding == "Chrome") || (is_linux && current_cpu ==
"arm64" && ffmpeg_branding == "ChromeOS") || (is_linux
&& current_cpu == "arm64" && ffmpeg_branding ==
"Chromium")) {
+ ffmpeg_c_sources += [
+ "libavcodec/aarch64/mpegaudiodsp_init.c",
+ ]
diff --git a/chromium.spec b/chromium.spec
index 2c2e466..b058c6d 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -202,6 +202,8 @@ Patch46: chromium-60.0.3112.90-init-list-hack.patch
Patch47: chromium-60.0.3112.90-vulkan-force-c99.patch
#
https://chromium.googlesource.com/chromium/src/+/9c77470ff34bac937ceb765a...
Patch48: chromium-60.0.3112.101-camfix.patch
+# Fix mp3 for aarch64
+Patch49: chromium-60.0.3112.101-fix-ffmpeg-aarch64.patch
### Chromium Tests Patches ###
Patch100: chromium-46.0.2490.86-use_system_opus.patch
@@ -411,7 +413,7 @@ Provides: chromium-libs = %{version}-%{release}
Obsoletes: chromium-libs <= %{version}-%{release}
%endif
-ExclusiveArch: x86_64 i686
+ExclusiveArch: x86_64 i686 aarch64
# Bundled bits (I'm sure I've missed some)
Provides: bundled(angle) = 2422
@@ -623,6 +625,7 @@ udev.
# Do not apply mp3 change
%else
%patch34 -p1 -b .mp3
+%patch49 -p1 -b .aarch64
%endif
%patch36 -p1 -b .revert
%patch37 -p1 -b .ffmpeg-stdatomic
@@ -751,7 +754,7 @@ popd
# Core defines are flags that are true for both the browser and headless.
CHROMIUM_CORE_GN_DEFINES=""
CHROMIUM_CORE_GN_DEFINES+=' is_debug=false'
-%ifarch x86_64
+%ifarch x86_64 aarch64
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="lib64"'
%endif
CHROMIUM_CORE_GN_DEFINES+=' google_api_key="%{api_key}"
google_default_client_id="%{default_client_id}"
google_default_client_secret="%{default_client_secret}"'
@@ -762,6 +765,9 @@ CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="ChromeOS"
proprietary_codecs=true'
CHROMIUM_CORE_GN_DEFINES+=' ffmpeg_branding="Chromium"
proprietary_codecs=false'
%endif
CHROMIUM_CORE_GN_DEFINES+=' treat_warnings_as_errors=false'
+%ifarch aarch64
+CHROMIUM_CORE_GN_DEFINES+=' target_cpu="arm64"'
+%endif
export CHROMIUM_CORE_GN_DEFINES
CHROMIUM_BROWSER_GN_DEFINES=""
@@ -1005,6 +1011,18 @@ build/linux/unbundle/replace_gn_files.py --system-libraries \
yasm \
zlib
+# fix arm gcc
+sed -i 's|arm-linux-gnueabihf-|arm-linux-gnu-|g' build/toolchain/linux/BUILD.gn
+
+%ifarch aarch64
+# We don't need to cross compile while building on an aarch64 system.
+sed -i 's|aarch64-linux-gnu-||g' build/toolchain/linux/BUILD.gn
+
+# Correct the ninja file to check for aarch64, not just x86.
+sed -i '/${LONG_BIT}/ a \ aarch64)\' ../depot_tools/ninja
+sed -i '/aarch64)/ a \ exec "/usr/bin/ninja-build"
"$@";;\' ../depot_tools/ninja
+%endif
+
tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "$CHROMIUM_CORE_GN_DEFINES
$CHROMIUM_BROWSER_GN_DEFINES"
%{target}/gn gen --args="$CHROMIUM_CORE_GN_DEFINES
$CHROMIUM_BROWSER_GN_DEFINES" %{target}
@@ -1030,9 +1048,6 @@ sed '14i#define WIDEVINE_CDM_VERSION_STRING "Something
fresh"' -i "third_party/w
FILE=chrome/common/channel_info_posix.cc
sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"Fedora
Project"/' $FILE
-# fix arm gcc
-sed -i 's|arm-linux-gnueabihf-|arm-linux-gnu-|g' build/toolchain/linux/BUILD.gn
-
%build
%if %{?tests}
@@ -1845,6 +1860,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r
chrome-remote-deskt
%changelog
+* Wed Aug 23 2017 Tom Callaway <spot(a)fedoraproject.org> 60.0.3112.101-3
+- apply aarch64 fixes from Ryan Blakely <rblakely(a)redhat.com>
+
* Thu Aug 17 2017 Tom Callaway <spot(a)fedoraproject.org> 60.0.3112.101-2
- fix dep issue with chrome-remote-desktop on el7