Specifically for epel9 only, until things switch to python3

Bundle python2 for building only
Bundled re2
No docs
This commit is contained in:
Troy Dawson 2022-02-01 15:45:56 -08:00
parent 9294599c24
commit dfae144a41
3 changed files with 56 additions and 4 deletions

3
.gitignore vendored
View File

@ -1,2 +1,5 @@
/pulseaudio-12.2-headers.tar.gz
/qtwebengine-everywhere-src-5.15.8-clean.tar.xz
/python2.7-2.7.18-19.el9.1.src.rpm
/python2.7-2.7.18-19.el9.1.aarch64.rpm
/python2.7-2.7.18-19.el9.1.x86_64.rpm

View File

@ -7,7 +7,7 @@
# define to build docs, may need to undef this for bootstrapping
# where qt5-qttools (qt5-doctools) builds are not yet available
%global docs 1
%global docs 0
%if 0%{?fedora}
# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e)
@ -17,8 +17,12 @@
# need libwebp >= 0.6.0
%global use_system_libwebp 1
%global use_system_jsoncpp 1
%if 0%{?rhel} && 0%{?rhel} == 9
%global use_system_re2 0
%else
%global use_system_re2 1
%endif
%endif
%if 0%{?fedora} > 32
# need libicu >= 65, only currently available on f33+
@ -56,7 +60,7 @@
Summary: Qt5 - QtWebEngine components
Name: qt5-qtwebengine
Version: 5.15.8
Release: 3%{?dist}
Release: 3%{?dist}.1
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
@ -79,6 +83,13 @@ Source10: macros.qt5-qtwebengine
# pulseaudio headers
Source20: pulseaudio-12.2-headers.tar.gz
## Python2 Sources
## src.rpm is Fedora spec with tests and tkinter turned off
## binary rpms have been built on epel9
Source100: python2.7-2.7.18-19.el9.1.src.rpm
Source101: python2.7-2.7.18-19.el9.1.aarch64.rpm
Source102: python2.7-2.7.18-19.el9.1.x86_64.rpm
# quick hack to avoid checking for the nonexistent icudtl.dat and silence the
# resulting warnings - not upstreamable as is because it removes the fallback
# mechanism for the ICU data directory (which is not used in our builds because
@ -199,7 +210,11 @@ BuildRequires: perl-interpreter
# per https://fedoraproject.org/wiki/Changes/RetirePython2#FESCo_exceptions
# Only the interpreter is needed
%if 0%{?fedora} > 29 || 0%{?rhel} > 8
%if 0%{?rhel} && 0%{?rhel} == 9
BuildRequires: %{__python3}
%else
BuildRequires: %{__python2}
%endif
%else
BuildRequires: python2
BuildRequires: python2-rpm-macros
@ -207,6 +222,10 @@ BuildRequires: python2-rpm-macros
%if 0%{?use_system_libvpx}
BuildRequires: pkgconfig(vpx) >= 1.8.0
%endif
# For python on EPEL9, These get pulled in via python2
BuildRequires: libtirpc
BuildRequires: libnsl2
BuildRequires: python-rpm-macros
# extra (non-upstream) functions needed, see
# src/3rdparty/chromium/third_party/sqlite/README.chromium for details
@ -279,6 +298,7 @@ Provides: bundled(libXNVCtrl) = 302.17
Provides: bundled(libyuv) = 1768
Provides: bundled(modp_b64)
Provides: bundled(ots)
Provides: bundled(re2)
# see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version
Provides: bundled(protobuf) = 3.9.0
Provides: bundled(qcms) = 4
@ -390,6 +410,17 @@ mv pulse src/3rdparty/chromium/
pushd src/3rdparty/chromium
popd
# Install python2 from rpms
mkdir python2
pushd python2
%ifarch aarch64
rpm2cpio %{SOURCE101} | cpio -idm
%endif
%ifarch x86_64
rpm2cpio %{SOURCE102} | cpio -idm
%endif
popd
%if 0%{?use_system_libicu}
%patch1 -p1 -b .no-icudtl-dat
%endif
@ -427,13 +458,15 @@ cp -bv /usr/include/re2/*.h src/3rdparty/chromium/third_party/re2/src/re2/
sed -i -e 's/symbol_level=1/symbol_level=2/g' src/core/config/common.pri
%endif
%if 0%{?docs}
# generate qtwebengine-3rdparty.qdoc, it is missing from the tarball
pushd src/3rdparty
%{__python2} chromium/tools/licenses.py \
%{__python3} chromium/tools/licenses.py \
--file-template ../../tools/about_credits.tmpl \
--entry-template ../../tools/about_credits_entry.tmpl \
credits >../webengine/doc/src/qtwebengine-3rdparty.qdoc
popd
%endif
# copy the Chromium license so it is installed with the appropriate name
cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium
@ -454,6 +487,10 @@ test -f "./include/QtWebEngineCore/qtwebenginecoreglobal.h"
. /opt/rh/devtoolset-7/enable
%endif
# python2 path
export PATH=$(pwd)/python2/usr/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/python2/usr/lib64
export STRIP=strip
export NINJAFLAGS="%{__ninja_common_opts}"
export NINJA_PATH=%{__ninja}
@ -525,7 +562,10 @@ while read filename ; do
done
%files
%license LICENSE.* src/webengine/doc/src/qtwebengine-3rdparty.qdoc
%license LICENSE.*
%if 0%{?docs}
%license src/webengine/doc/src/qtwebengine-3rdparty.qdoc
%endif
%{_qt5_libdir}/libQt5*.so.*
%{_qt5_bindir}/qwebengine_convert_dict
%{_qt5_libdir}/qt5/qml/*
@ -617,6 +657,12 @@ done
%changelog
* Tue Feb 01 2022 Troy Dawson <tdawson@redhat.com> - 5.15.8-3.1
- Specifically for epel9 only, until things switch to python3
- Bundle python2 for building only
- Bundled re2
- No docs
* Thu Jan 27 2022 Tom Callaway <spot@fedoraproject.org> - 5.15.8-3
- rebuild for libvpx

View File

@ -1,2 +1,5 @@
SHA512 (pulseaudio-12.2-headers.tar.gz) = a5a9bcbb16030b3bc83cc0cc8f5e7f90e0723d3e83258a5c77eacb32eaa267118a73fa7814fbcc99a24e4907916a2b371ebb6dedc4f45541c3acf6c834fd35be
SHA512 (qtwebengine-everywhere-src-5.15.8-clean.tar.xz) = 0ded6ec6106a79e66796fa65b9574debf59e602aecbfdd0cdf0aeb6d17530177c0a8650078402c426abfebcd40c97d1501f4277541c86f2c576543052f627c04
SHA512 (python2.7-2.7.18-19.el9.1.src.rpm) = e6d738b2880b833ea80aec709f7bcf20dac2e8c59d45f1627f61245b3aa9be845888152232e9f08145723514eb29aeada3d5d99641aabe9ec9af2a5c15f32777
SHA512 (python2.7-2.7.18-19.el9.1.aarch64.rpm) = 66c8487a3323bb854ff79242287ae5d290315609b4f79fb985626e52d96286d6dfd2da9a8257e23be036b72adabbbec08d53db339935d5d6e8b6018417bbc769
SHA512 (python2.7-2.7.18-19.el9.1.x86_64.rpm) = 55f03b17f649a2da9edae67c1ca7c84738a023fc3ab2e7d6060db8a2b8ddf20099147533f3d50ce3dfafec5ca988f75ff229e67d331bcb669c879802ab6555a9