[mingw-qt5-qtbase] Update to 5.1.0 and use external pcre

Erik van Pienbroek epienbro at fedoraproject.org
Thu Jul 11 20:11:26 UTC 2013


commit 7a3562e7c38aa0ef998cf3389b069a3ad5b92ef4
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Thu Jul 11 22:10:53 2013 +0200

    Update to 5.1.0 and use external pcre
    
    - Update to 5.1.0
    - Fix detection of external pcre library
    - Added BR: mingw32-pcre mingw64-pcre

 .gitignore                                         |    1 +
 mingw-qt5-qtbase.spec                              |  118 ++++++++++++--------
 qmake.conf.win32                                   |   18 ++--
 qmake.conf.win64                                   |   18 ++--
 qt5-add-angle-support.patch                        |   18 ++--
 qt5-dwrite-compile-fix.patch                       |   30 -----
 ...-compilation-when-freetype-isnt-available.patch |   15 +++
 qt5-qtbase-fix-linking-against-static-pcre.patch   |   13 ++
 qt5-use-external-angle-library.patch               |   23 +++-
 sources                                            |    2 +-
 10 files changed, 146 insertions(+), 110 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 0c53aef..408f9e6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 /qtbase-opensource-src-5.0.0.tar.xz
 /qtbase-opensource-src-5.0.1.tar.xz
 /qtbase-opensource-src-5.0.2.tar.xz
+/qtbase-opensource-src-5.1.0.tar.xz
diff --git a/mingw-qt5-qtbase.spec b/mingw-qt5-qtbase.spec
index aa31707..a39a719 100644
--- a/mingw-qt5-qtbase.spec
+++ b/mingw-qt5-qtbase.spec
@@ -18,9 +18,12 @@
 %global source_folder qtbase-opensource-src-%{version}%{?pre:-%{pre}}
 %endif
 
+# first two digits of version
+%global release_version %(echo %{version} | awk -F. '{print $1"."$2}')
+
 Name:           mingw-qt5-qtbase
-Version:        5.0.2
-Release:        3%{?pre:.%{pre}}%{?snapshot_date:.git%{snapshot_date}.%{snapshot_rev}}%{?dist}
+Version:        5.1.0
+Release:        1%{?pre:.%{pre}}%{?snapshot_date:.git%{snapshot_date}.%{snapshot_rev}}%{?dist}
 Summary:        Qt5 for Windows - QtBase component
 
 License:        GPLv3 with exceptions or LGPLv2 with exceptions
@@ -32,17 +35,13 @@ URL:            http://www.qtsoftware.com/
 # wget http://qt.gitorious.org/qt/qtbase/archive-tarball/%{snapshot_rev} -O qt5-qtbase-%{snapshot_rev}.tar.gz
 Source0:        qt5-qtbase-%{snapshot_rev}.tar.gz
 %else
-Source0:        http://releases.qt-project.org/qt5/%{version}/submodules/qtbase-opensource-src-%{version}%{?pre:-%{pre}}.tar.xz
+Source0:        http://download.qt-project.org/official_releases/qt/%{release_version}/%{version}/submodules/qtbase-opensource-src-%{version}%{?pre:-%{pre}}.tar.xz
 %endif
 
 # Special cross-compilation qmake target.
 Source1:        qmake.conf.win32
 Source2:        qmake.conf.win64
 
-# Try harder to locate external OpenSSL libraries
-# https://codereview.qt-project.org/#change,47079
-Patch2:         qt5-fix-detection-of-openssl.patch
-
 # When building Qt as static library some files have a different content
 # when compared to the static library. Merge those changes manually.
 # This patch also applies some additional changes which are required to make
@@ -81,14 +80,25 @@ Patch14:        qt5-prevent-conflict-with-interface-keyword.patch
 # https://bugzilla.redhat.com/show_bug.cgi?id=858080
 Patch15:        qt5-workaround-pkgconfig-install-issue.patch
 
