commit 44ab6740789773f4a92eff6f2f4508dc669dc560 Author: dogsheng <960055655@qq.com> Date: Tue Nov 19 11:55:48 2019 +0800 Package init diff --git a/10-qt5-check-opengl2.sh b/10-qt5-check-opengl2.sh new file mode 100644 index 0000000..57071d4 --- /dev/null +++ b/10-qt5-check-opengl2.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +if [ -z "$QT_XCB_FORCE_SOFTWARE_OPENGL" ]; then + +QT5_CHECK_OPENGL_VERSION=`LANG=C glxinfo 2> /dev/null | grep '^OpenGL version string: ' | head -n 1 | sed -e 's/^OpenGL version string: \([0-9]\).*$/\1/g'` ||: + +if [ "$QT5_CHECK_OPENGL_VERSION" == "1" ]; then + QT_XCB_FORCE_SOFTWARE_OPENGL=1 + export QT_XCB_FORCE_SOFTWARE_OPENGL +fi + +unset QT5_CHECK_OPENGL_VERSION + +fi diff --git a/macros.qt5-qtbase b/macros.qt5-qtbase new file mode 100644 index 0000000..836471f --- /dev/null +++ b/macros.qt5-qtbase @@ -0,0 +1,4 @@ +%_qt5 @@NAME@@ +%_qt5_epoch @@EPOCH@@ +%_qt5_version @@VERSION@@ +%_qt5_evr @@EVR@@ diff --git a/qconfig-multilib.h b/qconfig-multilib.h new file mode 100644 index 0000000..a104c37 --- /dev/null +++ b/qconfig-multilib.h @@ -0,0 +1,23 @@ +/* qconfig.h */ +/* This file is here to prevent a file conflict on multiarch systems. A + * conflict will occur because qconfig.h has arch-specific definitions. + * + * DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */ + +#ifndef QCONFIG_MULTILIB_H +#define QCONFIG_MULTILIB_H + +#ifndef __WORDSIZE +#include +#endif + +#if __WORDSIZE == 32 +#include "QtCore/qconfig-32.h" +#elif __WORDSIZE == 64 +#include "QtCore/qconfig-64.h" +#else +#error "unexpected value for __WORDSIZE macro" +#endif + +#endif + diff --git a/qt5-qtbase-5.9.1-firebird.patch b/qt5-qtbase-5.9.1-firebird.patch new file mode 100644 index 0000000..a3510d9 --- /dev/null +++ b/qt5-qtbase-5.9.1-firebird.patch @@ -0,0 +1,32 @@ +diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json +index 234f880..7b13671 100644 +--- a/src/plugins/sqldrivers/configure.json ++++ b/src/plugins/sqldrivers/configure.json +@@ -50,11 +50,12 @@ + "ibase": { + "label": "InterBase", + "test": { +- "include": "ibase.h" ++ "include": "firebird/ibase.h" + }, + "sources": [ + { "libs": "-lgds32_ms", "condition": "config.win32" }, +- { "libs": "-lgds", "condition": "!config.win32" } ++ { "libs": "-lgds", "condition": "!config.win32" }, ++ { "libs": "-lfbclient", "condition": "!config.win32" } + ] + }, + "mysql": { +diff --git a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h +index c7cee41..6a9c56c 100644 +--- a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h ++++ b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h +@@ -52,7 +52,7 @@ + // + + #include +-#include ++#include + + #ifdef QT_PLUGIN + #define Q_EXPORT_SQLDRIVER_IBASE diff --git a/qt5-qtbase-cxxflag.patch b/qt5-qtbase-cxxflag.patch new file mode 100644 index 0000000..321f051 --- /dev/null +++ b/qt5-qtbase-cxxflag.patch @@ -0,0 +1,13 @@ +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index e7e6ee1..ff2a939 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -32,7 +32,7 @@ + # + + QMAKE_CFLAGS_OPTIMIZE = -O2 +-QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 ++QMAKE_CFLAGS_OPTIMIZE_FULL = -O2 + QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og + QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os + diff --git a/qt5-qtbase-glibc.patch b/qt5-qtbase-glibc.patch new file mode 100644 index 0000000..022b698 --- /dev/null +++ b/qt5-qtbase-glibc.patch @@ -0,0 +1,53 @@ +diff -up qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h.glibc qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h +--- qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h.glibc 2018-06-15 09:29:31.000000000 +0200 ++++ qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h 2018-07-26 15:40:56.887961897 +0200 +@@ -72,7 +72,9 @@ + #include + #include + #include ++#if 0 + #include ++#endif + #include + #include + +diff -up qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp.glibc qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp +--- qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp.glibc 2018-06-15 09:29:31.000000000 +0200 ++++ qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp 2018-07-26 16:34:54.346840184 +0200 +@@ -50,7 +50,9 @@ + #include + #include // for realpath() + #include ++#if 0 + #include ++#endif + #include + #include + #include +@@ -91,7 +93,9 @@ extern "C" NSString *NSTemporaryDirector + # include + # include + # include ++#if 0 + # include ++#endif + + // in case linux/fs.h is too old and doesn't define it: + #ifndef FICLONE +@@ -105,13 +109,13 @@ extern "C" NSString *NSTemporaryDirector + # undef SYS_renameat2 + # undef SYS_statx + # undef STATX_BASIC_STATS +-# else +-# if !QT_CONFIG(renameat2) && defined(SYS_renameat2) ++# else ++# if 0 && !QT_CONFIG(renameat2) && defined(SYS_renameat2) + static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags) + { return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); } + # endif + +-# if !QT_CONFIG(statx) && defined(SYS_statx) ++# if 0 && !QT_CONFIG(statx) && defined(SYS_statx) + static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf) + { return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); } + # elif !QT_CONFIG(statx) && !defined(SYS_statx) diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec new file mode 100644 index 0000000..e9ecc61 --- /dev/null +++ b/qt5-qtbase.spec @@ -0,0 +1,403 @@ +%global __provides_exclude_from ^%{_qt5_plugindir}/.*\\.so$ +%global __requires_exclude_from ^%{_qt5_plugindir}/platformthemes/.*$ +%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) +%global priority 10 +%ifarch x86_64 +%global priority 15 +%endif + +%if 0%{?use_clang} +%global platform linux-clang +%endif + +Name: qt5-qtbase +Summary: Core component of Qt toolkit +Version: 5.11.1 +Release: 8 +License: LGPLv2 with exceptions or GPLv3 with exceptions +Url: http://qt-project.org/ +Source0: https://download.qt.io/official_releases/qt/5.11/%{version}/submodules/qtbase-everywhere-src-%{version}.tar.xz +Source1: qtlogging.ini +Source2: qconfig-multilib.h +Source3: 10-qt5-check-opengl2.sh +Source4: macros.qt5-qtbase + +Patch0001: qtbase-multilib_optflags.patch +Patch0002: qtbase-opensource-src-5.3.2-QTBUG-35459.patch +Patch0003: tell-the-truth-about-private-api.patch +Patch0004: qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch +Patch0005: qtbase-hidpi_scale_at_192.patch +Patch0006: qtbase-opensource-src-5.7.1-moc_macros.patch +Patch0007: qtbase-qmake_LFLAGS.patch +Patch0008: qt5-qtbase-cxxflag.patch +Patch0009: qt5-qtbase-5.9.1-firebird.patch +Patch0010: qtbase-everywhere-src-5.11.1-python3.patch +Patch0011: qt5-qtbase-glibc.patch + +BuildRequires: pkgconfig(libsystemd) cups-devel desktop-file-utils findutils +BuildRequires: libjpeg-devel libmng-devel libtiff-devel pkgconfig(alsa) +BuildRequires: pkgconfig(atspi-2) pkgconfig(dbus-1) pkgconfig(libdrm) +BuildRequires: pkgconfig(fontconfig) pkgconfig(gl) pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gtk+-3.0) pkgconfig(libproxy-1.0) pkgconfig(ice) pkgconfig(sm) +BuildRequires: pkgconfig(libpng) pkgconfig(libudev) openssl-devel%{?openssl11: >= 1.1} +BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib) +BuildRequires: pkgconfig(xkeyboard-config) pkgconfig(egl) pkgconfig(gbm) pkgconfig(glesv2) +BuildRequires: pkgconfig(sqlite3) >= 3.7 pkgconfig(icu-i18n) pkgconfig(libpcre2-posix) >= 10.20 +BuildRequires: pkgconfig(libpcre) >= 8.0 pkgconfig(xcb-xkb) pkgconfig(xcb) pkgconfig(xcb-glx) +BuildRequires: pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms) +BuildRequires: pkgconfig(xcb-renderutil) pkgconfig(zlib) perl-generators qt5-rpm-macros + +%if 0%{?use_clang} +BuildRequires: clang >= 3.7.0 +%else +BuildRequires: gcc-c++ +%endif + +%if 0%{?tests} +BuildRequires: dbus-x11 mesa-dri-drivers time xorg-x11-server-Xvfb +%endif + +%if 0%{?use_clang} +BuildRequires: clang >= 3.7.0 +%else +BuildRequires: gcc-c++ +%endif + +Requires(post): chkconfig +Requires(postun): chkconfig +Requires: qt-settings %{name}-common = %{version}-%{release} +Provides: bundled(libxkbcommon) = 0.4.1 + +%description +This package provides base tools, such as string, xml, and network +handling. + +%package common +Summary: Common files for qt5-qtbase +Obsoletes: qt5-qtquick1 < 5.9.0 qt5-qtquick1-devel < 5.9.0 +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +%description common +The qt5-qtbase-common package contains common files for qt5-qtbase. + +%package devel +Summary: Library and header files for qt5-qtbase +Requires: %{name} = %{version}-%{release} %{name}-gui pkgconfig(egl) pkgconfig(gl) +Requires: qt5-rpm-macros pkgconfig(fontconfig) pkgconfig(glib-2.0) pkgconfig(zlib) +%if 0%{?use_clang} +Requires: clang >= 3.7.0 +%endif +Provides: %{name}-private-devel = %{version}-%{release} +Provides: %{name}-static = %{version}-%{release} %{name}-examples = %{version}-%{release} +Obsoletes: %{name}-static < %{version}-%{release} %{name}-examples < %{version}-%{release} +%description devel +The qt5-qtbase-devel contains libraries and header files for qt5-qtbase. + +%package mysql +Summary: MySQL driver for Qt5's SQL classes +BuildRequires: mariadb-connector-c-devel +Requires: %{name} = %{version}-%{release} +%description mysql +Qt5-qtbase-mysql provides MySQL driver for Qt5's SQL classes. + +%package odbc +Summary: ODBC driver for Qt5's SQL classes +BuildRequires: unixODBC-devel +Requires: %{name} = %{version}-%{release} +%description odbc +Qt5-qtbase-odbc provides ODBC driver for Qt5's SQL classes. + +%package postgresql +Summary: PostgreSQL driver for Qt5's SQL classes +BuildRequires: postgresql-devel +Requires: %{name} = %{version}-%{release} +%description postgresql +Qt5-qtbase-postgresql provides postgreSQL driver for Qt5's SQL classes. + + +%package gui +Summary: Qt5 GUI-related libraries +Requires: %{name} = %{version}-%{release} glx-utils +Provides: qt5-qtbase-x11 = %{version}-%{release} +Obsoletes: qt5-qtbase-x11 < 5.2.0 +%description gui +qt5-qtbase-gui is a library helps to draw widgets and OpenGL items with. + +%prep +%autosetup -n qtbase-everywhere-src-%{version} -p1 + +pushd src/3rdparty +mkdir UNUSED +mv freetype libjpeg libpng zlib sqlite xcb UNUSED/ +popd + +test -x configure || chmod +x configure + +sed -i -e "s|^#!/usr/bin/env perl$|#!%{__perl}|" \ + bin/fixqt4headers.pl bin/syncqt.pl mkspecs/features/data/unix/findclasslist.pl + + +%build +RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` +RPM_OPT_FLAGS="$RPM_OPT_FLAGS %{?qt5_arm_flag} %{?qt5_deprecated_flag} %{?qt5_null_flag}" + +%if 0%{?use_clang} +RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fno-delete-null-pointer-checks||g'` +%endif + +export CFLAGS="$CFLAGS $RPM_OPT_FLAGS" CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS" +export LDFLAGS="$LDFLAGS $RPM_LD_FLAGS" MAKEFLAGS="%{?_smp_mflags}" + +./configure -verbose -confirm-license -opensource -prefix %{_qt5_prefix} \ + -archdatadir %{_qt5_archdatadir} -bindir %{_qt5_bindir} -libdir %{_qt5_libdir} \ + -libexecdir %{_qt5_libexecdir} -datadir %{_qt5_datadir} -docdir %{_qt5_docdir} \ + -examplesdir %{_qt5_examplesdir} -headerdir %{_qt5_headerdir} -importdir %{_qt5_importdir} \ + -plugindir %{_qt5_plugindir} -sysconfdir %{_qt5_sysconfdir} -translationdir %{_qt5_translationdir} \ + -platform linux-g++ -release -shared -accessibility -dbus-linked -fontconfig -glib -gtk \ + -no-sql-ibase -icu -journald -optimized-qmake -openssl-linked %{!?tests:-nomake tests} -no-pch \ + -no-rpath -no-separate-debug-info -no-strip -system-libjpeg -system-libpng %{?harfbuzz} -system-pcre \ + -system-sqlite -no-sql-tds %{?xcb} -qt-xkbcommon -system-zlib %{?use_gold_linker} -no-directfb \ + QMAKE_CFLAGS_RELEASE="${CFLAGS:-$RPM_OPT_FLAGS}" QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-$RPM_OPT_FLAGS}" \ + QMAKE_LFLAGS_RELEASE="${LDFLAGS:-$RPM_LD_FLAGS}" + +make clean -C qmake +%make_build -C qmake all binary QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-$RPM_OPT_FLAGS}" \ + QMAKE_CFLAGS_RELEASE="${CFLAGS:-$RPM_OPT_FLAGS}" QMAKE_LFLAGS_RELEASE="${LDFLAGS:-$RPM_LD_FLAGS}" QMAKE_STRIP= + +%make_build + +%install +make install INSTALL_ROOT=%{buildroot} + +install -m644 -p -D %{SOURCE1} %{buildroot}%{_qt5_datadir}/qtlogging.ini + +cat >%{buildroot}%{_libdir}/pkgconfig/Qt5.pc< 5-%{__isa_bits}.conf +echo "%{_qt5_prefix}" >> 5-%{__isa_bits}.conf +touch default.conf 5.conf +popd + +pushd %{buildroot}%{_qt5_libdir} +for file in libQt5*.prl ; do + sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${file} + if [ -f "$(basename ${file} .prl).so" ]; then + rm -fv "$(basename ${file} .prl).la" + sed -i -e "/^QMAKE_PRL_LIBS/d" ${file} + fi +done +popd + +install -p -m755 -D %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/10-qt5-check-opengl2.sh + +privat_header_file=%{buildroot}%{_qt5_headerdir}/QtCore/%{version}/QtCore/private/qconfig_p.h +grep -v QT_FEATURE_sse2 $privat_header_file > ${privat_header_file}.me +mv ${privat_header_file}.me ${privat_header_file} +cat >>${privat_header_file}<& /dev/null ||: + +%{_sbindir}/update-alternatives --remove qtchooser-default \ + %{_sysconfdir}/xdg/qtchooser/qt5.conf >& /dev/null ||: +fi + +%post +%{?ldconfig} +%{_sbindir}/update-alternatives --install %{_sysconfdir}/xdg/qtchooser/5.conf \ + qtchooser-5 %{_sysconfdir}/xdg/qtchooser/5-%{__isa_bits}.conf %{priority} + +%{_sbindir}/update-alternatives --install %{_sysconfdir}/xdg/qtchooser/default.conf \ + qtchooser-default %{_sysconfdir}/xdg/qtchooser/5.conf %{priority} + +%postun +%{?ldconfig} +if [ $1 -eq 0 ]; then +%{_sbindir}/update-alternatives --remove qtchooser-5 \ + %{_sysconfdir}/xdg/qtchooser/5-%{__isa_bits}.conf + +%{_sbindir}/update-alternatives --remove qtchooser-default \ + %{_sysconfdir}/xdg/qtchooser/5.conf +fi + +%files +%license LICENSE.LGPL* LGPL_EXCEPTION.txt LICENSE.FDL +%dir %{_sysconfdir}/xdg/qtchooser +%ghost %{_sysconfdir}/xdg/qtchooser/default.conf +%ghost %{_sysconfdir}/xdg/qtchooser/5.conf +%{_sysconfdir}/xdg/qtchooser/5-%{__isa_bits}.conf +%dir %{_qt5_docdir}/ +%dir %{_qt5_datadir}/ +%dir %{_qt5_archdatadir}/ +%dir %{_qt5_libexecdir}/ +%dir %{_sysconfdir}/xdg/QtProject/ +%dir %{_qt5_libdir}/cmake/{Qt5/,Qt5Concurrent/,Qt5Core/,Qt5DBus/,Qt5Gui/} +%dir %{_qt5_libdir}/cmake/{Qt5Network/,Qt5OpenGL/,Qt5PrintSupport/,Qt5Sql/} +%dir %{_qt5_libdir}/cmake/{Qt5Test/,Qt5Widgets/,Qt5Xml/} +%dir %{_qt5_plugindir}/{designer/,generic/,iconengines/,imageformats/} +%dir %{_qt5_plugindir}/{platforminputcontexts/,platforms/,platformthemes/} +%dir %{_qt5_plugindir}/{printsupport/,script/,sqldrivers/,styles/,bearer/} +%if "%{_qt5_prefix}" != "%{_prefix}" +%dir %{_qt5_prefix}/ +%endif +%{_qt5_docdir}/global/ +%{_qt5_importdir}/ +%{_qt5_translationdir}/ +%{_qt5_datadir}/qtlogging.ini +%{_qt5_plugindir}/sqldrivers/libqsqlite.so +%{_qt5_plugindir}/bearer/{libqconnmanbearer,libqgenericbearer,libqnmbearer}.so +%{_qt5_libdir}/{libQt5Concurrent,libQt5Core,libQt5DBus,libQt5Network}.so.5* +%{_qt5_libdir}/{libQt5Sql,libQt5Test,libQt5Xml}.so.5* +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QSQLiteDriverPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Network/Qt5Network_Q*EnginePlugin.cmake + +%files common +%{rpm_macros_dir}/macros.qt5-qtbase + +%files devel +%if "%{_qt5_bindir}" != "%{_bindir}" +%dir %{_qt5_bindir} +%endif +%if "%{_qt5_headerdir}" != "%{_includedir}" +%dir %{_qt5_headerdir} +%endif +%{_bindir}/{qlalr,fixqt4headers.pl,qvkgen} +%{_bindir}/{moc*,qdbuscpp2xml*,qdbusxml2cpp*,qmake*,rcc*,syncqt*,uic*} +%{_qt5_bindir}/{moc*,qdbuscpp2xml*,qdbusxml2cpp*,qmake*,rcc*} +%{_qt5_bindir}/{syncqt*,uic*,qlalr,fixqt4headers.pl,qvkgen} +%{_qt5_headerdir}/Qt*Support +%{_qt5_headerdir}/{QtConcurrent/,QtCore/,QtDBus/,QtGui/,QtNetwork/,QtOpenGL/,QtOpenGLExtensions/} +%{_qt5_headerdir}/{QtPlatformHeaders/,QtSql/,QtTest/,QtWidgets/} +%{_qt5_headerdir}/{QtXcb/,QtXml/,QtEglFSDeviceIntegration} +%{_qt5_archdatadir}/mkspecs/ +%{_qt5_libdir}/libQt5*.{so,*a,prl} +%{_qt5_libdir}/cmake/Qt5/{Qt5Config*,Qt5ModuleLocation}.cmake +%{_qt5_libdir}/cmake/Qt5OpenGLExtensions/ +%{_qt5_libdir}/cmake/Qt5Concurrent/Qt5ConcurrentConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Core/{Qt5CoreConfig*,Qt5CoreMacros,Qt5CTestMacros}.cmake +%{_qt5_libdir}/cmake/Qt5DBus/{Qt5DBusConfig*,Qt5DBusMacros}.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5GuiConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Network/Qt5NetworkConfig*.cmake +%{_qt5_libdir}/cmake/Qt5OpenGL/Qt5OpenGLConfig*.cmake +%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupportConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Sql/Qt5SqlConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Test/Qt5TestConfig*.cmake +%{_qt5_libdir}/cmake/Qt5Widgets/{Qt5WidgetsConfig*,Qt5WidgetsMacros}.cmake +%{_qt5_libdir}/cmake/Qt5Xml/Qt5XmlConfig*.cmake +%{_qt5_libdir}/pkgconfig/Qt5*.pc +%{_qt5_libdir}/libQt5EglFsKmsSupport.{prl,so} +%{_qt5_examplesdir}/ + +%files mysql +%{_qt5_plugindir}/sqldrivers/libqsqlmysql.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QMYSQLDriverPlugin.cmake + +%files odbc +%{_qt5_plugindir}/sqldrivers/libqsqlodbc.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake + +%files postgresql +%{_qt5_plugindir}/sqldrivers/libqsqlpsql.so +%{_qt5_libdir}/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake + + +%post gui -p /sbin/ldconfig +%postun gui -p /sbin/ldconfig + +%files gui +%dir %{_sysconfdir}/X11/xinit/xinitrc.d/ +%dir %{_qt5_plugindir}/egldeviceintegrations/ +%{_sysconfdir}/X11/xinit/xinitrc.d/10-qt5-check-opengl2.sh +%{_qt5_libdir}/{libQt5Gui,libQt5OpenGL,libQt5PrintSupport,libQt5Widgets,libQt5XcbQpa}.so.5* +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*Plugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*PlatformInputContextPlugin.cmake +%{_qt5_libdir}/{libQt5EglFSDeviceIntegration,libQt5EglFsKmsSupport}.so.5* +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*IntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_Q*ThemePlugin.cmake +%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbGlxIntegrationPlugin.cmake +%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupport_QCupsPrinterSupportPlugin.cmake +%{_qt5_plugindir}/generic/{libqevdev*plugin,libqtuiotouchplugin}.so +%{_qt5_plugindir}/imageformats/{libqgif,libqico,libqjpeg}.so +%{_qt5_plugindir}/platforminputcontexts/lib*platforminputcontextplugin.so +%{_qt5_plugindir}/platforms/{libqeglfs,libqminimalegl}.so +%{_qt5_plugindir}/xcbglintegrations/libqxcb-*-integration.so +%{_qt5_plugindir}/egldeviceintegrations/libqeglfs-*-integration.so +%{_qt5_plugindir}/platforms/{libqlinuxfb,libqminimal,libqoffscreen,libqxcb,libqvnc}.so +%{_qt5_plugindir}/platformthemes/{libqflatpak,libqgtk3}.so +%{_qt5_plugindir}/printsupport/libcupsprintersupport.so + + +%changelog +* Thu Nov 07 2019 yanzhihua - 5.11.1-8 +- Package init diff --git a/qtbase-everywhere-src-5.11.1-python3.patch b/qtbase-everywhere-src-5.11.1-python3.patch new file mode 100644 index 0000000..40dfd47 --- /dev/null +++ b/qtbase-everywhere-src-5.11.1-python3.patch @@ -0,0 +1,9 @@ +diff -up qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py.me qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py +--- qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py.me 2018-06-23 11:29:21.750066271 +0200 ++++ qtbase-everywhere-src-5.11.1/mkspecs/features/uikit/devices.py 2018-06-23 11:30:07.457292033 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + + ############################################################################# + ## diff --git a/qtbase-everywhere-src-5.11.1.tar.xz b/qtbase-everywhere-src-5.11.1.tar.xz new file mode 100644 index 0000000..dffddaf Binary files /dev/null and b/qtbase-everywhere-src-5.11.1.tar.xz differ diff --git a/qtbase-hidpi_scale_at_192.patch b/qtbase-hidpi_scale_at_192.patch new file mode 100644 index 0000000..932c3a9 --- /dev/null +++ b/qtbase-hidpi_scale_at_192.patch @@ -0,0 +1,13 @@ +diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp +index ec0f9ba..6d0d7a6 100644 +--- a/src/plugins/platforms/xcb/qxcbscreen.cpp ++++ b/src/plugins/platforms/xcb/qxcbscreen.cpp +@@ -747,7 +747,7 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation) + m_sizeMillimeters = sizeInMillimeters(geometry.size(), virtualDpi()); + + qreal dpi = geometry.width() / physicalSize().width() * qreal(25.4); +- m_pixelDensity = qMax(1, qRound(dpi/96)); ++ m_pixelDensity = qMax(1, (int) (dpi/96)); // instead of rounding at 1.5, round at 2.0 (same as GNOME) + m_geometry = geometry; + m_availableGeometry = geometry & m_virtualDesktop->workArea(); + QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry); diff --git a/qtbase-multilib_optflags.patch b/qtbase-multilib_optflags.patch new file mode 100644 index 0000000..5498e79 --- /dev/null +++ b/qtbase-multilib_optflags.patch @@ -0,0 +1,33 @@ +diff -r -u a/mkspecs/linux-g++/qmake.conf b/mkspecs/linux-g++/qmake.conf +--- a/mkspecs/linux-g++/qmake.conf 2015-10-30 06:20:01.000000000 -0200 ++++ b/mkspecs/linux-g++/qmake.conf 2015-11-05 11:23:23.230741601 -0200 +@@ -5,6 +5,7 @@ + MAKEFILE_GENERATOR = UNIX + CONFIG += incremental + QMAKE_INCREMENTAL_STYLE = sublib ++QMAKE_CFLAGS_RELEASE += -O2 + + include(../common/linux.conf) + include(../common/gcc-base-unix.conf) +diff -r -u a/mkspecs/linux-g++-32/qmake.conf b/mkspecs/linux-g++-32/qmake.conf +--- a/mkspecs/linux-g++-32/qmake.conf 2015-10-30 06:20:01.000000000 -0200 ++++ b/mkspecs/linux-g++-32/qmake.conf 2015-11-05 11:22:19.761494470 -0200 +@@ -10,6 +10,7 @@ + + QMAKE_CFLAGS = -m32 + QMAKE_LFLAGS = -m32 ++QMAKE_CFLAGS_RELEASE += -O2 + + include(../common/gcc-base-unix.conf) + include(../common/g++-unix.conf) +diff -r -u a/mkspecs/linux-g++-64/qmake.conf b/mkspecs/linux-g++-64/qmake.conf +--- a/mkspecs/linux-g++-64/qmake.conf 2015-10-30 06:20:01.000000000 -0200 ++++ b/mkspecs/linux-g++-64/qmake.conf 2015-11-05 11:22:49.497610248 -0200 +@@ -13,6 +13,7 @@ + + QMAKE_CFLAGS = -m64 + QMAKE_LFLAGS = -m64 ++QMAKE_CFLAGS_RELEASE += -O2 + + include(../common/gcc-base-unix.conf) + include(../common/g++-unix.conf) diff --git a/qtbase-opensource-src-5.3.2-QTBUG-35459.patch b/qtbase-opensource-src-5.3.2-QTBUG-35459.patch new file mode 100644 index 0000000..e156250 --- /dev/null +++ b/qtbase-opensource-src-5.3.2-QTBUG-35459.patch @@ -0,0 +1,13 @@ +diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp +diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h +--- qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 2014-09-11 05:48:05.000000000 -0500 ++++ qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h 2014-09-16 09:35:01.189255615 -0500 +@@ -223,7 +223,7 @@ private: + // for the DTD currently being parsed. + static const int dtdRecursionLimit = 2; + // The maximum amount of characters an entity value may contain, after expansion. +- static const int entityCharacterLimit = 1024; ++ static const int entityCharacterLimit = 4096; + + const QString &string(); + void stringClear(); diff --git a/qtbase-opensource-src-5.7.1-moc_macros.patch b/qtbase-opensource-src-5.7.1-moc_macros.patch new file mode 100644 index 0000000..75dc9ff --- /dev/null +++ b/qtbase-opensource-src-5.7.1-moc_macros.patch @@ -0,0 +1,15 @@ +diff -up qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp.moc_WORDSIZE qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp +--- qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp.moc_WORDSIZE 2016-12-01 02:17:04.000000000 -0600 ++++ qtbase-opensource-src-5.7.1/src/tools/moc/main.cpp 2016-12-08 12:37:28.931589338 -0600 +@@ -179,6 +179,11 @@ int runMoc(int argc, char **argv) + Moc moc; + pp.macros["Q_MOC_RUN"]; + pp.macros["__cplusplus"]; ++ pp.macros["_SYS_SYSMACROS_H_OUTER"]; ++ Macro macro; ++ macro.symbols = Preprocessor::tokenize(QByteArray::number(Q_PROCESSOR_WORDSIZE*8), 1, Preprocessor::TokenizeDefine); ++ macro.symbols.removeLast(); // remove the EOF symbol ++ pp.macros.insert("__WORDSIZE", macro); + + // Don't stumble over GCC extensions + Macro dummyVariadicFunctionMacro; diff --git a/qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch b/qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch new file mode 100644 index 0000000..d94caf4 --- /dev/null +++ b/qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch @@ -0,0 +1,11 @@ +--- qtbase-opensource-src-5.8.0/src/corelib/global/qglobal.h.orig 2017-01-26 10:45:40.905010896 +0100 ++++ qtbase-opensource-src-5.8.0/src/corelib/global/qglobal.h 2017-01-26 10:46:50.299858887 +0100 +@@ -55,7 +55,7 @@ + /* + can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0)) + */ +-#define QT_VERSION_CHECK(major, minor, patch) ((major<<16)|(minor<<8)|(patch)) ++#define QT_VERSION_CHECK(qt_version_check_major, qt_version_check_minor, qt_version_check_patch) ((qt_version_check_major<<16)|(qt_version_check_minor<<8)|(qt_version_check_patch)) + + #ifdef QT_BOOTSTRAPPED + #include diff --git a/qtbase-qmake_LFLAGS.patch b/qtbase-qmake_LFLAGS.patch new file mode 100644 index 0000000..fbb37dd --- /dev/null +++ b/qtbase-qmake_LFLAGS.patch @@ -0,0 +1,12 @@ +diff -up qtbase-everywhere-src-5.10.1/qmake/Makefile.unix.qmake_LFLAGS qtbase-everywhere-src-5.10.1/qmake/Makefile.unix +--- qtbase-everywhere-src-5.10.1/qmake/Makefile.unix.qmake_LFLAGS 2018-02-08 12:24:48.000000000 -0600 ++++ qtbase-everywhere-src-5.10.1/qmake/Makefile.unix 2018-02-15 10:25:07.077763061 -0600 +@@ -142,7 +142,7 @@ CPPFLAGS = -g $(EXTRA_CPPFLAGS) \ + -DQT_NO_FOREACH + + CXXFLAGS = $(EXTRA_CXXFLAGS) $(CONFIG_CXXFLAGS) $(CPPFLAGS) +-LFLAGS = $(EXTRA_LFLAGS) $(CONFIG_LFLAGS) ++LFLAGS = $(EXTRA_LFLAGS) $(CONFIG_LFLAGS) $(QMAKE_LFLAGS_RELEASE) + + first all: $(BUILD_PATH)/bin/qmake$(EXEEXT) + qmake: $(BUILD_PATH)/bin/qmake$(EXEEXT) diff --git a/qtlogging.ini b/qtlogging.ini new file mode 100644 index 0000000..ead33b6 --- /dev/null +++ b/qtlogging.ini @@ -0,0 +1,3 @@ +[Rules] +*.debug=false +qt.qpa.xcb.xcberror.warning=false diff --git a/tell-the-truth-about-private-api.patch b/tell-the-truth-about-private-api.patch new file mode 100644 index 0000000..2dbced4 --- /dev/null +++ b/tell-the-truth-about-private-api.patch @@ -0,0 +1,16 @@ +diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf +index e6a0d97..cf93041 100644 +--- a/mkspecs/features/qt_module.prf ++++ b/mkspecs/features/qt_module.prf +@@ -216,9 +216,9 @@ android: CONFIG += qt_android_deps no_linker_version_script + QMAKE_LFLAGS += $${QMAKE_LFLAGS_VERSION_SCRIPT}$$verscript + + internal_module { +- verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API { *; };" ++ verscript_content = "Qt_$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}_PRIVATE_API { *; };" + } else { +- verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API {" \ ++ verscript_content = "Qt_$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}_PRIVATE_API {" \ + " qt_private_api_tag*;" + + private_api_headers = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.QPA_HEADER_FILES