]> git.pld-linux.org Git - packages/qt4.git/blobdiff - qt4.spec
add moc-boost-workaround.patch
[packages/qt4.git] / qt4.spec
index a0d185ce0c5e45457ecc49a62eb2b9b29dd85b9f..349a2169982036af58297d4cd778dee07e0b7e22 100644 (file)
--- a/qt4.spec
+++ b/qt4.spec
@@ -1,25 +1,27 @@
 #
 # TODO:
-#      - figure out why it tries to link with system qt (fix and drop BuildConflicts Qt)
 #      - more cleanups
 #      - check if translations are available
 #      - check Qt ui tool
-#      - QtWebKit-devel is broken: libQtWebKit.*la contains '-ljscore', it comes
-#        from src/3rdparty/webkit/JavaScriptCore, but jscore lib isn't installed
 #
 # Conditional build:
-%bcond_with    nas             # enable NAS audio support
 %bcond_without static_libs     # don't build static libraries
-%bcond_without cups            # disable CUPS support
-%bcond_without mysql           # don't build MySQL plugin
-%bcond_without odbc            # don't build unixODBC plugin
-%bcond_without pgsql           # don't build PostgreSQL plugin
-%bcond_without sqlite3         # don't build SQLite3 plugin
-%bcond_without sqlite          # don't build SQLite2 plugin
-%bcond_without ibase           # don't build ibase (InterBase/Firebird) plugin
-%bcond_without pch             # disable pch in qmake
-%bcond_without gtk             # don't build GTK theme integration
-%bcond_without system_phonon   # don't build phonon libraries
+# -- features
+%bcond_without cups            # CUPS printing support
+%bcond_with    nas             # NAS audio support
+%bcond_without gtk             # GTK+ theme integration
+%bcond_without pch             # pch (pre-compiled headers) in qmake
+%bcond_without system_phonon   # phonon libraries from phonon.spec intead of qt4.spec
+%bcond_with    wkhtml          # WKHTMLTOPDF patch (affects QtGui ABI)
+%bcond_with    openvg          # OpenVG support
+# -- databases
+%bcond_without mysql           # MySQL plugin
+%bcond_without odbc            # unixODBC plugin
+%bcond_without pgsql           # PostgreSQL plugin
+%bcond_without sqlite3         # SQLite3 plugin
+%bcond_without sqlite          # SQLite2 plugin
+%bcond_without ibase           # ibase (InterBase/Firebird) plugin
+# -- SIMD CPU instructions
 %bcond_with    mmx             # use MMX instructions
 %bcond_with    3dnow           # use 3Dnow instructions
 %bcond_with    sse             # use SSE instructions in gui/painting module
@@ -29,7 +31,7 @@
 %bcond_with    sse41           # use SSE4.1 instructions (Intel since middle Core2)
 %bcond_with    sse42           # use SSE4.2 instructions (the same)
 %bcond_with    avx             # use AVX instructions (future Intel x86 CPUs only)
-#
+
 %ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
 %undefine      with_ibase
 %endif
 # any SQL
 %define                _withsql        1
 %{!?with_sqlite3:%{!?with_sqlite:%{!?with_ibase:%{!?with_mysql:%{!?with_pgsql:%{!?with_odbc:%undefine _withsql}}}}}}
-#
+
+%define                icu_abi         54
+%define                next_icu_abi    %(echo $((%{icu_abi} + 1)))
+
 Summary:       The Qt GUI application framework
 Summary(es.UTF-8):     Biblioteca para ejecutar aplicaciones GUI Qt
 Summary(pl.UTF-8):     Biblioteka Qt do tworzenia GUI
 Summary(pt_BR.UTF-8):  Estrutura para rodar aplicações GUI Qt
 Name:          qt4
-Version:       4.8.2
-Release:       1
+Version:       4.8.6
+Release:       12
 License:       LGPL v2.1 or GPL v3.0
 Group:         X11/Libraries
-Source0:       http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-%{version}.tar.gz
-# Source0-md5: 3c1146ddf56247e16782f96910a8423b
+Source0:       http://download.qt-project.org/official_releases/qt/4.8/%{version}/qt-everywhere-opensource-src-%{version}.tar.gz
+# Source0-md5: 2edbe4d6c2eff33ef91732602f3518eb
 Source2:       %{name}-qtconfig.desktop
 Source3:       %{name}-designer.desktop
 Source4:       %{name}-assistant.desktop
