Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
Troy Dawson
80bcafdb84 enable ppc64le 2025-03-24 12:05:38 -07:00
Troy Dawson
0d42519a6b Merge branch f41 into epel10 2024-12-18 07:49:28 -08:00
Troy Dawson
0fdb33886e Cleanup tests
Signed-off-by: Troy Dawson <tdawson@redhat.com>
2024-11-11 18:45:15 -08:00
Troy Dawson
37b6f9161b Cleanup tests
Signed-off-by: Troy Dawson <tdawson@redhat.com>
2024-11-11 15:51:59 -08:00
Troy Dawson
2edf2df0e9 Fix build with FFmpeg 7 2024-11-11 13:07:34 -08:00
Troy Dawson
315fb3751f There is no libXScrnSaver planned for RHEL 10 or EPEL 10 2024-11-11 10:31:09 -08:00
4 changed files with 27992 additions and 2 deletions

52
prepare-ppc64.sh Executable file
View 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

View file

@ -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

View 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()

File diff suppressed because it is too large Load diff