diff --git a/SOURCES/aarch64.patch b/SOURCES/aarch64.patch index 6d9b99a..948300f 100644 --- a/SOURCES/aarch64.patch +++ b/SOURCES/aarch64.patch @@ -25,91 +25,38 @@ Index: b/configure ;; Linux:*:sparc*) if [ "$OPT_VERBOSE" = "yes" ]; then -diff --git a/mkspecs/linux-g++-aarch64/qmake.conf b/mkspecs/linux-g++-aarch64/qmake.conf -new file mode 100644 -index 0000000..95611e3 ---- /dev/null -+++ b/mkspecs/linux-g++-aarch64/qmake.conf -@@ -0,0 +1,28 @@ -+# -+# qmake configuration for linux-g++ -+# -+# Written for GNU/Linux platforms that have both lib and lib64 directories, -+# like the AMD Opteron. -+# -+ -+MAKEFILE_GENERATOR = UNIX -+TARGET_PLATFORM = unix -+TEMPLATE = app -+CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index -+QT += core gui -+QMAKE_INCREMENTAL_STYLE = sublib -+ -+QMAKE_CFLAGS = -fpermissive -+QMAKE_LFLAGS = -+ -+QMAKE_CFLAGS_RELEASE += -O2 -+ -+include(../common/linux.conf) -+include(../common/gcc-base-unix.conf) -+include(../common/g++-unix.conf) -+ -+ -+QMAKE_LIBDIR_X11 = /usr/X11R6/lib64 -+QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib64 -+ -+load(qt_config) -\ No newline at end of file -diff --git a/mkspecs/linux-g++-aarch64/qplatformdefs.h b/mkspecs/linux-g++-aarch64/qplatformdefs.h -new file mode 100644 -index 0000000..ede86e8 ---- /dev/null -+++ b/mkspecs/linux-g++-aarch64/qplatformdefs.h -@@ -0,0 +1,44 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -+** Contact: http://www.qt-project.org/legal -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and Digia. For licensing terms and -+** conditions see http://qt.digia.com/licensing. For further information -+** use the contact form at http://qt.digia.com/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 as published by the Free Software -+** Foundation and appearing in the file LICENSE.LGPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU Lesser General Public License version 2.1 requirements -+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** In addition, as a special exception, Digia gives you certain additional -+** rights. These rights are described in the Digia Qt LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include "../linux-g++/qplatformdefs.h" +diff -up a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:47.000000000 -0500 ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500 +@@ -66,6 +66,12 @@ contains(JAVASCRIPTCORE_JIT,no) { + } + } + ++# Hack around AARCH64 fail wrt JSValue.h ++equals(QT_ARCH, aarch64) { ++ message("JavaScriptCore aarch64 hack: -fpermissive") ++ QMAKE_CXXFLAGS += -fpermissive ++} + + wince* { + INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat + SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c +diff -up a/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 b/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri +--- a/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri.aarch64 2015-05-07 09:14:45.000000000 -0500 ++++ b/src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri 2015-05-08 21:48:33.268061013 -0500 +@@ -63,6 +63,12 @@ contains (CONFIG, text_breaking_with_icu + DEFINES += WTF_USE_QT_ICU_TEXT_BREAKING=1 + } + ++# Hack around AARCH64 fail wrt JSValue.h ++equals(QT_ARCH, aarch64) { ++ message("JavaScriptCore aarch64 hack: -fpermissive") ++ QMAKE_CXXFLAGS += -fpermissive ++} + + wince* { + INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat + INCLUDEPATH += $$PWD/../JavaScriptCore/os-win32 diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h index 4b0d779..7025f19 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h diff --git a/SOURCES/qt-prefer_adwaita_on_gnome.patch b/SOURCES/qt-prefer_adwaita_on_gnome.patch new file mode 100644 index 0000000..250cc03 --- /dev/null +++ b/SOURCES/qt-prefer_adwaita_on_gnome.patch @@ -0,0 +1,19 @@ +diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp +index 01fe089..3e825f1 100644 +--- a/src/gui/kernel/qguiplatformplugin.cpp ++++ b/src/gui/kernel/qguiplatformplugin.cpp +@@ -165,8 +165,13 @@ QString QGuiPlatformPlugin::styleName() + case DE_GNOME: { + QStringList availableStyles = QStyleFactory::keys(); + // Set QGtkStyle for GNOME if available ++ QString adwaitaStyleKey = QString::fromLatin1("adwaita"); + QString gtkStyleKey = QString::fromLatin1("GTK+"); +- if (availableStyles.contains(gtkStyleKey)) { ++ if (availableStyles.contains(adwaitaStyleKey)) { ++ stylename = adwaitaStyleKey; ++ break; ++ } ++ else if (availableStyles.contains(gtkStyleKey)) { + stylename = gtkStyleKey; + break; + } diff --git a/SPECS/qt.spec b/SPECS/qt.spec index 0465429..43576b7 100644 --- a/SPECS/qt.spec +++ b/SPECS/qt.spec @@ -26,7 +26,7 @@ Summary: Qt toolkit Name: qt Epoch: 1 Version: 4.8.5 -Release: 12%{?dist} +Release: 13%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT @@ -145,6 +145,9 @@ Patch86: qt-gcc-warning-overflow.patch # ppc64le support Patch87: qt-everywhere-opensource-src-4.8-ppc64le_support.patch +# prefer adwaita-qt style over gtk +Patch88: qt-prefer_adwaita_on_gnome.patch + # upstream patches # http://codereview.qt-project.org/#change,22006 Patch100: qt-everywhere-opensource-src-4.8.1-qtgahandle.patch @@ -222,8 +225,8 @@ Source31: hi48-app-qt4-logo.png %define _qt4_demosdir %{_qt4_prefix}/demos %define _qt4_docdir %{_docdir}/qt4 %define _qt4_examplesdir %{_qt4_prefix}/examples -%define _qt4_headerdir %{_includedir} -%define _qt4_importdir %{_qt4_prefix}/imports +%define _qt4_headerdir %{_includedir} +%define _qt4_importdir %{_qt4_prefix}/imports %define _qt4_libdir %{_libdir} %define _qt4_plugindir %{_qt4_prefix}/plugins %define _qt4_sysconfdir %{_sysconfdir} @@ -236,7 +239,7 @@ BuildRequires: libjpeg-devel BuildRequires: libmng-devel BuildRequires: libtiff-devel BuildRequires: pkgconfig -BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(glib-2.0) @@ -245,7 +248,7 @@ BuildRequires: pkgconfig(NetworkManager) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libpulse) -BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zlib) BuildRequires: rsync @@ -263,12 +266,12 @@ BuildRequires: mysql-devel >= 4.0 %endif %if "%{?phonon_backend}" == "-phonon-backend" -BuildRequires: pkgconfig(gstreamer-0.10) -BuildRequires: pkgconfig(gstreamer-plugins-base-0.10) +BuildRequires: pkgconfig(gstreamer-0.10) +BuildRequires: pkgconfig(gstreamer-plugins-base-0.10) %endif %if "%{?gtkstyle}" == "-gtkstyle" -BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pkgconfig(gtk+-2.0) %endif %if "%{?psql}" != "-no-sql-psql" @@ -281,13 +284,13 @@ BuildRequires: unixODBC-devel %if "%{?sqlite}" != "-no-sql-sqlite" %define _system_sqlite -system-sqlite -BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(sqlite3) %endif Provides: qt4-sqlite = %{version}-%{release} %{?_isa:Provides: qt4-sqlite%{?_isa} = %{version}-%{release}} Obsoletes: qt-sqlite < 1:4.7.1-16 -Provides: qt-sqlite = %{?epoch:%{epoch}:}%{version}-%{release} +Provides: qt-sqlite = %{?epoch:%{epoch}:}%{version}-%{release} %{?_isa:Provides: qt-sqlite%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}} %if "%{?tds}" != "-no-sql-tds" @@ -301,7 +304,7 @@ Requires: ca-certificates Requires: qt-settings %endif -%description +%description Qt is a software toolkit for developing applications. This package contains base tools, like string, xml, and network @@ -317,7 +320,7 @@ Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %{summary}. %package config -Summary: Graphical configuration tool for programs using Qt 4 +Summary: Graphical configuration tool for programs using Qt 4 Group: User Interface/Desktops # -config introduced in 4.7.1-10 , for upgrade path # seems to tickle a pk bug, https://bugzilla.redhat.com/674326 @@ -325,7 +328,7 @@ Group: User Interface/Desktops Obsoletes: qt4-config < 4.5.0 Provides: qt4-config = %{version}-%{release} Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} -%description config +%description config %{summary}. %define demos 1 @@ -388,7 +391,7 @@ Qt Linguist # make a devel private subpkg or not? %define private 1 %package devel-private -Summary: Private headers for Qt toolkit +Summary: Private headers for Qt toolkit Group: Development/Libraries Provides: qt4-devel-private = %{version}-%{release} Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release} @@ -430,10 +433,10 @@ Provides: qt4-MySQL = %{version}-%{release} Obsoletes: qt4-mysql < %{version}-%{release} Provides: qt4-mysql = %{version}-%{release} %{?_isa:Provides: qt4-mysql%{?_isa} = %{version}-%{release}} -%description mysql +%description mysql %{summary}. -%package odbc +%package odbc Summary: ODBC driver for Qt's SQL classes Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} @@ -442,10 +445,10 @@ Provides: qt4-ODBC = %{version}-%{release} Obsoletes: qt4-odbc < %{version}-%{release} Provides: qt4-odbc = %{version}-%{release} %{?_isa:Provides: qt4-odbc%{?_isa} = %{version}-%{release}} -%description odbc +%description odbc %{summary}. -%package postgresql +%package postgresql Summary: PostgreSQL driver for Qt's SQL classes Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} @@ -454,7 +457,7 @@ Provides: qt4-PostgreSQL = %{version}-%{release} Obsoletes: qt4-postgresql < %{version}-%{release} Provides: qt4-postgresql = %{version}-%{release} %{?_isa:Provides: qt4-postgresql%{?_isa} = %{version}-%{release}} -%description postgresql +%description postgresql %{summary}. %package tds @@ -490,7 +493,7 @@ and invoke methods on those objects. %prep -%setup -q -n qt-everywhere-opensource-src-%{version} +%setup -q -n qt-everywhere-opensource-src-%{version} %patch2 -p1 -b .multilib-optflags # drop backup file(s), else they get installed too, http://bugzilla.redhat.com/639463 @@ -525,6 +528,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags %patch85 -p1 -b .fix-aarch64-detection %patch86 -p1 -b .gcc-overflow-warning %patch87 -p1 -b .ppc64le +%patch88 -p1 -b .prefer_adwaita_on_gnome # upstream patches %patch100 -p1 -b .QTgaHandler @@ -548,24 +552,19 @@ RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` %endif # https://bugzilla.redhat.com/478481 -%ifarch x86_64 +%ifarch x86_64 aarch64 %define platform linux-g++ %endif -%ifarch aarch64 -# aarch64 gcc does not support -m64 -%define platform linux-g++-aarch64 -%endif - sed -i -e "s|-O2|$RPM_OPT_FLAGS|g" \ - mkspecs/%{platform}/qmake.conf + mkspecs/%{platform}/qmake.conf sed -i -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 $RPM_LD_FLAGS|" \ mkspecs/common/g++-unix.conf # undefine QMAKE_STRIP, so we get useful -debuginfo pkgs sed -i -e "s|^QMAKE_STRIP.*=.*|QMAKE_STRIP =|" \ - mkspecs/common/linux.conf + mkspecs/common/linux.conf # set correct lib path if [ "%{_lib}" == "lib64" ] ; then @@ -692,7 +691,7 @@ desktop-file-install \ %{SOURCE20} %{SOURCE21} %{SOURCE22} %{?dbus:%{SOURCE23}} %{?demos:%{SOURCE24}} %{SOURCE25} ## pkg-config -# strip extraneous dirs/libraries +# strip extraneous dirs/libraries # safe ones glib2_libs=$(pkg-config --libs glib-2.0 gobject-2.0 gthread-2.0) ssl_libs=$(pkg-config --libs openssl) @@ -700,14 +699,14 @@ for dep in \ -laudio -ldbus-1 -lfreetype -lfontconfig ${glib2_libs} \ -ljpeg -lm -lmng -lpng -lpulse -lpulse-mainloop-glib ${ssl_libs} -lsqlite3 -lz \ -L/usr/X11R6/lib -L/usr/X11R6/%{_lib} -L%{_libdir} ; do - sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/lib*.la + sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/lib*.la # sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/pkgconfig/*.pc sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/*.prl done # riskier for dep in -ldl -lphonon -lpthread -lICE -lSM -lX11 -lXcursor -lXext -lXfixes -lXft -lXinerama -lXi -lXrandr -lXrender -lXt ; do - sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/lib*.la -# sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/pkgconfig/*.pc + sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/lib*.la +# sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/pkgconfig/*.pc sed -i -e "s|$dep ||g" %{buildroot}%{_qt4_libdir}/*.prl done @@ -754,7 +753,7 @@ pushd %{buildroot}%{_qt4_libdir} for lib in libQt*.so ; do libbase=`basename $lib .so | sed -e 's/^lib//'` # ln -s $lib lib${libbase}_debug.so - echo "INPUT(-l${libbase})" > lib${libbase}_debug.so + echo "INPUT(-l${libbase})" > lib${libbase}_debug.so done for lib in libQt*.a ; do libbase=`basename $lib .a | sed -e 's/^lib//' ` @@ -844,7 +843,7 @@ cat >%{buildroot}%{rpm_macros_dir}/macros.qt4< - 1:4.8.5-13 +- Prefer adwaita-qt theme over gtk + Resolves: bz#1332094 + * Thu Mar 24 2016 Jan Grulich - 1:4.8.5-12 - Revert upstream fix for QTBUG-15319 - Resolves: bz#1321025 + Resolves: bz#1259675 +- Do not use nonstandard linux-g++-aarch64 + Resolves: bz#1291461 * Wed Sep 02 2015 Jan Grulich - 1:4.8.5-11 - aarch64 fixes @@ -1371,7 +1376,7 @@ fi - revert "fix QtScript JIT crash" patch, causes frequent segmentation faults (#853587) * Mon Aug 13 2012 Rex Dieter 4.8.2-5 -- fix QtScript JIT crash (QTBUG-23871, kde#297661) +- fix QtScript JIT crash (QTBUG-23871, kde#297661) * Thu Jul 05 2012 Rex Dieter 4.8.2-4 - text cursor blinks not in the current cell (kde#296490) @@ -1447,7 +1452,7 @@ fi - bz#772128, CVE-2011-3922, Stack-based buffer overflow in embedded harfbuzz code * Tue Dec 27 2011 Rex Dieter 4.8.0-5 -- fix qvfb +- fix qvfb * Tue Dec 27 2011 Rex Dieter 4.8.0-4 - filter event patch, avoid "ghost entries in kde taskbar" problem (kde#275469) @@ -1475,11 +1480,11 @@ fi * Mon Nov 14 2011 Rex Dieter 4.8.0-0.25.rc1 - BuildRequires: pkgconfig(libpng) -- -devel: drop Requires: libpng-devel libjpeg-devel +- -devel: drop Requires: libpng-devel libjpeg-devel - qt4.macros: +%%_qt4_epoch, %%_qt4_evr * Thu Nov 03 2011 Rex Dieter 4.8.0-0.24.rc1 -- build tds sql driver with -fno-strict-aliasing +- build tds sql driver with -fno-strict-aliasing * Fri Oct 28 2011 Rex Dieter 4.8.0-0.23.rc1 - crash when using a visual with 24 bits per pixel (#749647,QTBUG-21754) @@ -1547,7 +1552,7 @@ fi - move macros.* to -devel * Tue Jul 05 2011 Rex Dieter 1:4.8.0-0.3.tp -- Adding qt-sql-ibase driver for qt (#719002) +- Adding qt-sql-ibase driver for qt (#719002) - qvfb subpackage (#718416) * Tue Jun 21 2011 Rex Dieter 1:4.8.0-0.2.tp @@ -1600,7 +1605,7 @@ fi - Obsoletes: qt-sqlite < 1:4.7.1-16 * Tue Feb 15 2011 Rex Dieter 1:4.7.1-16 -- drop -sqlite subpkg, move into main (#677418) +- drop -sqlite subpkg, move into main (#677418) * Wed Feb 09 2011 Rex Dieter 1:4.7.1-15 - -assistant subpkg (#660287) @@ -1729,7 +1734,7 @@ fi * Wed Jun 16 2010 Rex Dieter 4.7.0-0.18.beta1 - -no-javascript-jit on i686 (#604003) -* Wed Jun 16 2010 Karsten Hopp 4.7.0-0.17.beta1 +* Wed Jun 16 2010 Karsten Hopp 4.7.0-0.17.beta1 - add s390 and s390x to 3rdparty/webkit/JavaScriptCore/wtf/Platform.h and 3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h @@ -1837,7 +1842,7 @@ fi * Tue Nov 17 2009 Rex Dieter - 4.6.0-0.6.rc1 - qt-4.6.0-rc1 -* Sat Nov 14 2009 Rex Dieter - 4.6.0-0.5.beta1 +* Sat Nov 14 2009 Rex Dieter - 4.6.0-0.5.beta1 - -tds: Add package with TDS sqldriver (#537586) - add arch'd provides for sql drivers @@ -1847,7 +1852,7 @@ fi * Mon Oct 26 2009 Rex Dieter - 4.6.0-0.3.beta1 - kde-qt patches (as of 20091026) -* Fri Oct 16 2009 Than Ngo - 4.6.0-0.2.beta1 +* Fri Oct 16 2009 Than Ngo - 4.6.0-0.2.beta1 - subpackage sqlite plugin, add Require on qt-sqlite in qt-x11 for assistant - build/install qdoc3 again @@ -2038,12 +2043,12 @@ fi - fix lupdate segfault (#486866) * Sat Mar 14 2009 Dennis Gilmore - 4.5.0-5 -- add patch for sparc64. +- add patch for sparc64. - _Atomic_word is not always an int * Tue Mar 10 2009 Rex Dieter - 4.5.0-4 - macros.qt4: %%_qt45 -- cleanup more phonon-related left-overs +- cleanup more phonon-related left-overs * Wed Mar 04 2009 Rex Dieter - 4.5.0-3 - -no-phonon-backend @@ -2099,7 +2104,7 @@ fi - Provides: qt4%%{?_isa} = %%version-%%release - add %%_qt4 to macros.qt4 -* Thu Jan 22 2009 Rex Dieter - 4.4.3-12 +* Thu Jan 22 2009 Rex Dieter - 4.4.3-12 - respin (mysql) * Fri Jan 16 2009 Kevin Kofler - 4.4.3-11 @@ -2164,7 +2169,7 @@ fi - omit deprecated phonon bits * Sat Jul 19 2008 Rex Dieter 4.4.0-15 -- fix/workaround spec syntax +- fix/workaround spec syntax * Sat Jul 19 2008 Rex Dieter 4.4.0-14 - macros.qt4: fix %%_qt4_datadir, %%_qt4_translationdir @@ -2188,7 +2193,7 @@ fi - drop qt wrapper, make symlinks to /usr/bin * Tue Jun 10 2008 Than Ngo 4.4.0-7 -- fix #450310, multilib issue +- fix #450310, multilib issue * Fri Jun 06 2008 Rex Dieter 4.4.0-6 - qt-copy-patches-20080606