[mingw-qt] Added more static libraries and minor improvements to the static packages

Erik van Pienbroek epienbro at fedoraproject.org
Sun Nov 4 15:28:03 UTC 2012


commit 457df3b03f71775bb31ba995160a81e761215fd6
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date:   Sun Oct 28 16:54:51 2012 +0100

    Added more static libraries and minor improvements to the static packages
    
    - Added static libraries for QtCLucene, QtDesigner, QtHelp and QtUiTools
    - Added various Requires tags to the -static subpackages as automatic
      dependency resolving doesn't work on static libraries
    - Make sure the function qt_sendSpontaneousEvent is exported in the
      QtGui libraries as the ActiveQt component depends on it

 mingw-qt.spec                              |   38 +++++++++++++++++-----
 qt-4.8.0-build-qtuitools-dynamically.patch |    2 +-
 qt-4.8.1-fix-activeqt-compilation.patch    |   46 +++++++++++++++++++++++----
 3 files changed, 69 insertions(+), 17 deletions(-)
---
diff --git a/mingw-qt.spec b/mingw-qt.spec
index be97fb2..53be856 100644
--- a/mingw-qt.spec
+++ b/mingw-qt.spec
@@ -14,7 +14,7 @@
 
 Name:           mingw-qt
 Version:        4.8.3
-Release:        1%{?pre}%{?dist}
+Release:        2%{?pre}%{?dist}
 Summary:        Qt for Windows
 
 License:        GPLv3 with exceptions or LGPLv2 with exceptions
@@ -50,8 +50,8 @@ Patch19:         qt-4.7.3-fix-loading-openssl.patch
 # Fix compilation of the designer tool
 Patch20:        qt-4.8.0-fix-include-windows-h.patch
 
-# Make sure the QtUiTools are built as a shared library
-# https://bugreports.qt.nokia.com/browse/QTBUG-20498
+# Make sure the QtUiTools are built as both a static and a shared library
+# https://bugreports.qt-project.org/browse/QTBUG-20498
 Patch21:        qt-4.8.0-build-qtuitools-dynamically.patch
 
 # Javascript-JIT fails to link on mingw x86_64
@@ -145,6 +145,10 @@ Various tools belonging to the mingw32-qt library.
 %package -n mingw32-qt-static
 Summary:       Static version of the mingw32-qt library
 Requires:      mingw32-qt = %{version}-%{release}
+Requires:      mingw32-libjpeg-turbo-static
+Requires:      mingw32-libtiff-static
+Requires:      mingw32-libpng-static
+Requires:      mingw32-zlib-static
 BuildArch:     noarch
 
 %description -n mingw32-qt-static
@@ -182,6 +186,10 @@ Various tools belonging to the mingw32-qt library.
 %package -n mingw64-qt-static
 Summary:       Static version of the mingw64-qt library
 Requires:      mingw64-qt = %{version}-%{release}
+Requires:      mingw64-libjpeg-turbo-static
+Requires:      mingw64-libtiff-static
+Requires:      mingw64-libpng-static
+Requires:      mingw64-zlib-static
 BuildArch:     noarch
 
 %description -n mingw64-qt-static
@@ -252,6 +260,7 @@ qt_configure_args_generic="\
     -openssl \
     -dbus-linked \
     -make libs \
+    -make tools \
     -nomake demos \
     -nomake docs \
     -nomake examples"
@@ -312,7 +321,6 @@ pushd ../build_debug_win32
 ../qt-everywhere-opensource-src-%{version}/configure \
     -debug \
     -shared \
-    -make tools \
     $qt_configure_args_generic $qt_configure_args_win32
 make %{?_smp_mflags}
 popd
@@ -323,7 +331,6 @@ pushd ../build_release_win32
 ../qt-everywhere-opensource-src-%{version}/configure \
     -release \
     -shared \
-    -make tools \
     $qt_configure_args_generic $qt_configure_args_win32
 make %{?_smp_mflags}
 
@@ -350,7 +357,6 @@ pushd ../build_debug_win64
 ../qt-everywhere-opensource-src-%{version}/configure \
     -debug \
     -shared \
-    -make tools \
     $qt_configure_args_generic $qt_configure_args_win64
 make %{?_smp_mflags}
 popd
@@ -361,7 +367,6 @@ pushd ../build_release_win64
 ../qt-everywhere-opensource-src-%{version}/configure \
     -release \
     -shared \
-    -make tools \
     $qt_configure_args_generic $qt_configure_args_win64
 make %{?_smp_mflags}
 
@@ -765,10 +770,14 @@ sed -i s@'$${QT_LIBINFIX}d'@'d$${QT_LIBINFIX}'@ $RPM_BUILD_ROOT%{mingw64_datadir
 %{mingw32_libdir}/libQAxContainer4.a
 %{mingw32_libdir}/libQAxServer4.a
 %{mingw32_libdir}/libQt3Support4.a
+%{mingw32_libdir}/libQtCLucene4.a
 %{mingw32_libdir}/libQtCore4.a
 %{mingw32_libdir}/libQtDBus4.a
 %{mingw32_libdir}/libQtDeclarative4.a
+%{mingw32_libdir}/libQtDesigner4.a
+%{mingw32_libdir}/libQtDesignerComponents4.a
 %{mingw32_libdir}/libQtGui4.a
+%{mingw32_libdir}/libQtHelp4.a
 %{mingw32_libdir}/libQtMultimedia4.a
 %{mingw32_libdir}/libQtNetwork4.a
 %{mingw32_libdir}/libQtOpenGL4.a
@@ -777,7 +786,7 @@ sed -i s@'$${QT_LIBINFIX}d'@'d$${QT_LIBINFIX}'@ $RPM_BUILD_ROOT%{mingw64_datadir
 %{mingw32_libdir}/libQtSql4.a
 %{mingw32_libdir}/libQtSvg4.a
 %{mingw32_libdir}/libQtTest4.a
-#%{mingw32_libdir}/libQtWebKit4.a
+%{mingw32_libdir}/libQtUiTools4.a
 %{mingw32_libdir}/libQtXml4.a
 %{mingw32_libdir}/libQtXmlPatterns4.a
 
@@ -1039,9 +1048,13 @@ sed -i s@'$${QT_LIBINFIX}d'@'d$${QT_LIBINFIX}'@ $RPM_BUILD_ROOT%{mingw64_datadir
 %{mingw64_libdir}/libQAxServer4.a
 %{mingw64_libdir}/libQt3Support4.a
 %{mingw64_libdir}/libQtCore4.a
+%{mingw64_libdir}/libQtCLucene4.a
 %{mingw64_libdir}/libQtDBus4.a
 %{mingw64_libdir}/libQtDeclarative4.a
+%{mingw64_libdir}/libQtDesigner4.a
+%{mingw64_libdir}/libQtDesignerComponents4.a
 %{mingw64_libdir}/libQtGui4.a
+%{mingw64_libdir}/libQtHelp4.a
 %{mingw64_libdir}/libQtMultimedia4.a
 %{mingw64_libdir}/libQtNetwork4.a
 %{mingw64_libdir}/libQtOpenGL4.a
@@ -1050,12 +1063,19 @@ sed -i s@'$${QT_LIBINFIX}d'@'d$${QT_LIBINFIX}'@ $RPM_BUILD_ROOT%{mingw64_datadir
 %{mingw64_libdir}/libQtSql4.a
 %{mingw64_libdir}/libQtSvg4.a
 %{mingw64_libdir}/libQtTest4.a
-#%{mingw64_libdir}/libQtWebKit4.a
+%{mingw64_libdir}/libQtUiTools4.a
 %{mingw64_libdir}/libQtXml4.a
 %{mingw64_libdir}/libQtXmlPatterns4.a
 
 
 %changelog
+* Sat Oct 27 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 4.8.3-2
+- Added static libraries for QtCLucene, QtDesigner, QtHelp and QtUiTools
+- Added various Requires tags to the -static subpackages as automatic
+  dependency resolving doesn't work on static libraries
+- Make sure the function qt_sendSpontaneousEvent is exported in the
+  QtGui libraries as the ActiveQt component depends on it
+
 * Fri Sep 14 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 4.8.3-1
 - Update to 4.8.3
 
diff --git a/qt-4.8.0-build-qtuitools-dynamically.patch b/qt-4.8.0-build-qtuitools-dynamically.patch
index 4be0482..150eb7d 100644
--- a/qt-4.8.0-build-qtuitools-dynamically.patch
+++ b/qt-4.8.0-build-qtuitools-dynamically.patch
@@ -7,7 +7,7 @@ index be46afc..b013942 100644
  TARGET = QtUiTools
  QT += xml
 -CONFIG += qt staticlib
-+CONFIG += qt shared
++CONFIG += qt
  DESTDIR = ../../../../lib
  DLLDESTDIR = ../../../../bin
  
diff --git a/qt-4.8.1-fix-activeqt-compilation.patch b/qt-4.8.1-fix-activeqt-compilation.patch
index 159eba4..e942dda 100644
--- a/qt-4.8.1-fix-activeqt-compilation.patch
+++ b/qt-4.8.1-fix-activeqt-compilation.patch
@@ -2,28 +2,49 @@ diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxse
 index f5c495a..123e40f 100644
 --- a/src/activeqt/control/qaxserverbase.cpp
 +++ b/src/activeqt/control/qaxserverbase.cpp
-@@ -4037,12 +4037,10 @@ HRESULT WINAPI QAxServerBase::SetColorScheme(LOGPALETTE*)
+@@ -111,8 +111,6 @@
+ };
+ 
+ 
+-bool qt_sendSpontaneousEvent(QObject*, QEvent*);
+-
+ /*
+     \class QAxServerBase
+     \brief The QAxServerBase class is an ActiveX control hosting a QWidget.
+@@ -1768,9 +1766,7 @@
+     // make sure we get a resize event even if not embedded as a control
+     if (!m_hWnd && !qt.widget->isVisible() && newSize != oldSize) {
+         QResizeEvent resizeEvent(newSize, oldSize);
+-#ifndef QT_DLL // import from static library
+         extern bool qt_sendSpontaneousEvent(QObject*,QEvent*);
+-#endif
+         qt_sendSpontaneousEvent(qt.widget, &resizeEvent);
+     }
+     m_currentExtent = qt.widget->size();
+@@ -4037,13 +4033,6 @@
  }
  
  
 -#ifdef QT_DLL // avoid conflict with symbol in static lib
- bool qt_sendSpontaneousEvent(QObject *o, QEvent *e)
- {
-     return QCoreApplication::sendSpontaneousEvent(o, e);
- }
+-bool qt_sendSpontaneousEvent(QObject *o, QEvent *e)
+-{
+-    return QCoreApplication::sendSpontaneousEvent(o, e);
+-}
 -#endif
- 
+-
  /*
      Tries to set the size of the control.
+ */
 diff --git a/tools/activeqt/testcon/testcon.pro b/tools/activeqt/testcon/testcon.pro
 index 89f8067..696be2e 100644
 --- a/tools/activeqt/testcon/testcon.pro
 +++ b/tools/activeqt/testcon/testcon.pro
-@@ -7,6 +7,8 @@ CONFIG	+= qaxserver qaxserver_no_postlink qaxcontainer
+@@ -7,6 +7,9 @@ CONFIG	+= qaxserver qaxserver_no_postlink qaxcontainer
  INCLUDEPATH += $$QT_SOURCE_TREE/tools/activeqt/container/debug \
      $$QT_SOURCE_TREE/tools/activeqt/container/release \
      $$QT_BUILD_TREE/src/activeqt/container \
 +    $$QT_BUILD_TREE/src/activeqt/container/.uic/release-shared \
++    $$QT_BUILD_TREE/src/activeqt/container/.uic/release-static \
 +    $$QT_BUILD_TREE/src/activeqt/container/.uic/debug-shared \
  
  SOURCES	 = main.cpp docuwindow.cpp mainwindow.cpp invokemethod.cpp changeproperties.cpp ambientproperties.cpp controlinfo.cpp
@@ -41,3 +62,14 @@ index f58df8a..5d9bdd4 100644
                 ../../lib/uilib
  
  # Input
+--- qt-everywhere-opensource-src-4.8.3/src/gui/kernel/qapplication.cpp.orig	2012-10-26 21:31:47.415811691 +0200
++++ qt-everywhere-opensource-src-4.8.3/src/gui/kernel/qapplication.cpp	2012-10-26 21:32:19.534024502 +0200
+@@ -5550,7 +5550,7 @@
+     return platform;
+ }
+ 
+-bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event)
++Q_GUI_EXPORT bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event)
+ {
+     return QCoreApplication::sendSpontaneousEvent(receiver, event);
+ }


More information about the scm-commits mailing list