@@ -77,27 +82,47 @@ Patch3:             %{name}-locale.patch
 Patch5:                %{name}-support-cflags-with-commas.patch
 Patch6:                %{name}-build-lib-static.patch
 Patch7:                %{name}-x11_fonts.patch
-Patch8:                %{name}-glib.patch
-Patch9:                %{name}-ibase.patch
-Patch10:       %{name}-git.patch
-Patch11:       qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
-Patch12:       gcc-4.7.patch
-URL:           http://qt.nokia.com/
+Patch8:                %{name}-ibase.patch
+Patch9:                qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
+Patch10:       webkit-no_Werror.patch
+Patch11:       %{name}-wkhtml.patch
+Patch12:       fix-crash-in-assistant.patch
+Patch13:       improve-cups-support.patch
+Patch14:       x32.patch
+# backported from Qt5 (essentially)
+# http://bugzilla.redhat.com/702493
+# https://bugreports.qt-project.org/browse/QTBUG-5545
+Patch15:       qt-everywhere-opensource-src-4.8.4-qgtkstyle_disable_gtk_theme_check.patch
+Patch16:       qt-everywhere-opensource-src-4.8.3-QTBUG-4862.patch
+Patch17:       l-qclipboard_delay.patch
+Patch18:       l-qclipboard_fix_recursive.patch
+Patch19:       qtcore-4.8.5-honor-ExcludeSocketNotifiers-in-glib-event-loop.patch
+Patch20:       0010-QDbus-Fix-a-b-comparison.patch
+Patch21:       0023-Don-t-crash-on-broken-GIF-images.patch
+Patch22:       0025-Fix-visual-index-lookup-in-QTreeViewPrivate-adjustVi.patch
+Patch23:       0030-Memory-and-file-descriptor-leak-in-QFontCache.patch
+Patch24:       0034-Fix-raster-graphics-on-X11-RGB30.patch
+Patch25:       0065-Fix-QPainter-drawPolyline-painting-errors-with-cosme.patch
+Patch26:       0072-Fix-font-cache-check-in-QFontEngineFT-recalcAdvances.patch
+Patch27:       moc-boost-workaround.patch
+URL:           http://qt-project.org/
 %{?with_ibase:BuildRequires:   Firebird-devel}
-BuildRequires: Mesa-libOpenVG-devel
-BuildRequires: OpenGL-devel
+%{?with_openvg:BuildRequires:  Mesa-libOpenVG-devel}
 BuildRequires: OpenGL-GLU-devel
+BuildRequires: OpenGL-devel
 BuildRequires: alsa-lib-devel
 %{?with_cups:BuildRequires:    cups-devel}
 BuildRequires: dbus-devel >= 0.93
 BuildRequires: fontconfig-devel
 BuildRequires: freetds-devel
-BuildRequires: freetype-devel >= 1:2.0.0
+BuildRequires: freetype-devel >= 2.1.3
 %{?with_pch:BuildRequires:     gcc >= 5:4.0}
 BuildRequires: glib2-devel >= 2.0.0
-BuildRequires: gstreamer-plugins-base-devel
+BuildRequires: gstreamer0.10-plugins-base-devel
 %{?with_gtk:BuildRequires:     gtk+2-devel >= 2:2.10}
-BuildRequires: libicu-devel
+# see dependency on libicu version below
+BuildRequires: libicu-devel >= %{icu_abi}
+BuildRequires: libicu-devel < %{next_icu_abi}
 BuildRequires: libjpeg-devel
 BuildRequires: libmng-devel >= 1.0.0
 BuildRequires: libpng-devel >= 2:1.0.8