-# Fix compilation of the DirectWrite specific code
-# Commit 9a89d614f26262fcb6895d1dab93519d732ba011
-Patch16:        qt5-dwrite-compile-fix.patch
+# Fix the compilation when freetype isn't available
+# i686-w64-mingw32-g++ -g -shared -Wl,--out-implib,/home/erik/fedora/mingw-qt5-qtbase/build_release_shared_win32/plugins/platforms/libqoffscreen.a -o ../../../../plugins/platforms/qoffscreen.dll .obj/release-shared/main.o .obj/release-shared/qoffscreenintegration.o .obj/release-shared/qoffscreenwindow.o .obj/release-shared/qoffscreencommon.o .obj/release-shared/qoffscreenintegration_dummy.o  -L/home/erik/fedora/mingw-qt5-qtbase/build_release_shared_win32/lib -lQt5PlatformSupport -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -ljpeg -lpng -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -lkernel32 -lz -lQt5Gui -lQt5Core -lEGL -lGLESv2 -lgdi32 -luser32 
+# .obj/release-shared/qoffscreenintegration.o: In function `QBasicFontDatabase':
+# /home/erik/fedora/mingw-qt5-qtbase/build_release_shared_win32/src/plugins/platforms/offscreen/../../../../include/QtPlatformSupport/5.1.0/QtPlatformSupport/private/../../../../../../qtbase-opensource-src-5.1.0-beta1/src/platformsupport/fontdatabases/basic/qbasicfontdatabase_p.h:57: undefined reference to `vtable for QBasicFontDatabase'
+# collect2: error: ld returned 1 exit status
+# make[5]: *** [../../../../plugins/platforms/qoffscreen.dll] Error 1
+# make[5]: Leaving directory `/home/erik/fedora/mingw-qt5-qtbase/build_release_shared_win32/src/plugins/platforms/offscreen'
+Patch16:        qt5-fix-compilation-when-freetype-isnt-available.patch
 
 # Display message box if platform plugin cannot be found
 # Commit 7ead3a39c71949e28d682f893f8b4037e25d7259
 Patch17:        qt5-qtbase-display-message-box-if-platform-plugin-cannot-be-found.patch
 
+# The bundled pcre is built as static library by default
+# As we're not using the bundled copy but our own copy
+# we need to do some fiddling to fix compilation issues
+# when trying to build static qmake projects
+Patch18:        qt5-qtbase-fix-linking-against-static-pcre.patch
+
 
 BuildRequires:  mingw32-filesystem >= 95
 BuildRequires:  mingw32-gcc
@@ -104,6 +114,7 @@ BuildRequires:  mingw32-sqlite
 BuildRequires:  mingw32-dbus
 BuildRequires:  mingw32-pkg-config
 BuildRequires:  mingw32-angleproject
+BuildRequires:  mingw32-pcre
 
 BuildRequires:  mingw64-filesystem >= 95
 BuildRequires:  mingw64-gcc
@@ -119,6 +130,7 @@ BuildRequires:  mingw64-sqlite
 BuildRequires:  mingw64-dbus
 BuildRequires:  mingw64-pkg-config
 BuildRequires:  mingw64-angleproject
+BuildRequires:  mingw64-pcre
 
 BuildRequires:  zip
 BuildRequires:  dos2unix
@@ -219,8 +231,7 @@ Static version of the mingw64-qt5-qtbase library.
 %prep
 %setup -q -n %{source_folder}
 
-%patch2 -p0
-%patch3 -p0
+%patch3 -p0 -b .merge_static_shared
 %patch9 -p0 -b .angle
 %patch10 -p0 -b .external_angle
 %patch11 -p0 -b .platform_segv
@@ -228,8 +239,9 @@ Static version of the mingw64-qt5-qtbase library.
 %patch13 -p0 -b .non_x86
 %patch14 -p0 -b .interface
 %patch15 -p0 -b .pkgconfig
-%patch16 -p1 -b .dwrite
+%patch16 -p1 -b .no_freetype
 %patch17 -p1 -b .platform_msgbox
+%patch18 -p1 -b .pcre
 
 # Cross-compilation qmake target.
 mkdir mkspecs/%{platform_win32}
@@ -240,7 +252,10 @@ cp mkspecs/win32-g++/qplatformdefs.h mkspecs/%{platform_win32}
 cp mkspecs/win32-g++/qplatformdefs.h mkspecs/%{platform_win64}
 
 # Make sure the Qt5 build system uses our external ANGLE library
-rm -rf src/3rdparty/angle
+rm -rf src/3rdparty/angle include/QtANGLE/{EGL,GLES2,KHR}
+
+# As well as our external PCRE library
+rm -rf src/3rdparty/pcre
 
 
 %build
