- refresh patches for aarch64

- add workaround for build error on aarch64 (highway)
    - update chromium-latest.py (removing unused sttuffs)
    - add bindgen for el8 build
    - add upstream patch to fix build dep in crabbyavif
i9e
Arkady L. Shane 3 months ago
parent 91b71b074c
commit 64ad7de623
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

@ -7,3 +7,4 @@ dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz
a2a9663fa5c46439dafbc1b0f23825b2a8c68acf SOURCES/msspi-2e626e5a5605cc4c03fa4bfc0145e459864e897a.tar.xz
6fa9320397a6393a77152807c6de0306837dcc5f SOURCES/Chromium-Gost-39c440395462a753a3f064f7e28fdc2bc3173bf2.tar.xz
4543172087b8a3971b37ddaa4cf1fc91a575bfae SOURCES/Chromium-Gost-3224c62bcc360b80de98da20358cbbe16d773c10.tar.xz
f8e140b06b9255dc5b1e9bbfa80d299570b2fcc2 SOURCES/v0.69.4.tar.gz

@ -1,15 +0,0 @@
diff -up chromium-126.0.6478.55/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.me chromium-126.0.6478.55/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h
--- chromium-126.0.6478.55/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.me 2024-06-12 13:09:47.539620293 -0400
+++ chromium-126.0.6478.55/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h 2024-06-12 13:12:10.570739701 -0400
@@ -10,9 +10,11 @@
#include "partition_alloc/build_config.h"
#include "partition_alloc/partition_alloc_buildflags.h"
+#if 0
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
#define HAS_HW_CAPS
#endif
+#endif
#if defined(ARCH_CPU_ARM64) && defined(HAS_HW_CAPS)
#include <asm/hwcap.h>

@ -0,0 +1,38 @@
commit 89dcd2d419755421290f85e32617acabdd81cac1
Author: lauren n. liberda <lauren@selfisekai.rocks>
Date: Thu Jun 20 18:55:57 2024 +0000
unbundle: add missing dav1d targets
fixes "ERROR Unresolved dependencies.
//third_party/crabbyavif:crabbyavif_dav1d_bindings(//build/toolchain/linux/unbundle:default)
needs //third_party/dav1d:dav1d_config(//build/toolchain/linux/unbundle:default)
//third_party/crabbyavif:crabbyavif_dav1d_bindings(//build/toolchain/linux/unbundle:default)
needs //third_party/dav1d:dav1d_headers(//build/toolchain/linux/unbundle:default)"
Change-Id: I85442e5fb67a804985354570fba453cc619c83d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5642761
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1317534}
diff --git a/build/linux/unbundle/dav1d.gn b/build/linux/unbundle/dav1d.gn
index 3d65158bc6144..a6d005a6622e3 100644
--- a/build/linux/unbundle/dav1d.gn
+++ b/build/linux/unbundle/dav1d.gn
@@ -21,3 +21,14 @@ source_set("dav1d") {
deps = [ ":dav1d_shim" ]
public_configs = [ ":system_dav1d" ]
}
+
+group("dav1d_headers") {
+ public_deps = [ ":dav1d_shim" ]
+}
+
+config("dav1d_config") {
+ configs = [
+ ":system_dav1d",
+ ":dav1d_shim_config",
+ ]
+}

@ -0,0 +1,15 @@
diff -up chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.me chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h
--- chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h.me 2024-07-25 23:58:19.751616508 +0200
+++ chromium-127.0.6533.72/base/allocator/partition_allocator/src/partition_alloc/aarch64_support.h 2024-07-26 00:01:46.391800969 +0200
@@ -10,9 +10,11 @@
#include "partition_alloc/build_config.h"
#include "partition_alloc/partition_alloc_buildflags.h"
+#if 0
#if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_LINUX)
#define HAS_HW_CAPS
#endif
+#endif
#if PA_BUILDFLAG(PA_ARCH_CPU_ARM64) && defined(HAS_HW_CAPS)
#include <asm/hwcap.h>