@@ -108,7 +133,8 @@ BuildRequires:      pkgconfig
 %{?with_pgsql:BuildRequires:   postgresql-backend-devel}
 %{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: pulseaudio-devel >= 0.9.10
-BuildRequires: rpmbuild(macros) >= 1.602
+BuildRequires: rpmbuild(macros) >= 1.654
+BuildRequires: rsync
 BuildRequires: sed >= 4.0
 %{?with_sqlite:BuildRequires:  sqlite-devel}
 %{?with_sqlite3:BuildRequires: sqlite3-devel}
@@ -124,9 +150,6 @@ BuildRequires:      xorg-lib-libXrender-devel
 BuildRequires: xorg-lib-libXtst-devel
 BuildRequires: xorg-lib-libXv-devel
 BuildRequires: zlib-devel
-# when building it tries to link with system qt instead of built one
-BuildConflicts:        QtCore-devel <= %{version}
-BuildConflicts:        QtScript-devel <= %{version}
 Obsoletes:     qt-extensions
 Obsoletes:     qt-utils
 Conflicts:     kdelibs <= 8:3.2-0.030602.1
@@ -258,13 +281,16 @@ biblioteka statyczna.
 Summary:       Qt core classes used by other modules
 Summary(pl.UTF-8):     Podstawowe klasy Qt używane przez inne moduły
 Group:         X11/Libraries
-%requires_eq   libicu
+%requires_eq_to        libicu libicu-devel
 # be sure to depend on proper arch.
-%ifarch %{ix86}
-Requires:      libicui18n.so.48
+%ifarch %{x8664} ppc64 sparc64 s390x
+Requires:      libicui18n.so.%{icu_abi}()(64bit)
+%else
+%ifarch x32
+Requires:      libicui18n.so.%{icu_abi}()(x32bit)
+%else
+Requires:      libicui18n.so.%{icu_abi}
 %endif
-%ifarch %{x8664}
-Requires:      libicui18n.so.48()(64bit)
 %endif
 Obsoletes:     QtAssistant
 
@@ -477,7 +503,7 @@ Group:              X11/Development/Libraries
 Requires:      QtCore-devel = %{version}-%{release}
 Requires:      QtGui = %{version}-%{release}
 Requires:      fontconfig-devel
-Requires:      freetype-devel >= 1:2.0.0
+Requires:      freetype-devel >= 2.1.3
 Requires:      libpng-devel >= 2:1.0.8
 Requires:      xorg-lib-libSM-devel
 Requires:      xorg-lib-libXcursor-devel
@@ -680,6 +706,45 @@ Qt OpenGL support classes - static libraries.
 %description -n QtOpenGL-static -l pl.UTF-8
 Klasy Qt wspomagające OpenGL - biblioteki statyczne.
 
+%package -n QtOpenVG
+Summary:       Qt OpenVG support classes
+Summary(pl.UTF-8):     Klasy Qt wspomagające OpenVG
+Group:         X11/Libraries
+Requires:      QtCore = %{version}-%{release}
+Requires:      QtGui = %{version}-%{release}
+
+%description -n QtOpenVG
+Qt OpenVG support classes.
+
+%description -n QtOpenVG -l pl.UTF-8
+Klasy Qt wspomagające OpenVG.
+
+%package -n QtOpenVG-devel
+Summary:       Qt OpenVG support classes - development files
+Summary(pl.UTF-8):     Klasy Qt wspomagające OpenVG - pliki programistyczne
+Group:         X11/Development/Libraries
+Requires:      Mesa-libOpenVG-devel
+Requires:      QtCore-devel = %{version}-%{release}
+Requires:      QtGui-devel = %{version}-%{release}
+
+%description -n QtOpenVG-devel
+Qt OpenVG support classes - development files.
+
+%description -n QtOpenVG-devel -l pl.UTF-8
+Klasy Qt wspomagające OpenVG - pliki programistyczne.
+
+%package -n QtOpenVG-static
+Summary:       Qt OpenVG support classes - static libraries
+Summary(pl.UTF-8):     Klasy Qt wspomagające OpenVG - biblioteki statyczne
+Group:         X11/Development/Libraries
+Requires:      QtOpenVG-devel = %{version}-%{release}
+
+%description -n QtOpenVG-static
+Qt OpenVG support classes - static libraries.
+
+%description -n QtOpenVG-static -l pl.UTF-8
+Klasy Qt wspomagające OpenVG - biblioteki statyczne.
+
 %package -n QtScript
 Summary:       Qt classes for scripting applications
 Summary(pl.UTF-8):     Klasy Qt pozwalające dodać obsługę skryptów w aplikacjach
@@ -1250,6 +1315,17 @@ An advanced tool used for GUI designing with Qt library.
 Zaawansowane narzędzie służące do projektowania interfejsu graficznego
 za pomocą biblioteki Qt.
 
+%package devel-private
+Summary:       Private Qt headers files
+Group:         X11/Development/Libraries
+Requires:      QtCore-devel = %{version}-%{release}
+Requires:      QtDeclarative-devel = %{version}-%{release}
+Requires:      QtGui-devel = %{version}-%{release}
+Requires:      QtScript-devel = %{version}-%{release}
+
+%description devel-private
+Private Qt headers files - for calibre
+
 %package linguist
 Summary:       Translation helper for Qt
 Summary(pl.UTF-8):     Aplikacja ułatwiająca tłumaczenie aplikacji opartych o Qt
@@ -1374,6 +1450,9 @@ Summary:  Qt Documentation in HTML format
 Summary(pl.UTF-8):     Dokumentacja Qt w formacie HTML
 Group:         X11/Development/Libraries
 Suggests:      %{name}-assistant = %{version}-%{release}
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description doc
 Qt documentation in HTML format.
@@ -1411,9 +1490,24 @@ Programas exemplo para o Qt versão.
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
-#%patch10 -p1
-%patch11 -p1
+%patch10 -p1
+%{?with_wkhtml:%patch11 -p1}
 %patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p0
+%patch18 -p0
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+%patch26 -p1
+%patch27 -p1
 
 %{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
        mkspecs/common/linux.conf
@@ -1466,7 +1560,6 @@ COMMONOPT=" \
        -docdir %{_docdir}/%{name}-doc \
        -headerdir %{_includedir}/qt4 \
        -libdir %{_libdir} \
-       -L%{_libdir} \
        -plugindir %{_qtdir}/plugins \
        -datadir %{_datadir}/qt4 \
        -translationdir %{_localedir}/ \
@@ -1505,6 +1598,7 @@ COMMONOPT=" \
        %{?with_nas:-system-nas-sound} \
        %{?debug:-debug} \
        %{!?debug:-release} \
+       -%{!?with_openvg:no-}openvg \
        -qt3support \
        -fontconfig \
        -largefile \
@@ -1574,8 +1668,12 @@ OPT=" \
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/env.d,%{_bindir},%{_desktopdir},%{_pixmapsdir},%{_pkgconfigdir}}
+install -d $RPM_BUILD_ROOT{/etc/{env.d,qt4},%{_bindir},%{_desktopdir},%{_pixmapsdir},%{_pkgconfigdir}}
 install -d $RPM_BUILD_ROOT%{_qtdir}/plugins/{crypto,network}
+install -d $RPM_BUILD_ROOT%{_qtdir}/imports/org
+
+# for QtSolutions (qtlockedfile, qtsingleapplication, etc)
+install -d $RPM_BUILD_ROOT%{_includedir}/qt4/QtSolutions
 
 echo '#QT_GRAPHICSSYSTEM=raster' > $RPM_BUILD_ROOT/etc/env.d/QT_GRAPHICSSYSTEM
 
@@ -1593,6 +1691,10 @@ install bin/qdoc3 $RPM_BUILD_ROOT%{_qtdir}/bin/qdoc3
        s|uic_location=.*|uic_location=%{_bindir}/uic-qt4|;
        ' $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
 
+# libQtWebKit.la contains '-ljscore' and '-lwebcore', they come
+# from src/3rdparty/webkit/{JavaScriptCore,WebCore}} but those libs aren't installed
+%{__sed} -i -e "s,-lwebcore,,g;s,-ljscore,,g;" $RPM_BUILD_ROOT%{_libdir}/libQtWebKit.la
+
 # install tools
 install bin/findtr     $RPM_BUILD_ROOT%{_qtdir}/bin
 
@@ -1686,7 +1788,6 @@ done
 cd -
 
 # Ship doc & qmake stuff
-ln -s %{_docdir}/%{name}-doc $RPM_BUILD_ROOT%{_qtdir}/doc
 ln -s %{_datadir}/qt4/mkspecs $RPM_BUILD_ROOT%{_qtdir}/mkspecs
 
 for f in $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc; do
@@ -1705,6 +1806,20 @@ for f in $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc; do
        sed -i -e "s:-DQT_SHARED:-DQT_SHARED $DEFS:" $f
 done
 
+# Ship private headers - ugly hack to build calibre
+install -d $RPM_BUILD_ROOT%{_includedir}/qt4/private
+rsync -aR include/QtCore/private \
+         include/QtDeclarative/private \
+         include/QtGui/private \
+         include/QtScript/private \
+         $RPM_BUILD_ROOT%{_includedir}/qt4/private
+rsync -aR src/corelib/*/*_p.h \
+          src/declarative/*/*_p.h \
+          src/gui/*/*_p.h \
+          src/script/*/*_p.h \
+         $RPM_BUILD_ROOT%{_includedir}/qt4/private
+
+
 # Prepare some files list
 ifecho() {
        RESULT=`echo $RPM_BUILD_ROOT$2 2>/dev/null`
@@ -1751,6 +1866,7 @@ mkdevfl QtGui
 mkdevfl QtMultimedia
 mkdevfl QtNetwork
 mkdevfl QtOpenGL
+%{?with_openvg:mkdevfl QtOpenVG}
 mkdevfl QtScript
 mkdevfl QtScriptTools
 mkdevfl QtSql
@@ -1771,6 +1887,9 @@ mkdevfl QtUiTools || /bin/true
 # without glob (exclude QtScriptTools* QtXmlPatterns*)
 %{__sed} -i 's,QtScript\*,QtScript,g' QtScript-devel.files
 %{__sed} -i 's,QtXml\*,QtXml,g' QtXml-devel.files
+# no duplication between QtCore-devel and QtXml-devel
+%{__sed} -i 's,%{_includedir}/qt4/Qt/QXmlStream.*,,g' QtCore-devel.files
+%{__sed} -i 's,%{_includedir}/qt4/Qt/qxmlstream\.h,,g' QtCore-devel.files
 
 echo "%defattr(644,root,root,755)" > examples.files
 ifecho examples %{_examplesdir}/qt4
@@ -1832,6 +1951,9 @@ rm -rf $RPM_BUILD_ROOT
 %post  -n QtOpenGL     -p /sbin/ldconfig
 %postun        -n QtOpenGL     -p /sbin/ldconfig
 
+%post  -n QtOpenVG     -p /sbin/ldconfig
+%postun        -n QtOpenVG     -p /sbin/ldconfig
+
 %post   -n QtScript    -p /sbin/ldconfig
 %postun -n QtScript    -p /sbin/ldconfig
 
@@ -1892,6 +2014,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQtCore.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libQtCore.so.4
+%dir /etc/qt4
 %dir %{_qtdir}
 %dir %{_qtdir}/bin
 %dir %{_qtdir}/plugins
@@ -1955,6 +2078,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_qtdir}/imports/QtWebKit
 %attr(755,root,root) %{_qtdir}/imports/QtWebKit/*.so
 %{_qtdir}/imports/QtWebKit/qmldir
+%dir %{_qtdir}/imports/org
 %dir %{_qtdir}/plugins/qmltooling
 %attr(755,root,root) %{_qtdir}/plugins/qmltooling/libqmldbg_tcp.so
 %attr(755,root,root) %{_qtdir}/plugins/qmltooling/libqmldbg_inspector.so
@@ -2029,6 +2153,13 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %ghost %{_libdir}/libQtOpenGL.so.4
 %attr(755,root,root) %{_qtdir}/plugins/graphicssystems/libqglgraphicssystem.so
 
+%if %{with openvg}
+%files -n QtOpenVG
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libQtOpenVG.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libQtOpenVG.so.4
+%endif
+
 %files -n QtScript
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQtScript.so.*.*
@@ -2181,6 +2312,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_desktopdir}/designer-qt4.desktop
 %{_pixmapsdir}/designer-qt4.png
 
+%files devel-private
+%defattr(644,root,root,755)
+%{_includedir}/qt4/private
+
 %files linguist
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/findtr-qt4
@@ -2257,7 +2392,6 @@ rm -rf $RPM_BUILD_ROOT
 %files doc
 %defattr(644,root,root,755)
 %{_docdir}/%{name}-doc
-%{_qtdir}/doc
 
 %files -n QtCLucene-devel -f QtCLucene-devel.files
 %defattr(644,root,root,755)
@@ -2269,6 +2403,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -n QtCore-devel -f QtCore-devel.files
 %defattr(644,root,root,755)
+%dir %{_includedir}/qt4/QtSolutions
 
 %files -n QtDBus-devel -f QtDBus-devel.files
 %defattr(644,root,root,755)
@@ -2294,6 +2429,11 @@ rm -rf $RPM_BUILD_ROOT
 %files -n QtOpenGL-devel -f QtOpenGL-devel.files
 %defattr(644,root,root,755)
 
+%if %{with openvg}
+%files -n QtOpenVG-devel -f QtOpenVG-devel.files
+%defattr(644,root,root,755)
+%endif
+
 %files -n QtScript-devel -f QtScript-devel.files
 %defattr(644,root,root,755)
 
@@ -2368,6 +2508,12 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_libdir}/libQtOpenGL.a
 
+%if %{with openvg}
+%files -n QtOpenVG-static
+%defattr(644,root,root,755)
+%{_libdir}/libQtOpenVG.a
+%endif
+
 %files -n QtScript-static
 %defattr(644,root,root,755)
 %{_libdir}/libQtScript.a
This page took 0.0616 seconds and 4 git commands to generate.