@@ -270,6 +285,8 @@ qt_configure_args_generic="\
     -make demos"
 
 qt_configure_args_win32="\
+    -hostprefix %{_prefix}/%{mingw32_target} \
+    -hostdatadir %{mingw32_datadir}/qt5 \
     -prefix %{mingw32_prefix} \
     -bindir %{mingw32_bindir} \
     -archdatadir %{mingw32_datadir}/qt5 \
@@ -284,6 +301,8 @@ qt_configure_args_win32="\
     -xplatform %{platform_win32}"
 
 qt_configure_args_win64="\
+    -hostprefix %{_prefix}/%{mingw64_target} \
+    -hostdatadir %{mingw64_datadir}/qt5 \
     -prefix %{mingw64_prefix} \
     -bindir %{mingw64_bindir} \
     -archdatadir %{mingw64_datadir}/qt5 \
@@ -362,31 +381,13 @@ mkdir $RPM_BUILD_ROOT/static
 make install -C ../build_release_static_win32$BUILDDIR INSTALL_ROOT=$RPM_BUILD_ROOT/static
 make install -C ../build_release_static_win64$BUILDDIR INSTALL_ROOT=$RPM_BUILD_ROOT/static
 
-# The libQt5Bootstrap.a library is a native Linux library which is required to build tools
-# like lrelease and lupdate which are part of the mingw-qt5-qttools package. Therefore this
-# library needs to be placed in a separate folder in order to avoid getting native and
-# win32/win64 libraries mixed up. %%{_libdir} isn't desired for this as this can potentially
-# conflict with the native Qt5 package, so use a different folder
-mkdir $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/lib/ $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/lib/
-mv $RPM_BUILD_ROOT%{mingw32_libdir}/libQt5Bootstrap.a $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/lib/
-mv $RPM_BUILD_ROOT%{mingw64_libdir}/libQt5Bootstrap.a $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/lib/
-
-# Make sure other qmake projects can find the Qt5Bootstrap library
-sed -i s@'$$QT_MODULE_LIB_BASE'@'%{_prefix}/%{mingw32_target}/lib'@ $RPM_BUILD_ROOT%{mingw32_datadir}/qt5/mkspecs/modules/qt_lib_bootstrap.pri
-sed -i s@'$$QT_MODULE_LIB_BASE'@'%{_prefix}/%{mingw64_target}/lib'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/modules/qt_lib_bootstrap.pri
-
 # The mingw gcc compiler assumes that %%{_prefix}/%%{mingw32_target}/lib and
 # %%{prefix}/%%{mingw64_target}/lib are paths which need to be searched
 # during linking for cross-compiled libraries. As this isn't intended and
 # introduces unwanted side effects (related to building mingw-qt5-qttools)
 # remove the reference to it