@ -1,3 +1,15 @@
diff -up chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me chromium-127.0.6533.72/build/rust/rust_bindgen.gni
--- chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me 2024-07-25 16:11:18.754551595 +0200
+++ chromium-127.0.6533.72/build/rust/rust_bindgen.gni 2024-07-25 16:11:33.997837660 +0200
@@ -22,7 +22,7 @@ _libclang_path = rust_bindgen_root
if (host_os == "win") {
_libclang_path += "/bin"
} else {
- _libclang_path += "/lib"
+ _libclang_path += "/lib64"
}
# Template to build Rust/C bindings with bindgen.
diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
--- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib 2024-01-10 16:43:01.000000000 +0100
+++ chromium-121.0.6167.57/build/config/clang/BUILD.gn 2024-01-20 19:51:38.481992799 +0100

@ -315,7 +315,11 @@ if __name__ == '__main__':
nacl_versions(chromium_version)
if (args.cleansources):
junk_dirs = ['build/linux/debian_bullseye_amd64-sysroot', 'build/linux/debian_bullseye_i386-sysroot']
junk_dirs = ['build/linux/debian_bullseye_amd64-sysroot',
'build/linux/debian_bullseye_i386-sysroot',
'third_party/node/linux/node-linux-x64',
'third_party/rust-toolchain',
'third_party/rust-src']
# First, the dirs:
for directory in junk_dirs:

@ -226,8 +226,22 @@
%global bundlelibaom 1
%global bundlelibavif 1
%global bundlesnappy 1
%global bundlezstd 1
%global bundleicu 1
%global bundledav1d 1
%global bundlebrotli 1
%global bundlelibwebp 1
%global bundlecrc32c 1
%global bundleharfbuzz 1
%global bundlelibpng 1
%global bundlelibjpeg 1
%global bundlefreetype 1
%global bundlelibdrm 1
%global bundlefontconfig 1
%global bundleffmpegfree 1
%global bundlelibopenjpeg2 1
%global bundlelibtiff 1
%global bundlelibxml 1
%global bundlepylibs 0
%global bundlelibxslt 0
%global bundleflac 0
@ -240,7 +254,11 @@
%global bundleopus 0
%global bundlelcms2 0
# RHEL 7.9 dropped minizip.
# workaround for build error on aarch64
%ifarch aarch64
%global bundlehighway 1
%endif
# enable bundleminizip for Fedora > 39 due to switch to minizip-ng
# which breaks the build
%global bundleminizip 0
@ -251,43 +269,21 @@
# Always build with internal ffmpeg
%global bundleffmpegfree 0
%if 0%{?rhel} == 8
%global bundleharfbuzz 1
%global bundlelibwebp 1
%global bundlelibpng 1
%global bundlelibjpeg 1
%global bundlefreetype 1
%global bundlelibdrm 1
%global bundlefontconfig 1
%global bundlebrotli 1
%global bundlelibopenjpeg2 1
%global bundlelibtiff 1
%global bundlecrc32c 1
%global bundlelibxml 1
%global bundledav1d 1
%else
%if 0%{?fedora} > 38 || 0%{?rhel} > 9
%if 0%{?fedora} >= 39 || 0%{?rhel} > 9
%global bundlebrotli 0
%global bundlelibwebp 0
%else
%global bundlebrotli 1
%global bundlelibwebp 1
%endif
%global bundlezstd 0
%global bundlecrc32c 0
%global bundleharfbuzz 0
%global bundlefontconfig 0
%global bundledav1d 0
%global bundlelibpng 0
%global bundlelibjpeg 0
%global bundlelibdrm 0
%global bundlefontconfig 0
%global bundleffmpegfree 0
%global bundlefreetype 0
%global bundlelibopenjpeg2 0
%global bundlelibtiff 0
%if 0%{?rhel} == 9
%global bundlecrc32c 1
%global bundleharfbuzz 1
%else
%global bundlecrc32c 0
%global bundleharfbuzz 0
%endif
%global bundlelibxml 0
%endif
@ -411,7 +407,7 @@ Patch150: chromium-124-qt6.patch
# disable memory tagging (epel8 on aarch64) due to new feature IFUNC-Resolver
# it is not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found
Patch305: chromium-124-el8-arm64-memory_tagging.patch
Patch306: chromium-126-el8-ifunc-header.patch
Patch306: chromium-127-el8-ifunc-header.patch
# build error: unknown architectural extension on aarch64 (epel8)
Patch307: chromium-124-el8-libdav1d-aarch64.patch
# 64kpage support on aarch64 (el8)
@ -434,7 +430,7 @@ Patch354: chromium-126-split-threshold-for-reg-with-hint.patch
Patch355: chromium-126-system-libstdc++.patch
# set clang_lib path
Patch358: chromium-124-rust-clang_lib.patch
Patch358: chromium-127-rust-clanglib.patch
# PowerPC64 LE support
# Timothy Pearson's patchset
@ -514,6 +510,7 @@ Patch501: chromium-127-ninja-1.21.1-deps-part0.patch
Patch502: chromium-127-ninja-1.21.1-deps-part1.patch
Patch503: chromium-127-ninja-1.21.1-deps-part2.patch
Patch504: chromium-127-ninja-1.21.1-deps-part3.patch
Patch505: chromium-127-crabbyavif.patch
# Old Yandex patch
Patch600: 0001-Yandex-as-default-search-engine.patch
@ -557,6 +554,9 @@ Source14: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-%{esbuild_ve
Source15: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuild_version}.tgz
%endif
# bindgen for epel8
Source16: https://github.com/rust-lang/rust-bindgen/archive/refs/tags/v0.69.4.tar.gz
# esbuild binary from fedora
%if 0%{?fedora}
BuildRequires: golang-github-evanw-esbuild
@ -594,6 +594,17 @@ BuildRequires: binutils
BuildRequires: rustc
%if 0%{?rhel} == 8
# need to build bindgen on el8
BuildRequires: cargo
%else
BuildRequires: bindgen-cli
%endif
%if ! %{bundlezstd}
BuildRequires: libzstd-devel
%endif
# We do not need to do this with internal build of libffmpeg.so
# build with system ffmpeg-free
#%%if ! %%{bundleffmpegfree}
@ -1325,6 +1336,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P504 -p1 -b .ninja-1.21.1-deps
%endif
%patch -P505 -p1 -b .crabbyavif
%patch -P601 -p1 -b .Added-Russian-description-and-summary-for-gnome-soft
%if ! %{with gost}
%patch -P602 -p1 -b .Yandex-as-default-search-engine
@ -1408,6 +1421,18 @@ cp -a third_party/dav1d/version/version.h third_party/dav1d/libdav1d/include/dav
%endif
%build
# build bindgen on el8
%if 0%{?rhel} == 8
%__rpmuncompress -x %{SOURCE16}
pushd rust-bindgen-0.69.4
cargo build
mkdir -p ..%{_bindir} ..%{_libdir}
cp target/debug/bindgen ..%{_bindir}
pushd ..%{_libdir}
ln -fs %{_libdir}/libclang* .
popd
popd
%endif
# reduce warnings
%if %{clang}
@ -1467,6 +1492,12 @@ export RUSTC_BOOTSTRAP=1
# set rustc version
rustc_version="$(rustc --version)"
# set rust bindgen root
%if 0%{?rhel} == 8
rust_bindgen_root="$PWD%{_prefix}"
%else
rust_bindgen_root="%{_prefix}"
%endif
# set clang version
clang_version="$(clang --version | sed -n 's/clang version //p' | cut -d. -f1)"
@ -1516,6 +1547,7 @@ CHROMIUM_CORE_GN_DEFINES+=' use_lld=false'
# enable system rust
CHROMIUM_CORE_GN_DEFINES+=' rust_sysroot_absolute="%{_prefix}"'
CHROMIUM_CORE_GN_DEFINES+=" rust_bindgen_root=\"$rust_bindgen_root\""
CHROMIUM_CORE_GN_DEFINES+=" rustc_version=\"$rustc_version\""
CHROMIUM_CORE_GN_DEFINES+=' use_sysroot=false'
@ -1715,6 +1747,9 @@ system_libs=()
%if ! %{bundleflac}
system_libs+=(flac)
%endif
%if ! %{bundlezstd}
system_libs+=(zstd)
%endif
%if 0%{?noopenh264}
system_libs+=(openh264)
%endif

Loading…
Cancel
Save