%global qt_module qtwebkit %global _hardened_build 1 %global prerel alpha2 %global prerel_tag -%{prerel} ## NOTE: Lots of files in various subdirectories have the same name (such as ## "LICENSE") so this short macro allows us to distinguish them by using their ## directory names (from the source tree) as prefixes for the files. %global add_to_license_files() \ mkdir -p _license_files ; \ cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') Name: qt5-%{qt_module} Version: 5.212.0 Release: 0.4.%{?prerel}%{?dist} Summary: Qt5 - QtWebKit components License: LGPLv2 and BSD URL: https://github.com/annulen/webkit Source0: %{url}/releases/download/%{qt_module}-%{version}%{?prerel_tag}/%{qt_module}-%{version}%{?prerel_tag}.tar.xz BuildRequires: bison BuildRequires: cmake BuildRequires: flex BuildRequires: fontconfig-devel BuildRequires: glib2-devel BuildRequires: gperf BuildRequires: gstreamer1-devel BuildRequires: gstreamer1-plugins-base-devel BuildRequires: hyphen-devel BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libwebp-devel BuildRequires: libXcomposite-devel BuildRequires: libXrender-devel BuildRequires: libxslt-devel BuildRequires: mesa-libGL-devel BuildRequires: perl-generators BuildRequires: pkgconfig BuildRequires: python2 BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtdeclarative-devel %if ! 0%{?bootstrap} BuildRequires: qt5-qtlocation-devel BuildRequires: qt5-qtsensors-devel BuildRequires: qt5-qtwebchannel-devel %endif BuildRequires: ruby-devel BuildRequires: rubygems BuildRequires: rubypick BuildRequires: sqlite-devel BuildRequires: zlib-devel BuildRequires: qt5-qtbase-private-devel %{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}} BuildRequires: qt5-qtdeclarative-private-devel %{?_qt5:Requires: qt5-qtdeclarative%{?_isa} = %{_qt5_version}} # Why does this not work automatically? Provides: pkgconfig(Qt5WebKit) = %{version}-%{release} Provides: pkgconfig(Qt5WebKitWidgets) = %{version}-%{release} # filter qml provides %global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$ # We're supposed to specify versions here, but these crap Google libs don't do # normal releases. Accordingly, they're not suitable to be system libs. Provides: bundled(angle) Provides: bundled(brotli) Provides: bundled(woff2) %description %{summary} %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: qt5-qtbase-devel%{?_isa} Requires: qt5-qtdeclarative-devel%{?_isa} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %if 0%{?docs} %package doc Summary: API documentation for %{name} BuildRequires: qt5-qdoc BuildRequires: qt5-qhelpgenerator BuildArch: noarch %description doc %{summary}. %endif %prep %autosetup -p1 -n %{qt_module}-%{version}%{?prerel_tag} %build # The following changes of optflags ietc. are adapted from webkitgtk4 package, which # is mostly similar to this one... # # Increase the DIE limit so our debuginfo packages could be size optimized. # Decreases the size for x86_64 from ~5G to ~1.1G. # https://bugzilla.redhat.com/show_bug.cgi?id=1456261 %global _dwz_max_die_limit 250000000 # Decrease debuginfo even on ix86 because of: # https://bugs.webkit.org/show_bug.cgi?id=140176 %ifarch s390 s390x %{arm} %{ix86} ppc %{power64} %{mips} # Decrease debuginfo verbosity to reduce memory consumption even more %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif %ifarch ppc # Use linker flag -relax to get WebKit build under ppc(32) with JIT disabled %global optflags %{optflags} -Wl,-relax %endif %{cmake} -DPORT=Qt \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_TOOLS=OFF \ -DINCLUDE_INSTALL_DIR:PATH=%{_qt5_headerdir} \ -DLIBEXEC_INSTALL_DIR:PATH=%{_qt5_libexecdir} \ -DECM_MKSPECS_INSTALL_DIR:PATH=%{_qt5_archdatadir}/mkspecs/modules \ -DQML_INSTALL_DIR:PATH=%{_qt5_qmldir} \ %ifarch s390 s390x ppc %{power64} -DENABLE_JIT=OFF \ %endif %ifarch s390 s390x ppc %{power64} -DUSE_SYSTEM_MALLOC=ON \ %endif %if 0%{?docs} -DGENERATE_DOCUMENTATION=ON \ %endif . %make_build %if 0%{?docs} %make_build docs %endif %install %make_install find %{buildroot} -name '*.la' -exec rm -f {} ';' # Finally, copy over and rename various files for %%license inclusion %add_to_license_files Source/JavaScriptCore/COPYING.LIB %add_to_license_files Source/JavaScriptCore/icu/LICENSE %add_to_license_files Source/ThirdParty/ANGLE/LICENSE %add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE %add_to_license_files Source/ThirdParty/ANGLE/src/third_party/murmurhash/LICENSE %add_to_license_files Source/WebCore/icu/LICENSE %add_to_license_files Source/WebCore/LICENSE-APPLE %add_to_license_files Source/WebCore/LICENSE-LGPL-2 %add_to_license_files Source/WebCore/LICENSE-LGPL-2.1 %add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE %add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE %add_to_license_files Source/WTF/icu/LICENSE %add_to_license_files Source/WTF/wtf/dtoa/COPYING %add_to_license_files Source/WTF/wtf/dtoa/LICENSE %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %license LICENSE.LGPLv21 _license_files/* %{_qt5_libdir}/libQt5WebKit.so.5* %{_qt5_libdir}/libQt5WebKitWidgets.so.5* %{_qt5_libexecdir}/QtWebDatabaseProcess %{_qt5_libexecdir}/QtWebNetworkProcess %{_qt5_libexecdir}/QtWebPluginProcess %{_qt5_libexecdir}/QtWebProcess %{_qt5_archdatadir}/qml/QtWebKit/ %files devel %{_qt5_headerdir}/Qt*/ %{_qt5_libdir}/libQt5*.so %{_qt5_libdir}/cmake/Qt5*/ %{_qt5_libdir}/pkgconfig/Qt5*.pc %{_qt5_archdatadir}/mkspecs/modules/*.pri %if 0%{?docs} %files doc %{_qt5_docdir}/qtwebkit.qch %{_qt5_docdir}/qtwebkit/ %endif %changelog * Thu Jun 22 2017 Christian Dersch - 5.212.0-0.4.alpha2 - BR: pkg-config * Wed Jun 21 2017 Christian Dersch - 5.212.0-0.3.alpha2 - ensure that we do a release build * Wed Jun 21 2017 Christian Dersch - 5.212.0-0.2.alpha2 - few spec adjustments * Sun Jun 18 2017 Christian Dersch - 5.212.0-0.1.alpha2 - switch to maintained annulen branch of qtwebkit * Sat Jun 10 2017 Rex Dieter - 5.9.0-1 - 5.9.0 (final) * Sun May 28 2017 Helio Chissini de Castro - 5.9.0-0.1.rc - Release candidate community * Mon May 15 2017 Fedora Release Engineering - 5.9.0-0.beta.3.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Wed May 10 2017 Helio Chissini de Castro - 5.9.0-0.beta.3 - Community beta3 * Thu Mar 30 2017 Rex Dieter - 5.8.0-1 - 5.8.0 * Sat Feb 11 2017 Fedora Release Engineering - 5.7.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Feb 01 2017 Sandro Mani - 5.7.1-4 - Rebuild (libwebp) * Mon Jan 02 2017 Rex Dieter - 5.7.1-3 - filter qml provides, BR: qtdeclarative python expicitly * Sat Dec 10 2016 Rex Dieter - 5.7.1-2 - drop BR: cmake (handled by qt5-rpm-macros now) - 5.7.1 dec5 snapshot * Wed Nov 09 2016 Helio Chissini de Castro - 5.7.1-1 - New upstream version * Mon Jul 04 2016 Helio Chissini de Castro - 5.7.0-2 - Compiled with gcc * Wed Jun 15 2016 Helio Chissini de Castro - 5.7.0-1 - Qt 5.7.0 release ( non git, official package ) * Tue Jun 14 2016 Rex Dieter - 5.6.1-2.b889f46git - rebuild (glibc) * Thu Jun 09 2016 Rex Dieter - 5.6.1-1.b889f46git - 5.6.1 branch snapshot, plus a couple post-5.6.1 5.6 branch fixes * Thu Jun 09 2016 Rex Dieter - 5.6.0-9 - rebuild (qtbase) * Wed May 18 2016 Rex Dieter - 5.6.0-8 - use pristine upstream (community) sources * Wed Apr 20 2016 Rex Dieter - 5.6.0-7 - rebuild (icu) * Sun Apr 17 2016 Rex Dieter - 5.6.0-6 - BR: qt5-qtbase-private-devel qt5-qtdeclarative-private-devel * Fri Apr 15 2016 David Tardon - 5.6.0-5 - rebuild for ICU 57.1 * Wed Apr 6 2016 Peter Robinson 5.6.0-4 - Update ruby deps to ensure all bits are present * Sun Mar 20 2016 Rex Dieter - 5.6.0-3 - rebuild * Fri Mar 18 2016 Rex Dieter - 5.6.0-2 - rebuild * Mon Mar 14 2016 Helio Chissini de Castro - 5.6.0-1 - 5.6.0 final release * Mon Feb 29 2016 Rex Dieter 5.6.0-0.12.rc - fix sources * Wed Feb 24 2016 Helio Chissini de Castro - 5.6.0-0.11.rc - Fix the trap caused by rpmdev-bumpspec * Tue Feb 23 2016 Helio Chissini de Castro - 5.6.0-0.10.rc - Update to final RC * Mon Feb 15 2016 Helio Chissini de Castro - 5.6.0-0.9 - Update RC release * Thu Feb 04 2016 Fedora Release Engineering - 5.6.0-0.8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Mon Dec 28 2015 Rex Dieter 5.6.0-0.7 - BR: cmake, use %%license * Mon Dec 28 2015 Igor Gnatenko - 5.6.0-0.6 - Rebuilt for libwebp soname bump * Sun Dec 13 2015 Helio Chissini de Castro - 5.6.0-0.5 - Update beta code * Fri Dec 11 2015 Rex Dieter - 5.6.0-0.4 - restore bootstrap macro, omit more optional BR's/features in bootstrap mode - drop (unused) system_angle support - include -qdoc builddep only in -doc subpkg * Thu Dec 10 2015 Helio Chissini de Castro - 5.6.0-0.3 - Official beta release * Sun Dec 06 2015 Rex Dieter 5.6.0-0.2 - (re)add bootstrap macro support * Tue Nov 03 2015 Helio Chissini de Castro - 5.6.0-0.1 - Start to implement 5.6.0 beta * Wed Oct 28 2015 David Tardon - 5.5.1-4 - rebuild for ICU 56.1 * Fri Oct 16 2015 Rex Dieter 5.5.1-3 - drop (unused) system_angle support/patches * Thu Oct 15 2015 Helio Chissini de Castro - 5.5.1-2 - Update to final release 5.5.1 * Tue Sep 29 2015 Helio Chissini de Castro - 5.5.1-1 - Update to Qt 5.5.1 RC1 * Wed Jul 29 2015 Rex Dieter 5.5.0-4 - -docs: BuildRequires: qt5-qhelpgenerator, standardize bootstrapping * Thu Jul 16 2015 Rex Dieter 5.5.0-3 - tighten deps (#1233829) * Mon Jul 13 2015 Rex Dieter - 5.5.0-2 - add 5.5.0-1 changelog - BR: qt5-qtwebchannel-devel - (re)enable docs * Wed Jul 1 2015 Helio Chissini de Castro - 5.5.0-1 - New final upstream release Qt 5.5.0 * Thu Jun 25 2015 Helio Chissini de Castro - 5.5.0-0.2.rc - Update for official RC1 released packages * Wed Jun 03 2015 Jan Grulich - 5.4.2-1 - 5.4.2 * Sat May 02 2015 Kalev Lember - 5.4.1-6 - Rebuilt for GCC 5 C++11 ABI change * Fri Apr 03 2015 Rex Dieter 5.4.1-5 - -doc: drop dep on main pkg, not strictly required * Mon Mar 23 2015 Rex Dieter 5.4.1-4 - QtWebKit logs visited URLs to WebpageIcons.db in private browsing mode (#1204795,#1204798) * Wed Mar 18 2015 Than Ngo - 5.4.1-3 - fix build failure with new gcc5 * Fri Feb 27 2015 Rex Dieter - 5.4.1-2 - rebuild (gcc5) * Tue Feb 24 2015 Jan Grulich 5.4.1-1 - 5.4.1 * Tue Feb 17 2015 Than Ngo 5.4.0-4 - fix GMutexLocker build problem * Tue Feb 17 2015 Rex Dieter 5.4.0-3 - rebuild (gcc5) * Mon Jan 26 2015 David Tardon - 5.4.0-2 - rebuild for ICU 54.1 * Wed Dec 10 2014 Rex Dieter 5.4.0-1 - 5.4.0 (final) * Fri Nov 28 2014 Rex Dieter 5.4.0-0.5.rc - 5.4.0-rc * Tue Nov 18 2014 Rex Dieter 5.4.0-0.4.beta - use gst1 only fc21+ (and el8+) only * Mon Nov 03 2014 Rex Dieter 5.4.0-0.3.beta - fix hardening, use new %%qmake_qt5 macro * Sat Nov 01 2014 Rex Dieter 5.4.0-0.2.beta - enable hardened build, out-of-src tree build * Sat Oct 18 2014 Rex Dieter 5.4.0-0.1.beta - 5.4.0-beta * Tue Sep 16 2014 Rex Dieter 5.3.2-1 - 5.3.2 * Tue Aug 26 2014 David Tardon - 5.3.1-3 - rebuild for ICU 53.1 * Sun Aug 17 2014 Fedora Release Engineering - 5.3.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Tue Jun 17 2014 Jan Grulich - 5.3.1-1 - 5.3.1 * Sun Jun 08 2014 Fedora Release Engineering - 5.3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Wed May 21 2014 Jan Grulich 5.3.0-1 - 5.3.0 * Mon May 05 2014 Rex Dieter 5.2.1-4 - use standard (same as qtbase) .prl sanitation * Fri May 02 2014 Rex Dieter 5.2.1-3 - no rpath, drop chrpath hacks - BR: qt5-qtlocation qt5-qtsensors * Wed Feb 12 2014 Rex Dieter 5.2.1-2 - rebuild (libicu) * Wed Feb 05 2014 Rex Dieter 5.2.1-1 - 5.2.1 * Sun Feb 02 2014 Rex Dieter 5.2.0-3 - Add AArch64 support to qtwebkit (#1056160) * Wed Jan 01 2014 Rex Dieter 5.2.0-2 - rebuild (libwebp) * Thu Dec 12 2013 Rex Dieter 5.2.0-1 - 5.2.0 * Mon Dec 02 2013 Rex Dieter 5.2.0-0.10.rc1 - 5.2.0-rc1 * Thu Nov 28 2013 Dan HorĂ¡k 5.2.0-0.6.beta1 - disable JIT on secondary arches, fix build with JIT disabled (#1034940) * Mon Nov 25 2013 Rex Dieter 5.2.0-0.5.beta1 - enable -doc only on primary archs (allow secondary bootstrap) * Sat Nov 09 2013 Rex Dieter 5.2.0-0.4.beta1 - rebuild (arm/qreal) * Thu Oct 24 2013 Rex Dieter 5.2.0-0.3.beta1 - 5.2.0-beta1 * Wed Oct 16 2013 Rex Dieter 5.2.0-0.2.alpha - bootstrap ppc * Wed Oct 02 2013 Rex Dieter 5.2.0-0.1.alpha - 5.2.0-alpha - -doc subpkg - use gstreamer1 (where available) * Wed Aug 28 2013 Rex Dieter 5.1.1-1 - 5.1.1 * Tue Aug 20 2013 Rex Dieter 5.0.2-8 - qt5-qtjsbackend only supports ix86, x86_64 and arm * Fri Aug 02 2013 Rex Dieter 5.0.2-7 - use bundled angleproject (until system version passes review) * Fri Jun 21 2013 Rex Dieter 5.0.2-6 - %%doc ChangeLog VERSION - %%doc Source/WebCore/LICENSE* - squash more rpaths * Fri May 17 2013 Rex Dieter 5.0.2-5 - unbundle angleproject code * Wed May 15 2013 Rex Dieter 5.0.2-4 - BR: perl(version) perl(Digest::MD5) pkgconfig(xslt) - deal with bundled code - add (commented) upstream link http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html to clarify licensing * Thu May 09 2013 Rex Dieter 5.0.2-3 - -devel: Requires: qt5-qtdeclarative-devel * Fri Apr 12 2013 Rex Dieter 5.0.2-2 - BR: qt5-qtdeclarative-devel * Thu Apr 11 2013 Rex Dieter 5.0.2-1 - 5.0.2 * Mon Feb 25 2013 Rex Dieter 5.0.1-2 - .prl love - BR: pkgconfig(gl) * Sat Feb 23 2013 Rex Dieter 5.0.1-1 - first try