-sed -i s@'"%{_prefix}/%{mingw32_target}/lib" '@@ $RPM_BUILD_ROOT%{mingw32_datadir}/qt5/mkspecs/qconfig.pri
-sed -i s@'"%{_prefix}/%{mingw64_target}/lib" '@@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/qconfig.pri
-
-# The pkg-config files for Qt5Bootstrap aren't interesting as this particular
-# library only contains native code and not cross-compiled code
-rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/pkgconfig/Qt5Bootstrap.pc
-rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/pkgconfig/Qt5Bootstrap.pc
+sed -i s@'"%{_prefix}/%{mingw32_target}/lib" '@@g $RPM_BUILD_ROOT%{mingw32_datadir}/qt5/mkspecs/qconfig.pri
+sed -i s@'"%{_prefix}/%{mingw64_target}/lib" '@@g $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/qconfig.pri
 
 # Rename the .a files to .dll.a as they're actually import libraries and not static libraries
 for FN in $RPM_BUILD_ROOT%{mingw32_libdir}/*.a $RPM_BUILD_ROOT%{mingw64_libdir}/*.a ; do
@@ -425,8 +426,13 @@ rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.dll
 rm -f  $RPM_BUILD_ROOT%{mingw32_libdir}/*.prl
 rm -f  $RPM_BUILD_ROOT%{mingw64_libdir}/*.prl
 
-rm -f  $RPM_BUILD_ROOT%{mingw32_libdir}/libQt5Bootstrap.la
-rm -f  $RPM_BUILD_ROOT%{mingw64_libdir}/libQt5Bootstrap.la
+rm -f  $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/lib/libQt5Bootstrap.la
+rm -f  $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/lib/libQt5Bootstrap.prl
+rm -rf $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/lib/pkgconfig
+
+rm -f  $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/lib/libQt5Bootstrap.la
+rm -f  $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/lib/libQt5Bootstrap.prl
+rm -rf $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/lib/pkgconfig
 
 # Manually install qmake and other native tools so we don't depend anymore on
 # the version of the native Fedora Qt and also fix issues as illustrated at
@@ -437,16 +443,15 @@ mkdir -p $RPM_BUILD_ROOT%{_bindir}
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/bin
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/bin
 
-for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt; do
-    mv $RPM_BUILD_ROOT%{mingw32_bindir}/$tool $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/bin/$tool-qt5
+for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt.pl; do
+    mv $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/bin/$tool $RPM_BUILD_ROOT%{_prefix}/%{mingw32_target}/bin/$tool-qt5
     ln -s ../%{mingw32_target}/bin/$tool-qt5 $RPM_BUILD_ROOT%{_bindir}/%{mingw32_target}-$tool-qt5
-done
-ln -s %{mingw32_target}-qmake-qt5 $RPM_BUILD_ROOT%{_bindir}/mingw32-qmake-qt5
 
-for tool in qmake moc rcc uic qdbuscpp2xml qdbusxml2cpp qdoc syncqt ; do
-    mv $RPM_BUILD_ROOT%{mingw64_bindir}/$tool $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/bin/$tool-qt5
+    mv $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/bin/$tool $RPM_BUILD_ROOT%{_prefix}/%{mingw64_target}/bin/$tool-qt5
     ln -s ../%{mingw64_target}/bin/$tool-qt5 $RPM_BUILD_ROOT%{_bindir}/%{mingw64_target}-$tool-qt5
 done
+
+ln -s %{mingw32_target}-qmake-qt5 $RPM_BUILD_ROOT%{_bindir}/mingw32-qmake-qt5
 ln -s %{mingw64_target}-qmake-qt5 $RPM_BUILD_ROOT%{_bindir}/mingw64-qmake-qt5
 
 # Make sure that all Qt projects use the tools which are provided by this package
@@ -473,6 +478,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw32_libdir}/libQt5Gui.dll.a
 %{mingw32_libdir}/libQt5Network.dll.a
 %{mingw32_libdir}/libQt5OpenGL.dll.a
+%{mingw32_libdir}/libQt5OpenGLExtensions.dll.a
 %{mingw32_libdir}/libQt5PlatformSupport.dll.a
 %{mingw32_libdir}/libQt5PrintSupport.dll.a
 %{mingw32_libdir}/libQt5Sql.dll.a
@@ -486,6 +492,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw32_libdir}/pkgconfig/Qt5Gui.pc
 %{mingw32_libdir}/pkgconfig/Qt5Network.pc
 %{mingw32_libdir}/pkgconfig/Qt5OpenGL.pc
+%{mingw32_libdir}/pkgconfig/Qt5OpenGLExtensions.pc
 %{mingw32_libdir}/pkgconfig/Qt5PlatformSupport.pc
 %{mingw32_libdir}/pkgconfig/Qt5PrintSupport.pc
 %{mingw32_libdir}/pkgconfig/Qt5Sql.pc
@@ -506,17 +513,20 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %dir %{mingw32_libdir}/qt5/plugins/platforms
 %{mingw32_libdir}/qt5/plugins/platforms/qminimal.dll
 %{mingw32_libdir}/qt5/plugins/platforms/qwindows.dll
+%{mingw32_libdir}/qt5/plugins/platforms/qoffscreen.dll
 %dir %{mingw32_libdir}/qt5/plugins/printsupport
 %{mingw32_libdir}/qt5/plugins/printsupport/windowsprintersupport.dll
 %dir %{mingw32_libdir}/qt5/plugins/sqldrivers
 %{mingw32_libdir}/qt5/plugins/sqldrivers/qsqlite.dll
 %{mingw32_libdir}/qt5/plugins/sqldrivers/qsqlodbc.dll
+%{mingw32_libdir}/cmake/Qt5/
 %{mingw32_libdir}/cmake/Qt5Core/
 %{mingw32_libdir}/cmake/Qt5Concurrent/
 %{mingw32_libdir}/cmake/Qt5DBus/
 %{mingw32_libdir}/cmake/Qt5Gui/
 %{mingw32_libdir}/cmake/Qt5Network/
 %{mingw32_libdir}/cmake/Qt5OpenGL/
+%{mingw32_libdir}/cmake/Qt5OpenGLExtensions/
 %{mingw32_libdir}/cmake/Qt5PrintSupport/
 %{mingw32_libdir}/cmake/Qt5Sql/
 %{mingw32_libdir}/cmake/Qt5Test/
@@ -529,6 +539,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw32_includedir}/qt5/QtGui/
 %{mingw32_includedir}/qt5/QtNetwork/
 %{mingw32_includedir}/qt5/QtOpenGL/
+%{mingw32_includedir}/qt5/QtOpenGLExtensions/
 %{mingw32_includedir}/qt5/QtPlatformSupport/
 %{mingw32_includedir}/qt5/QtPrintSupport/
 %{mingw32_includedir}/qt5/QtSql/
@@ -545,7 +556,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{_bindir}/%{mingw32_target}-qdoc-qt5
 %{_bindir}/%{mingw32_target}-qmake-qt5
 %{_bindir}/%{mingw32_target}-rcc-qt5
-%{_bindir}/%{mingw32_target}-syncqt-qt5
+%{_bindir}/%{mingw32_target}-syncqt.pl-qt5
 %{_bindir}/%{mingw32_target}-uic-qt5
 %{_bindir}/mingw32-qmake-qt5
 %{_prefix}/%{mingw32_target}/bin/moc-qt5
@@ -554,7 +565,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{_prefix}/%{mingw32_target}/bin/qdoc-qt5
 %{_prefix}/%{mingw32_target}/bin/qmake-qt5
 %{_prefix}/%{mingw32_target}/bin/rcc-qt5
-%{_prefix}/%{mingw32_target}/bin/syncqt-qt5
+%{_prefix}/%{mingw32_target}/bin/syncqt.pl-qt5
 %{_prefix}/%{mingw32_target}/bin/uic-qt5
 %{mingw32_datadir}/qt5/
 
@@ -568,6 +579,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw32_libdir}/libQt5Gui.a
 %{mingw32_libdir}/libQt5Network.a
 %{mingw32_libdir}/libQt5OpenGL.a
+%{mingw32_libdir}/libQt5OpenGLExtensions.a
 %{mingw32_libdir}/libQt5PlatformSupport.a
 %{mingw32_libdir}/libQt5PrintSupport.a
 %{mingw32_libdir}/libQt5Sql.a
@@ -594,6 +606,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw64_libdir}/libQt5Gui.dll.a
 %{mingw64_libdir}/libQt5Network.dll.a
 %{mingw64_libdir}/libQt5OpenGL.dll.a
+%{mingw64_libdir}/libQt5OpenGLExtensions.dll.a
 %{mingw64_libdir}/libQt5PlatformSupport.dll.a
 %{mingw64_libdir}/libQt5PrintSupport.dll.a
 %{mingw64_libdir}/libQt5Sql.dll.a
@@ -607,6 +620,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw64_libdir}/pkgconfig/Qt5Gui.pc
 %{mingw64_libdir}/pkgconfig/Qt5Network.pc
 %{mingw64_libdir}/pkgconfig/Qt5OpenGL.pc
+%{mingw64_libdir}/pkgconfig/Qt5OpenGLExtensions.pc
 %{mingw64_libdir}/pkgconfig/Qt5PlatformSupport.pc
 %{mingw64_libdir}/pkgconfig/Qt5PrintSupport.pc
 %{mingw64_libdir}/pkgconfig/Qt5Sql.pc
@@ -627,17 +641,20 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %dir %{mingw64_libdir}/qt5/plugins/platforms
 %{mingw64_libdir}/qt5/plugins/platforms/qminimal.dll
 %{mingw64_libdir}/qt5/plugins/platforms/qwindows.dll
+%{mingw64_libdir}/qt5/plugins/platforms/qoffscreen.dll
 %dir %{mingw64_libdir}/qt5/plugins/printsupport
 %{mingw64_libdir}/qt5/plugins/printsupport/windowsprintersupport.dll
 %dir %{mingw64_libdir}/qt5/plugins/sqldrivers
 %{mingw64_libdir}/qt5/plugins/sqldrivers/qsqlite.dll
 %{mingw64_libdir}/qt5/plugins/sqldrivers/qsqlodbc.dll
+%{mingw64_libdir}/cmake/Qt5/
 %{mingw64_libdir}/cmake/Qt5Core/
 %{mingw64_libdir}/cmake/Qt5Concurrent/
 %{mingw64_libdir}/cmake/Qt5DBus/
 %{mingw64_libdir}/cmake/Qt5Gui/
 %{mingw64_libdir}/cmake/Qt5Network/
 %{mingw64_libdir}/cmake/Qt5OpenGL/
+%{mingw64_libdir}/cmake/Qt5OpenGLExtensions/
 %{mingw64_libdir}/cmake/Qt5PrintSupport/
 %{mingw64_libdir}/cmake/Qt5Sql/
 %{mingw64_libdir}/cmake/Qt5Test/
@@ -650,12 +667,14 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw64_includedir}/qt5/QtGui/
 %{mingw64_includedir}/qt5/QtNetwork/
 %{mingw64_includedir}/qt5/QtOpenGL/
+%{mingw64_includedir}/qt5/QtOpenGLExtensions/
 %{mingw64_includedir}/qt5/QtPlatformSupport/
 %{mingw64_includedir}/qt5/QtPrintSupport/
 %{mingw64_includedir}/qt5/QtSql/
 %{mingw64_includedir}/qt5/QtTest/
 %{mingw64_includedir}/qt5/QtWidgets/
 %{mingw64_includedir}/qt5/QtXml/
+%{mingw64_docdir}/qt5/
 
 %files -n mingw64-qt5-qmake
 %doc LGPL_EXCEPTION.txt LICENSE.FDL LICENSE.GPL LICENSE.LGPL LICENSE.PREVIEW.COMMERCIAL
@@ -665,7 +684,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{_bindir}/%{mingw64_target}-qdoc-qt5
 %{_bindir}/%{mingw64_target}-qmake-qt5
 %{_bindir}/%{mingw64_target}-rcc-qt5
-%{_bindir}/%{mingw64_target}-syncqt-qt5
+%{_bindir}/%{mingw64_target}-syncqt.pl-qt5
 %{_bindir}/%{mingw64_target}-uic-qt5
 %{_bindir}/mingw64-qmake-qt5
 %{_prefix}/%{mingw64_target}/bin/moc-qt5
@@ -674,10 +693,9 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{_prefix}/%{mingw64_target}/bin/qdoc-qt5
 %{_prefix}/%{mingw64_target}/bin/qmake-qt5
 %{_prefix}/%{mingw64_target}/bin/rcc-qt5
-%{_prefix}/%{mingw64_target}/bin/syncqt-qt5
+%{_prefix}/%{mingw64_target}/bin/syncqt.pl-qt5
 %{_prefix}/%{mingw64_target}/bin/uic-qt5
 %{mingw64_datadir}/qt5/
-%{mingw64_docdir}/qt5/
 
 %files -n mingw64-qt5-qtbase-devel
 %{_prefix}/%{mingw64_target}/lib/libQt5Bootstrap.a
@@ -689,6 +707,7 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 %{mingw64_libdir}/libQt5Gui.a
 %{mingw64_libdir}/libQt5Network.a
 %{mingw64_libdir}/libQt5OpenGL.a
+%{mingw64_libdir}/libQt5OpenGLExtensions.a
 %{mingw64_libdir}/libQt5PlatformSupport.a
 %{mingw64_libdir}/libQt5PrintSupport.a
 %{mingw64_libdir}/libQt5Sql.a
@@ -698,6 +717,11 @@ sed -i s@'#QT_TOOL'@'QT_TOOL'@ $RPM_BUILD_ROOT%{mingw64_datadir}/qt5/mkspecs/%{p
 
 
 %changelog
+* Wed Jul 10 2013 Erik van Pienbroek <epienbro at fedoraproject.org> - 5.1.0-1
+- Update to 5.1.0
+- Fix detection of external pcre library
+- Added BR: mingw32-pcre mingw64-pcre
+
 * Wed Jul 10 2013 Erik van Pienbroek <epienbro at fedoraproject.org> - 5.0.2-3
 - Display message box if platform plugin cannot be found (QTBUG-31765, QTBUG-31760)
 
diff --git a/qmake.conf.win32 b/qmake.conf.win32
index afc528d..c38a7cd 100644
--- a/qmake.conf.win32
+++ b/qmake.conf.win32
@@ -80,7 +80,7 @@ QMAKE_EXTENSION_STATICLIB = a
 
 
 QMAKE_LIBS		=
-QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz
+QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz -lpcre16
 QMAKE_LIBS_WIDGETS      = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
 QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng
 QMAKE_LIBS_NETWORK      = -lws2_32
@@ -98,14 +98,14 @@ QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqt5main
 }
 
 PKG_CONFIG		= i686-w64-mingw32-pkg-config
-#QT_TOOL.moc.command	= i686-w64-mingw32-moc-qt5
-#QT_TOOL.uic.command	= i686-w64-mingw32-uic-qt5
-#QT_TOOL.rcc.command	= i686-w64-mingw32-rcc-qt5
-#QT_TOOL.syncqt.command	= i686-w64-mingw32-syncqt-qt5
-QT_TOOL.qdoc.command	= i686-w64-mingw32-qdoc-qt5
-QT_TOOL.qhelpgenerator.command	= i686-w64-mingw32-qhelpgenerator-qt5
-
-QT_TOOL.lrelease.command	= i686-w64-mingw32-lrelease-qt5
+#QT_TOOL.moc.binary	= i686-w64-mingw32-moc-qt5
+#QT_TOOL.uic.binary	= i686-w64-mingw32-uic-qt5
+#QT_TOOL.rcc.binary	= i686-w64-mingw32-rcc-qt5
+#QT_TOOL.syncqt.binary	= i686-w64-mingw32-syncqt.pl-qt5
+QT_TOOL.qdoc.binary	= i686-w64-mingw32-qdoc-qt5
+QT_TOOL.qhelpgenerator.binary	= i686-w64-mingw32-qhelpgenerator-qt5
+
+QT_TOOL.lrelease.binary	= i686-w64-mingw32-lrelease-qt5
 QMAKE_LRELEASE		= i686-w64-mingw32-lrelease-qt5
 
 QMAKE_IDL		= mingw-w64-widl -m32
diff --git a/qmake.conf.win64 b/qmake.conf.win64
index 2f375b0..b35b2e8 100644
--- a/qmake.conf.win64
+++ b/qmake.conf.win64
@@ -80,7 +80,7 @@ QMAKE_EXTENSION_STATICLIB = a
 
 
 QMAKE_LIBS		=
-QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz
+QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -lz -lpcre16
 QMAKE_LIBS_WIDGETS      = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
 QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32 -ljpeg -lpng
 QMAKE_LIBS_NETWORK      = -lws2_32
@@ -98,14 +98,14 @@ QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqt5main
 }
 
 PKG_CONFIG		= x86_64-w64-mingw32-pkg-config
-#QT_TOOL.moc.command	= x86_64-w64-mingw32-moc-qt5
-#QT_TOOL.uic.command	= x86_64-w64-mingw32-uic-qt5
-#QT_TOOL.rcc.command	= x86_64-w64-mingw32-rcc-qt5
-#QT_TOOL.syncqt.command	= x86_64-w64-mingw32-syncqt-qt5
-QT_TOOL.qdoc.command	= x86_64-mingw32-qdoc-qt5
-QT_TOOL.qhelpgenerator.command	= x86_64-w64-mingw32-qhelpgenerator-qt5
-
-QT_TOOL.lrelease.command	= x86_64-w64-mingw32-lrelease-qt5
+#QT_TOOL.moc.binary	= x86_64-w64-mingw32-moc-qt5
+#QT_TOOL.uic.binary	= x86_64-w64-mingw32-uic-qt5
+#QT_TOOL.rcc.binary	= x86_64-w64-mingw32-rcc-qt5
+#QT_TOOL.syncqt.binary	= x86_64-w64-mingw32-syncqt.pl-qt5
+QT_TOOL.qdoc.binary	= x86_64-mingw32-qdoc-qt5
+QT_TOOL.qhelpgenerator.binary	= x86_64-w64-mingw32-qhelpgenerator-qt5
+
+QT_TOOL.lrelease.binary	= x86_64-w64-mingw32-lrelease-qt5
 QMAKE_LRELEASE		= x86_64-w64-mingw32-lrelease-qt5
 
 QMAKE_IDL		= mingw-w64-widl -m64
diff --git a/qt5-add-angle-support.patch b/qt5-add-angle-support.patch
index d139292..469fc1c 100644
--- a/qt5-add-angle-support.patch
+++ b/qt5-add-angle-support.patch
@@ -21,15 +21,15 @@
  # build up the variables for output
  if [ "$CFG_DEBUG" = "yes" ]; then
      QMAKE_OUTDIR="${QMAKE_OUTDIR}debug"
-@@ -6271,6 +6275,8 @@
-     echo "OpenGL support ......... yes (Desktop OpenGL)"
- elif [ "$CFG_OPENGL" = "es2" ]; then
-     echo "OpenGL support ......... yes (OpenGL ES 2.x)"
-+elif [ "$CFG_OPENGL" = "angle" ]; then
-+    echo "OpenGL support ......... yes (Angle)"
- else
-     echo "OpenGL support ......... no"
- fi
+@@ -6776,7 +6787,7 @@
+ report_support "    IPv6 ifname .........." "$CFG_IPV6IFNAME"
+ report_support "    OpenSSL .............." "$CFG_OPENSSL" yes "loading libraries at run-time" linked "linked to the libraries"
+ report_support "  NIS ...................." "$CFG_NIS"
+-report_support "  OpenGL ................." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.x"
++report_support "  OpenGL ................." "$CFG_OPENGL" yes "Desktop OpenGL" es2 "OpenGL ES 2.x" angle "ANGLE"
+ report_support "  OpenVG ................." "$CFG_OPENVG-$CFG_OPENVG_SHIVA" yes-yes "ShivaVG" yes-no "native"
+ report_support "  PCRE ..................." "$CFG_PCRE" yes "system library" qt "bundled copy"
+ if [ -n "$PKG_CONFIG" ]; then
 --- src/plugins/platforms/windows/qwindowsglcontext.cpp.orig	2012-12-21 01:45:08.022424992 +0100
 +++ src/plugins/platforms/windows/qwindowsglcontext.cpp	2012-12-21 01:52:35.773119490 +0100
 @@ -50,7 +50,9 @@
diff --git a/qt5-fix-compilation-when-freetype-isnt-available.patch b/qt5-fix-compilation-when-freetype-isnt-available.patch
new file mode 100644
index 0000000..8c2f2c8
--- /dev/null
+++ b/qt5-fix-compilation-when-freetype-isnt-available.patch
@@ -0,0 +1,15 @@
+--- qtbase-opensource-src-5.1.0/src/plugins/platforms/offscreen/qoffscreenintegration.cpp.orig	2013-07-10 20:40:52.350023574 +0200
++++ qtbase-opensource-src-5.1.0/src/plugins/platforms/offscreen/qoffscreenintegration.cpp	2013-07-10 21:03:31.496725681 +0200
+@@ -103,8 +103,12 @@
+ #endif
+ #elif defined(Q_OS_WIN)
+     m_eventDispatcher = new QOffscreenEventDispatcher<QEventDispatcherWin32>();
++#if defined (QT_NO_FREETYPE)
++    m_fontDatabase.reset(new QPlatformFontDatabase());
++#else
+     m_fontDatabase.reset(new QBasicFontDatabase());
+ #endif
++#endif
+ 
+ #ifndef QT_NO_DRAGANDDROP
+     m_drag.reset(new QOffscreenDrag);
diff --git a/qt5-qtbase-fix-linking-against-static-pcre.patch b/qt5-qtbase-fix-linking-against-static-pcre.patch
new file mode 100644
index 0000000..f565677
--- /dev/null
+++ b/qt5-qtbase-fix-linking-against-static-pcre.patch
@@ -0,0 +1,13 @@
+--- qtbase-opensource-src-5.1.0/src/corelib/tools/qregularexpression.cpp.orig	2013-07-11 08:23:02.687691337 +0200
++++ qtbase-opensource-src-5.1.0/src/corelib/tools/qregularexpression.cpp	2013-07-11 08:23:27.231900674 +0200
+@@ -52,6 +52,10 @@
+ #include <QtCore/qglobal.h>
+ #include <QtCore/qatomic.h>
+ 
++#ifdef QT_STATIC
++#define PCRE_STATIC
++#endif
++
+ #include <pcre.h>
+ 
+ QT_BEGIN_NAMESPACE
diff --git a/qt5-use-external-angle-library.patch b/qt5-use-external-angle-library.patch
index 94617fc..5e8ee42 100644
--- a/qt5-use-external-angle-library.patch
+++ b/qt5-use-external-angle-library.patch
@@ -1,6 +1,6 @@
 --- src/src.pro.orig	2012-12-16 18:00:31.803375714 +0100
 +++ src/src.pro	2012-12-16 18:00:25.883273471 +0100
-@@ -72,10 +72,6 @@
+@@ -114,10 +114,6 @@
  }
  contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent
  !contains(QT_CONFIG, no-gui) {
@@ -9,13 +9,26 @@
 -        src_gui.depends += src_angle
 -    }
      SUBDIRS += src_gui src_platformsupport
+     contains(QT_CONFIG, opengl(es1|es2)?):SUBDIRS += src_openglextensions
      src_plugins.depends += src_gui src_platformsupport
-     !contains(QT_CONFIG, no-widgets) {
 --- src/gui/gui.pro.orig	2012-12-16 18:02:25.117315949 +0100
 +++ src/gui/gui.pro	2012-12-16 18:01:15.778133505 +0100
-@@ -20,6 +20,10 @@
-     LIBS_PRIVATE += -framework Cocoa
- }
+@@ -12,12 +12,6 @@
+     platforms \
+     imageformats
+ 
+-# This is here only because the platform plugin is no module, obviously.
+-win32:contains(QT_CONFIG, angle) {
+-    MODULE_AUX_INCLUDES = \
+-        \$\$QT_MODULE_INCLUDE_BASE/QtANGLE
+-}
+-
+ load(qt_module)
+ 
+ # Code coverage with TestCocoon
+@@ -30,6 +30,10 @@
+ 
+ mac:!ios: LIBS_PRIVATE += -framework Cocoa
  
 +win32:contains(QT_CONFIG, angle) {
 +    LIBS_PRIVATE += -lGLESv2
diff --git a/sources b/sources
index 4eb8da6..f80a538 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a4fec8ed03867c4ee4fe5a46001a11f0  qtbase-opensource-src-5.0.2.tar.xz
+0f8d14bb4039a2996c501a376ca7dae0  qtbase-opensource-src-5.1.0.tar.xz


More information about the scm-commits mailing list