Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > d986233262be60c5f49115df8b952b4d > files > 2

mingw32-qt-4.7.1-5.fc15.src.rpm

%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.