Compare commits
6 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
80bcafdb84 | ||
|
|
0d42519a6b | ||
|
|
0fdb33886e | ||
|
|
37b6f9161b | ||
|
|
2edf2df0e9 | ||
|
|
315fb3751f |
4 changed files with 27992 additions and 2 deletions
52
prepare-ppc64.sh
Executable file
52
prepare-ppc64.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
#! /bin/bash
|
||||
#
|
||||
# Prepare ppc64le patchset for qtwebengine from Chromium patches using
|
||||
# - https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/ or
|
||||
# - https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches
|
||||
#
|
||||
# Usage
|
||||
# - check the base Chromium release in CHROMIUM_VERSION
|
||||
# - get the patches from the URLs above
|
||||
# - run "prepare-ppc64.sh <path_to_chromium_patches>"
|
||||
#
|
||||
|
||||
patch_cleanup ()
|
||||
{
|
||||
file=$1
|
||||
patch=$2
|
||||
|
||||
[ -f $file ] || { echo "File $file doesn't exist"; exit 1; }
|
||||
|
||||
remove=$(echo $patch | sed -e 's@\/@\\\/@g')
|
||||
|
||||
echo "Removing changes for $patch from $file ..."
|
||||
|
||||
sed -i -e "/Index: chromium-[0-9\.]*\/${remove}/,/^Index:/ {
|
||||
/Index: chromium-[0-9\.]*\/${remove}/d;
|
||||
/^[-@=+ ]/d;
|
||||
/^$/d;
|
||||
}" $file
|
||||
|
||||
}
|
||||
|
||||
dir=$1
|
||||
|
||||
[ -d $dir/ppc64le ] || { echo "Path $dir/ppc64le doesn't exist"; exit 1; }
|
||||
|
||||
# remove patches for files not included in the bundled chromium
|
||||
patch_cleanup $dir/ppc64le/third_party/0001-Add-PPC64-support-for-boringssl.patch third_party/boringssl/src/crypto/test/abi_test.h
|
||||
patch_cleanup $dir/ppc64le/crashpad/0001-Implement-support-for-PPC64-on-Linux.patch third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
|
||||
patch_cleanup $dir/ppc64le/crashpad/0001-Implement-support-for-PPC64-on-Linux.patch third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
|
||||
patch_cleanup $dir/ppc64le/crashpad/0001-Implement-support-for-PPC64-on-Linux.patch third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
|
||||
patch_cleanup $dir/ppc64le/crashpad/0001-Implement-support-for-PPC64-on-Linux.patch third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
|
||||
patch_cleanup $dir/ppc64le/crashpad/0001-Implement-support-for-PPC64-on-Linux.patch third_party/crashpad/crashpad/test/linux/get_tls.cc
|
||||
patch_cleanup $dir/ppc64le/crashpad/0001-Implement-support-for-PPC64-on-Linux.patch third_party/crashpad/crashpad/test/multiprocess_posix.cc
|
||||
|
||||
# concatenate the patches from the series file to a single patchset
|
||||
echo "Creating patchset ..."
|
||||
cat series.ppc64 | while read line; do
|
||||
case $line in
|
||||
\#*) ;;
|
||||
*) [ -z "$line" ] && continue; cat $dir/$line ;;
|
||||
esac
|
||||
done > qtwebengine-chromium-ppc64.patch
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
Summary: Qt6 - QtWebEngine components
|
||||
Name: qt6-qtwebengine
|
||||
Version: 6.8.1
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
|
||||
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
|
||||
# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
|
||||
|
|
@ -92,10 +92,14 @@ Patch110: qtwebengine-webrtc-system-openh264.patch
|
|||
Patch111: qtwebengine-blink-system-openh264.patch
|
||||
Patch112: qtwebengine-media-system-openh264.patch
|
||||
|
||||
## ppc64le port
|
||||
Patch200: qtwebengine-6.7-ppc64.patch
|
||||
Patch201: qtwebengine-chromium-ppc64.patch
|
||||
|
||||
# handled by qt6-srpm-macros, which defines %%qt6_qtwebengine_arches
|
||||
# FIXME use/update qt6_qtwebengine_arches
|
||||
# 32-bit arches not supported (https://bugreports.qt.io/browse/QTBUG-102143)
|
||||
ExclusiveArch: aarch64 x86_64
|
||||
ExclusiveArch: aarch64 x86_64 ppc64le
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: make
|
||||
|
|
@ -391,6 +395,12 @@ popd
|
|||
%patch -P111 -p1 -b .blink-system-openh264
|
||||
%patch -P112 -p1 -b .media-system-openh264
|
||||
|
||||
# ppc64le support
|
||||
%patch -P200 -p1
|
||||
pushd src/3rdparty/chromium
|
||||
%patch -P201 -p1
|
||||
popd
|
||||
|
||||
# delete all "toolprefix = " lines from build/toolchain/linux/BUILD.gn, as we
|
||||
# never cross-compile in native Fedora RPMs, fixes ARM and aarch64 FTBFS
|
||||
sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \
|
||||
|
|
@ -458,6 +468,10 @@ export NINJA_PATH=%{__ninja}
|
|||
%install
|
||||
%cmake_install
|
||||
|
||||
# Cleanup tests
|
||||
rm -rf %{buildroot}/usr/lib64/qt6/bin/testbrowser
|
||||
rm -rf %{buildroot}/usr/tests/auto/
|
||||
|
||||
# rpm macros
|
||||
install -p -m644 -D %{SOURCE10} \
|
||||
%{buildroot}%{_rpmmacrodir}/macros.qt6-qtwebengine
|
||||
|
|
@ -674,6 +688,9 @@ done
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Mar 24 2025 Troy Dawson <tdawson@redhat.com> - 6.8.1-4
|
||||
- enable ppc64le
|
||||
|
||||
* Sun Dec 15 2024 Pavel Solovev <daron439@gmail.com> - 6.8.1-3
|
||||
- Add optional deps
|
||||
|
||||
|
|
|
|||
12
qtwebengine-6.7-ppc64.patch
Normal file
12
qtwebengine-6.7-ppc64.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff -up qtwebengine-everywhere-src-6.7.2/cmake/Functions.cmake.orig qtwebengine-everywhere-src-6.7.2/cmake/Functions.cmake
|
||||
--- qtwebengine-everywhere-src-6.7.2/cmake/Functions.cmake.orig 2024-09-19 16:19:27.740234419 +0200
|
||||
+++ qtwebengine-everywhere-src-6.7.2/cmake/Functions.cmake 2024-09-19 16:28:30.744377245 +0200
|
||||
@@ -635,6 +635,8 @@ function(get_gn_arch result arch)
|
||||
set(${result} "mips64el" PARENT_SCOPE)
|
||||
elseif(arch STREQUAL "riscv64")
|
||||
set(${result} "riscv64" PARENT_SCOPE)
|
||||
+ elseif(arch STREQUAL "power64")
|
||||
+ set(${result} "ppc64" PARENT_SCOPE)
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown architecture: ${arch}")
|
||||
endif()
|
||||
27909
qtwebengine-chromium-ppc64.patch
Normal file
27909
qtwebengine-chromium-ppc64.patch
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue