%global __strip %{_mingw32_strip} %global __objdump %{_mingw32_objdump} %global _use_internal_dependency_generator 0 %global __find_requires %{_mingw32_findrequires} %global __find_provides %{_mingw32_findprovides} %define __debug_install_post %{_mingw32_debug_install_post} #global pre rc1 %global platform win32-g++-cross Name: mingw32-qt Version: 4.7.1 Release: 5%{?pre}%{?dist} Summary: Qt for Windows License: GPLv3 with exceptions or LGPLv2 with exceptions Group: Development/Libraries URL: http://www.qtsoftware.com/ Source0: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-%{version}%{?pre:-%{pre}}.tar.gz # Special cross-compilation qmake target. Source1: qmake.conf Source2: qplatformdefs.h Patch11: mingw32-qt-4.6.0-no-fpu-functions.patch # Qt tries to link against libpng using '-lpng'. This doesn't work for libpng 1.4 Patch12: qt-libpng14-compatibility.patch # Fedora's libjpeg uses the datatype 'jpeg_boolean' instead of 'boolean' # to avoid a conflict with the rpcndr.h header Patch13: qt-libjpeg-7-compatibility.patch # One of the examples tries to link with 'Ws2_32'. As Linux is case sensitive this won't work # http://bugreports.qt.nokia.com/browse/QTBUG-14484 Patch14: qt-fix-ws2_32-link.patch # The debug build tries to link against libdbus-1d which doesn't exist Patch15: qt-dbus-dont-link-to-dbus-1d.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: mingw32-filesystem >= 52 BuildRequires: mingw32-gcc BuildRequires: mingw32-gcc-c++ BuildRequires: mingw32-binutils BuildRequires: mingw32-openssl BuildRequires: mingw32-zlib BuildRequires: mingw32-iconv BuildRequires: mingw32-libjpeg BuildRequires: mingw32-libpng BuildRequires: mingw32-libtiff BuildRequires: mingw32-sqlite BuildRequires: mingw32-dbus BuildRequires: zip BuildRequires: dos2unix # This package contains the cross-compiler setup for qmake Requires: mingw32-qt-qmake = %{version} %description This package contains the Qt software toolkit for developing cross-platform applications. This is the Windows version of Qt, for use in conjunction with the Fedora Windows cross-compiler. %{?_mingw32_debug_package} %prep %setup -q -n qt-everywhere-opensource-src-%{version}%{?pre:-%{pre}} %patch11 -p1 %patch12 -p0 %patch13 -p0 %patch14 -p0 %patch15 -p0 # Cross-compilation qmake target. mkdir mkspecs/%{platform} cp %{SOURCE1} %{SOURCE2} mkspecs/%{platform} %build # Force the right pkg-config settings # We can't use %%{_mingw32_env} here as that breaks the compilation export PKG_CONFIG_LIBDIR="%{_mingw32_libdir}/pkgconfig" unset PKG_CONFIG_PATH # Generic configure arguments # Phonon is disabled for now because we lack the directx headers # The 'javascript-jit' argument causes a compile failure on the mingw32 toolchain qt_configure_args="\ -prefix %{_mingw32_prefix} \ -bindir %{_mingw32_bindir} \ -datadir %{_mingw32_datadir}/qt4 \ -demosdir %{_mingw32_datadir}/qt4/demos \ -docdir %{_mingw32_docdir}/qt4 \ -examplesdir %{_mingw32_datadir}/qt4/examples \ -headerdir %{_mingw32_includedir} \ -libdir %{_mingw32_libdir} \ -plugindir %{_mingw32_libdir}/qt4/plugins \ -sysconfdir %{_mingw32_sysconfdir} \ -translationdir %{_mingw32_datadir}/qt4/translations \ -shared \ -qt3support \ -verbose \ -opensource \ -exceptions \ -fast \ -confirm-license \ -force-pkg-config \ -little-endian \ -xplatform %{platform} \ -xmlpatterns \ -multimedia \ -audio-backend \ -webkit \ -script \ -scripttools \ -declarative \ -no-phonon \ -qt-libmng \ -system-zlib \ -system-libtiff \ -system-libpng \ -system-libjpeg \ -system-sqlite \ -iconv \ -openssl \ -dbus-linked \ -nomake demos,examples" # We have to build Qt twice, once for the release build and once for the debug build # Unfortunately Qt only supports out-of-source builds which are in ../some_folder rm -rf ../build_debug mkdir ../build_debug pushd ../build_debug ../qt-everywhere-opensource-src-%{version}%{?pre:-%{pre}}/configure \ -debug \ $qt_configure_args make %{?_smp_mflags} popd rm -rf ../build_release mkdir ../build_release pushd ../build_release ../qt-everywhere-opensource-src-%{version}%{?pre:-%{pre}}/configure \ -release \ $qt_configure_args make %{?_smp_mflags} popd %install rm -rf $RPM_BUILD_ROOT make install -C ../build_debug INSTALL_ROOT=$RPM_BUILD_ROOT make install -C ../build_release INSTALL_ROOT=$RPM_BUILD_ROOT # The .dll's are installed in both %%{_mingw32_bindir} and %%{_mingw32_libdir} # One copy of the .dll's is sufficient rm -f $RPM_BUILD_ROOT%{_mingw32_libdir}/*.dll # add links with version suffix for convenience ln -s libqtmain.a $RPM_BUILD_ROOT%{_mingw32_libdir}/libqtmain4.a ln -s libqtmaind.a $RPM_BUILD_ROOT%{_mingw32_libdir}/libqtmaind4.a # Drop all the prl files, the examples and the mkspecs files which are already part of mingw32-qt-qmake rm -f $RPM_BUILD_ROOT%{_mingw32_libdir}/*.prl rm -rf $RPM_BUILD_ROOT%{_mingw32_datadir}/qt4/demos rm -rf $RPM_BUILD_ROOT%{_mingw32_datadir}/qt4/examples rm -rf $RPM_BUILD_ROOT%{_mingw32_datadir}/qt4/mkspecs # Drop some tools which we already have in the native Qt package rm -f $RPM_BUILD_ROOT%{_mingw32_bindir}/lrelease rm -f $RPM_BUILD_ROOT%{_mingw32_bindir}/moc rm -f $RPM_BUILD_ROOT%{_mingw32_bindir}/rcc rm -f $RPM_BUILD_ROOT%{_mingw32_bindir}/uic # The Qt build system creates a folder called 'imports' but it isn't entirely sure # what it's purpose is. Drop it for now rm -rf $RPM_BUILD_ROOT%{_mingw32_prefix}/imports %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc LICENSE.GPL3 LICENSE.LGPL LGPL_EXCEPTION.txt README %{_mingw32_bindir}/Qt3Support4.dll %{_mingw32_bindir}/Qt3Supportd4.dll %{_mingw32_bindir}/QtCore4.dll %{_mingw32_bindir}/QtCored4.dll %{_mingw32_bindir}/QtDBus4.dll %{_mingw32_bindir}/QtDBusd4.dll %{_mingw32_bindir}/QtDeclarative4.dll %{_mingw32_bindir}/QtDeclaratived4.dll %{_mingw32_bindir}/QtGui4.dll %{_mingw32_bindir}/QtGuid4.dll %{_mingw32_bindir}/QtNetwork4.dll %{_mingw32_bindir}/QtNetworkd4.dll %{_mingw32_bindir}/QtOpenGL4.dll %{_mingw32_bindir}/QtOpenGLd4.dll %{_mingw32_bindir}/QtScript4.dll %{_mingw32_bindir}/QtScriptd4.dll %{_mingw32_bindir}/QtScriptTools4.dll %{_mingw32_bindir}/QtScriptToolsd4.dll %{_mingw32_bindir}/QtSql4.dll %{_mingw32_bindir}/QtSqld4.dll %{_mingw32_bindir}/QtSvg4.dll %{_mingw32_bindir}/QtSvgd4.dll %{_mingw32_bindir}/QtXml4.dll %{_mingw32_bindir}/QtXmld4.dll %{_mingw32_bindir}/QtXmlPatterns4.dll %{_mingw32_bindir}/QtXmlPatternsd4.dll %{_mingw32_bindir}/QtMultimedia4.dll %{_mingw32_bindir}/QtMultimediad4.dll %{_mingw32_bindir}/QtTest4.dll %{_mingw32_bindir}/QtTestd4.dll %{_mingw32_bindir}/QtWebKit4.dll %{_mingw32_bindir}/QtWebKitd4.dll %{_mingw32_libdir}/libQt3Support4.a %{_mingw32_libdir}/libQt3Supportd4.a %{_mingw32_libdir}/libQtCore4.a %{_mingw32_libdir}/libQtCored4.a %{_mingw32_libdir}/libQtDBus4.a %{_mingw32_libdir}/libQtDBusd4.a %{_mingw32_libdir}/libQtDeclarative4.a %{_mingw32_libdir}/libQtDeclaratived4.a %{_mingw32_libdir}/libQtGui4.a %{_mingw32_libdir}/libQtGuid4.a %{_mingw32_libdir}/libqtmain.a %{_mingw32_libdir}/libqtmaind.a %{_mingw32_libdir}/libqtmain4.a %{_mingw32_libdir}/libqtmaind4.a %{_mingw32_libdir}/libQtNetwork4.a %{_mingw32_libdir}/libQtNetworkd4.a %{_mingw32_libdir}/libQtOpenGL4.a %{_mingw32_libdir}/libQtOpenGLd4.a %{_mingw32_libdir}/libQtScript4.a %{_mingw32_libdir}/libQtScriptd4.a %{_mingw32_libdir}/libQtScriptTools4.a %{_mingw32_libdir}/libQtScriptToolsd4.a %{_mingw32_libdir}/libQtSql4.a %{_mingw32_libdir}/libQtSqld4.a %{_mingw32_libdir}/libQtSvg4.a %{_mingw32_libdir}/libQtSvgd4.a %{_mingw32_libdir}/libQtXml4.a %{_mingw32_libdir}/libQtXmld4.a %{_mingw32_libdir}/libQtXmlPatterns4.a %{_mingw32_libdir}/libQtXmlPatternsd4.a %{_mingw32_libdir}/libQAxContainer.a %{_mingw32_libdir}/libQAxContainerd.a %{_mingw32_libdir}/libQAxServer.a %{_mingw32_libdir}/libQAxServerd.a %{_mingw32_libdir}/libQtMultimedia4.a %{_mingw32_libdir}/libQtMultimediad4.a %{_mingw32_libdir}/libQtTest4.a %{_mingw32_libdir}/libQtTestd4.a %{_mingw32_libdir}/libQtWebKit4.a %{_mingw32_libdir}/libQtWebKitd4.a %{_mingw32_libdir}/qt4/ %{_mingw32_includedir}/Qt/ %{_mingw32_includedir}/Qt3Support/ %{_mingw32_includedir}/QtCore/ %{_mingw32_includedir}/QtDBus/ %{_mingw32_includedir}/QtDeclarative/ %{_mingw32_includedir}/QtGui/ %{_mingw32_includedir}/QtNetwork/ %{_mingw32_includedir}/QtOpenGL/ %{_mingw32_includedir}/QtScript/ %{_mingw32_includedir}/QtScriptTools/ %{_mingw32_includedir}/QtSql/ %{_mingw32_includedir}/QtSvg/ %{_mingw32_includedir}/QtWebKit/ %{_mingw32_includedir}/QtXml/ %{_mingw32_includedir}/QtXmlPatterns/ %{_mingw32_includedir}/ActiveQt/ %{_mingw32_includedir}/QtMultimedia/ %{_mingw32_includedir}/QtTest/ %{_mingw32_datadir}/qt4/ %changelog * Fri Apr 22 2011 Kalev Lember <kalev@smartlink.ee> - 4.7.1-5 - Rebuilt for pseudo-reloc version mismatch (#698827) * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Thu Dec 23 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 4.7.1-3 - Use the configure argument '-dbus-linked' instead of '-dbus' as the latter generates a non-working QtDBus library * Mon Nov 15 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 4.7.1-2 - Add support for QtDBus * Fri Nov 12 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 4.7.1-1 - Update to 4.7.1 - Use the name 'win32-g++-cross' instead of 'win32-g++-fedora-cross' as mkspecs platform name as was decided on the mailing list. The previous rename was invalid * Mon Oct 11 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 4.7.0-2 - Use a more proper build method than the old hacky one - Link against the mingw32 packages mingw32-zlib, mingw32-iconv, mingw32-libjpeg, mingw32-libpng, mingw32-libtiff and mingw32-sqlite instead of using the bundled libraries - Use the name 'win32-g++-fedora-cross' instead of 'win32-fedora-cross' as mkspecs platform name. People compiling Qt applications using the Fedora MinGW toolchain have to use this new name when invoking qmake - Added the QtDeclarative library - Bundle the translations - Dropped the old obsoletes: mingw32-qt-win - Dropped some duplicate declarations from the qmake.conf file - Use the correct strip command in the qmake.conf file * Sat Sep 25 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 4.7.0-1 - Update to 4.7.0 - Fixed a small rpmlint warning - Added QtWebKit support - Added SSL support * Sun Jun 27 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 4.6.2-2 - Enable the 'windowsxp' and 'windowsvista' styles - Fixed the %%defattr * Fri Feb 26 2010 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.6.2-1 - update to 4.6.2 * Sun Jan 31 2010 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.6.1-1 - update to 4.6.1 * Tue Dec 1 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.6.0-1 - update to 4.6.0 * Sun Nov 22 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.6.0-0.1.rc1 - update to 4.6.0-rc1 * Mon Nov 16 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.6.0-0.1.beta1 - update to 4.6.0-beta1 * Tue Nov 3 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.3-3 - add links with version suffix for libqtmain{,d}.a * Tue Nov 3 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.3-2 - fix R: qt-devel * Sun Nov 1 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.3-1 - update to 4.5.3 * Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.5.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Fri Jun 26 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.2-1 - update to 4.5.2 * Thu Jun 25 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.1-7 - hopefully finally solve the 32 vs 64 bit builder issues * Mon Jun 22 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.1-6 - add debuginfo packages * Tue Jun 16 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.1-5 - fix building on 64bit builders * Fri Jun 12 2009 Richard W.M. Jones <rjones@redhat.com> - 4.5.1-4 - Update to Qt 4.5.1. - Location of *.dll files moved again. - No longer necessary to remove libdir/qt4/bin. - Installs more *.dll files in /usr/lib [sic]. * Thu Apr 16 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.0-5 - replace %%define with %%global * Tue Mar 31 2009 Kalev Lember <kalev@smartlink.ee> - 4.5.0-4 - Enable QtOpenGL, QtScript, QtScriptTools, and QtXmlPatterns. - Sort files section for readability. * Sun Mar 16 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.0-3 - moved cross compiler qmake setup files into separate package to keep this package noarch - update BR, Provides, Obsoletes with reviewer suggestions * Thu Mar 12 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.0-2 - enable debug libraries - rename to mingw32-qt * Thu Mar 12 2009 Thomas Sailer <t.sailer@alumni.ethz.ch> - 4.5.0-1 - update to Qt 4.5.0 (release) - also build QtSvg, QtSql, Qt3Support * Sat Feb 21 2009 Richard W.M. Jones <rjones@redhat.com> - 4.5.0-0.2.rc1 - Update to Qt 4.5.0-rc1. * Fri Feb 20 2009 Richard W.M. Jones <rjones@redhat.com> - 4.4.3-4 - Rebuild for mingw32-gcc 4.4 * Fri Feb 6 2009 Richard W.M. Jones <rjones@redhat.com> - 4.4.3-3 - Fix required for older W32API in Fedora 10. * Sun Feb 1 2009 Richard W.M. Jones <rjones@redhat.com> - 4.4.3-2 - Initial RPM release.