]> git.pld-linux.org Git - packages/qt5-qtbase.git/blobdiff - qt5-qtbase.spec
- up to 5.4.2
[packages/qt5-qtbase.git] / qt5-qtbase.spec
index cee0a346d295a352f9d8957d580370488f60792f..7ef523fb81f6dfb40a13d48c180b66c743bf3f05 100644 (file)
@@ -8,6 +8,10 @@
 #
 # Conditional build:
 %bcond_with    static_libs     # static libraries [incomplete support in .spec]
+%bcond_with    bootstrap       # disable features to able to build without installed qt5
+# -- build targets
+%bcond_without qch             # QCH documentation
+%bcond_without qm              # QM translations
 # -- features
 %bcond_without cups            # CUPS printing support
 %bcond_without directfb        # DirectFB platform support
@@ -15,9 +19,9 @@
 %bcond_without gtk             # GTK+ theme integration
 %bcond_without kms             # KMS platform support
 %bcond_without pch             # pch (pre-compiled headers) in qmake
-%bcond_without qch             # QCH documentation
 %bcond_with    systemd         # logging to journald
 %bcond_without tslib           # tslib support
+%bcond_with    openvg          # OpenVG support
 # -- databases
 %bcond_without freetds         # TDS (Sybase/MS SQL) plugin
 %bcond_without mysql           # MySQL plugin
 %bcond_with    avx             # use AVX instructions (Intel since Sandy Bridge, AMD since Bulldozer)
 %bcond_with    avx2            # use AVX2 instructions (Intel since Haswell)
 
-%ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
+%ifnarch %{ix86} %{x8664} x32 sparc sparcv9 alpha ppc
 %undefine      with_ibase
 %endif
 %ifarch        athlon
 %define                with_3dnow      1
 %endif
-%ifarch athlon pentium3 pentium4 %{x8664}
+%ifarch athlon pentium3 pentium4 %{x8664} x32
 %define                with_mmx        1
 %endif
-%ifarch pentium4 %{x8664}
+%ifarch pentium4 %{x8664} x32
 %define                with_sse2       1
 %endif
 
-%define                icu_abi         53
+%if %{with bootstrap}
+%undefine      with_qch
+%undefine      with_qm
+%endif
+
+%define                icu_abi         55
 %define                next_icu_abi    %(echo $((%{icu_abi} + 1)))
 
 %define                orgname         qtbase
 Summary:       Qt5 - base components
 Summary(pl.UTF-8):     Biblioteka Qt5 - podstawowe komponenty
 Name:          qt5-%{orgname}
-Version:       5.3.0
-Release:       1
+Version:       5.4.2
+Release:       0.1
 # See LGPL_EXCEPTION.txt for exception details
 License:       LGPL v2 with Digia Qt LGPL Exception v1.1 or GPL v3
 Group:         X11/Libraries
-Source0:       http://download.qt-project.org/official_releases/qt/5.3/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
-# Source0-md5: 4bc43a72e1b3d804171e5b52640e8d96
+Source0:       http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
+# Source0-md5: 67a95eec79ffc4a14f516ad6f3d24c96
+Source1:       http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
+# Source1-md5: 35151a736e3b720de4f5128386f9c834
 Patch0:                qtbase-oracle-instantclient.patch
+Patch1:                %{name}-system_cacerts.patch
 URL:           http://qt-project.org/
 %{?with_directfb:BuildRequires:        DirectFB-devel}
 BuildRequires: EGL-devel
 %{?with_ibase:BuildRequires:   Firebird-devel}
-BuildRequires: Mesa-libOpenVG-devel
+%{?with_openvg:BuildRequires:  Mesa-libOpenVG-devel}
 %{?with_kms:BuildRequires:     Mesa-libgbm-devel}
 BuildRequires: OpenGL-devel
 %{?with_kms:BuildRequires:     OpenGLESv2-devel}
@@ -79,7 +91,7 @@ BuildRequires:        alsa-lib-devel
 BuildRequires: dbus-devel >= 1.2
 BuildRequires: fontconfig-devel
 %{?with_freetds:BuildRequires: freetds-devel}
-BuildRequires: freetype-devel >= 1:2.0.0
+BuildRequires: freetype-devel >= 2.1.3
 %{?with_pch:BuildRequires:     gcc >= 5:4.0}
 BuildRequires: gdb
 BuildRequires: glib2-devel >= 2.0.0
@@ -101,6 +113,7 @@ BuildRequires:      pkgconfig
 %{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: pulseaudio-devel >= 0.9.10
 %{?with_qch:BuildRequires:     qt5-assistant >= 5.2}
+%{?with_qm:BuildRequires:      qt5-linguist >= 5.2}
 BuildRequires: rpmbuild(macros) >= 1.654
 BuildRequires: sed >= 4.0
 %{?with_sqlite2:BuildRequires: sqlite-devel}
@@ -124,6 +137,7 @@ BuildRequires:      xorg-lib-libXinerama-devel
 BuildRequires: xorg-lib-libXrandr-devel
 BuildRequires: xorg-lib-libXrender-devel
 BuildRequires: xorg-lib-libxkbcommon-devel >= 0.4.1
+BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.4.1
 BuildRequires: xz
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -430,7 +444,7 @@ Requires:   Qt5Core-devel = %{version}-%{release}
 Requires:      Qt5DBus-devel = %{version}-%{release}
 Requires:      Qt5Gui-devel = %{version}-%{release}
 Requires:      fontconfig-devel
-Requires:      freetype-devel
+Requires:      freetype-devel >= 2.1.3
 Requires:      xorg-lib-libX11-devel
 Requires:      xorg-lib-libXrender-devel
 Requires:      xorg-lib-libXext-devel
@@ -649,13 +663,11 @@ Requires: Qt5Gui = %{version}-%{release}
 
 %description -n Qt5Widgets
 The Qt5 Widgets library extends Qt 5 GUI with C++ widget
-functionality. This package contains also qtaccessiblewidgets plugin
-for Qt5 Gui library.
+functionality.
 
 %description -n Qt5Widgets -l pl.UTF-8
 Biblioteka Qt5 Widgets rozszerza graficzny interfejs Qt 5 o
-funkcjonalność widgetów C++. Pakiet zawiera także wtyczkę
-qtaccessiblewidgets dla biblioteki Qt5 Gui.
+funkcjonalność widgetów C++.
 
 %package -n Qt5Widgets-devel
 Summary:       Qt5 Widgets library - development files
@@ -762,7 +774,7 @@ Przykłady do podstawowych komponentów szkieletu aplikacji Qt5.
 
 %package -n qt5-build
 Summary:       Qt5 build tools
-Summary(pl.UTF-8):     Narzędzia do budowania dla Qt4
+Summary(pl.UTF-8):     Narzędzia do budowania dla Qt5
 Group:         Development/Tools
 
 %description -n qt5-build
@@ -786,8 +798,9 @@ Qt5 makefile generator.
 Generator plików makefile dla aplikacji Qt5.
 
 %prep
-%setup -q -n %{orgname}-opensource-src-%{version}
+%setup -q -n %{orgname}-opensource-src-%{version} %{?with_qm:-a1}
 %patch0 -p1
+%patch1 -p1
 
 %{__sed} -i -e 's,usr/X11R6/,usr/,g' mkspecs/linux-g++-64/qmake.conf
 
@@ -831,7 +844,6 @@ COMMONOPT=" \
        -libdir %{_libdir} \
        -plugindir %{qt5dir}/plugins \
        -datadir %{_datadir}/qt5 \
-       -translationdir %{_localedir} \
        -sysconfdir %{_sysconfdir}/qt5 \
        -examplesdir %{_examplesdir}/qt5 \
 %if %{with mysql}
@@ -876,6 +888,7 @@ COMMONOPT=" \
        -system-xkbcommon \
        -system-zlib \
        %{?with_tslib:-tslib} \
+       -%{!?with_openvg:no-}openvg \
        -xcursor \
        -xfixes \
        -xinerama \
@@ -932,16 +945,36 @@ wd="$(pwd)"
 # build only HTML docs if without qch (which require qhelpgenerator)
 %{__make} %{!?with_qch:html_}docs
 
+%if %{with qm}
+export QMAKEPATH=$(pwd)
+cd qttranslations-opensource-src-%{version}
+../bin/qmake
+%{__make}
+cd ..
+%endif
+
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{/etc/qt5,%{_bindir},%{_pkgconfigdir}}
 
+# for QtSolutions (qtlockedfile, qtsingleapplication, etc)
+install -d $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
+
 %{__make} install \
        INSTALL_ROOT=$RPM_BUILD_ROOT
 
 %{__make} install_%{!?with_qch:html_}docs \
        INSTALL_ROOT=$RPM_BUILD_ROOT
 
+%if %{with qm}
+%{__make} -C qttranslations-opensource-src-%{version} install \
+       INSTALL_ROOT=$RPM_BUILD_ROOT
+# keep only qt and qtbase
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt_help,qtconfig,qtconnectivity,qtdeclarative,qtlocation,qtmultimedia,qtquick1,qtquickcontrols,qtscript,qtxmlpatterns}_*.qm
+%else
+install -d $RPM_BUILD_ROOT%{_datadir}/qt5/translations
+%endif
+
 # external plugins loaded from qtbase libs
 install -d $RPM_BUILD_ROOT%{qt5dir}/plugins/iconengines
 
@@ -955,11 +988,8 @@ install -d $RPM_BUILD_ROOT%{qt5dir}/plugins/iconengines
 # actually drop *.la, follow policy of not packaging them when *.pc exist
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
 
-# install tools
-install bin/findtr     $RPM_BUILD_ROOT%{qt5dir}/bin
 # symlinks in system bin dir
 cd $RPM_BUILD_ROOT%{_bindir}
-ln -sf ../%{_lib}/qt5/bin/findtr findtr-qt5
 ln -sf ../%{_lib}/qt5/bin/moc moc-qt5
 ln -sf ../%{_lib}/qt5/bin/qmake qmake-qt5
 ln -sf ../%{_lib}/qt5/bin/uic uic-qt5
@@ -993,22 +1023,34 @@ ifecho_tree() {
 }
 
 echo "%defattr(644,root,root,755)" > examples.files
+ifecho_tree examples %{_examplesdir}/qt5/corelib
 ifecho_tree examples %{_examplesdir}/qt5/dbus
 ifecho_tree examples %{_examplesdir}/qt5/gui
-ifecho_tree examples %{_examplesdir}/qt5/ipc
-ifecho_tree examples %{_examplesdir}/qt5/json
 ifecho_tree examples %{_examplesdir}/qt5/network
 ifecho_tree examples %{_examplesdir}/qt5/opengl
 ifecho_tree examples %{_examplesdir}/qt5/qpa
 ifecho_tree examples %{_examplesdir}/qt5/qtconcurrent
 ifecho_tree examples %{_examplesdir}/qt5/qtestlib
 ifecho_tree examples %{_examplesdir}/qt5/sql
-ifecho_tree examples %{_examplesdir}/qt5/threads
-ifecho_tree examples %{_examplesdir}/qt5/tools
 ifecho_tree examples %{_examplesdir}/qt5/touch
 ifecho_tree examples %{_examplesdir}/qt5/widgets
 ifecho_tree examples %{_examplesdir}/qt5/xml
 
+# find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
+find_qt5_qm()
+{
+       name="$1"
+       find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
+               sed -e "s:^$RPM_BUILD_ROOT::" \
+                   -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
+}
+
+echo '%defattr(644,root,root,755)' > qtbase.lang
+%if %{with qm}
+find_qt5_qm qt >> qtbase.lang
+find_qt5_qm qtbase >> qtbase.lang
+%endif
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -1068,7 +1110,7 @@ rm -rf $RPM_BUILD_ROOT
 %{qt5dir}/mkspecs/modules/qt_lib_concurrent.pri
 %{qt5dir}/mkspecs/modules/qt_lib_concurrent_private.pri
 
-%files -n Qt5Core
+%files -n Qt5Core -f qtbase.lang
 %defattr(644,root,root,755)
 %doc LGPL_EXCEPTION.txt header.* dist/{README,changes-*}
 %attr(755,root,root) %{_libdir}/libQt5Core.so.*.*.*
@@ -1079,12 +1121,15 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{qt5dir}/mkspecs
 %dir %{qt5dir}/mkspecs/modules
 %dir %{qt5dir}/plugins
+%dir %{_datadir}/qt5
+%dir %{_datadir}/qt5/translations
 
 %files -n Qt5Core-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQt5Core.so
 %{_libdir}/libQt5Core.prl
 %dir %{_includedir}/qt5
+%dir %{_includedir}/qt5/QtSolutions
 %{_includedir}/qt5/QtCore
 %{_pkgconfigdir}/Qt5Core.pc
 %{_libdir}/cmake/Qt5
@@ -1111,8 +1156,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQt5Gui.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libQt5Gui.so.5
-# loaded from src/gui/accessible/qaccessible.cpp
-%dir %{qt5dir}/plugins/accessible
 # loaded from src/gui/kernel/qgenericpluginfactory.cpp
 %dir %{qt5dir}/plugins/generic
 # R: udev-libs (by all qevdev* plugins)
@@ -1195,6 +1238,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libQt5Gui.so
 %{_libdir}/libQt5Gui.prl
 %{_includedir}/qt5/QtGui
+%{_includedir}/qt5/QtPlatformHeaders
 %{_pkgconfigdir}/Qt5Gui.pc
 %{_libdir}/cmake/Qt5Gui/Qt5GuiConfig*.cmake
 %{_libdir}/cmake/Qt5Gui/Qt5Gui_QEvdevKeyboardPlugin.cmake
@@ -1408,8 +1452,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQt5Widgets.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libQt5Widgets.so.5
-# Qt5Gui plugin which requires Qt5Widgets
-%attr(755,root,root) %{qt5dir}/plugins/accessible/libqtaccessiblewidgets.so
 
 %files -n Qt5Widgets-devel
 %defattr(644,root,root,755)
@@ -1420,7 +1462,6 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_libdir}/cmake/Qt5Widgets
 %{_libdir}/cmake/Qt5Widgets/Qt5WidgetsConfig*.cmake
 %{_libdir}/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake
-%{_libdir}/cmake/Qt5Widgets/Qt5Widgets_AccessibleFactory.cmake
 %{qt5dir}/mkspecs/modules/qt_lib_widgets.pri
 %{qt5dir}/mkspecs/modules/qt_lib_widgets_private.pri
 
@@ -1454,6 +1495,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_docdir}/qt5-doc/qtgui
 %{_docdir}/qt5-doc/qtnetwork
 %{_docdir}/qt5-doc/qtopengl
+%{_docdir}/qt5-doc/qtplatformheaders
 %{_docdir}/qt5-doc/qtprintsupport
 %{_docdir}/qt5-doc/qtsql
 %{_docdir}/qt5-doc/qttestlib
@@ -1471,6 +1513,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_docdir}/qt5-doc/qtgui.qch
 %{_docdir}/qt5-doc/qtnetwork.qch
 %{_docdir}/qt5-doc/qtopengl.qch
+%{_docdir}/qt5-doc/qtplatformheaders.qch
 %{_docdir}/qt5-doc/qtprintsupport.qch
 %{_docdir}/qt5-doc/qtsql.qch
 %{_docdir}/qt5-doc/qttestlib.qch
@@ -1485,7 +1528,6 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -n qt5-build
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/findtr-qt5
 %attr(755,root,root) %{_bindir}/moc-qt5
 %attr(755,root,root) %{_bindir}/qdbuscpp2xml-qt5
 %attr(755,root,root) %{_bindir}/qdbusxml2cpp-qt5
@@ -1493,7 +1535,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/qlalr-qt5
 %attr(755,root,root) %{_bindir}/rcc-qt5
 %attr(755,root,root) %{_bindir}/uic-qt5
-%attr(755,root,root) %{qt5dir}/bin/findtr
 %attr(755,root,root) %{qt5dir}/bin/moc
 %attr(755,root,root) %{qt5dir}/bin/qdbuscpp2xml
 %attr(755,root,root) %{qt5dir}/bin/qdbusxml2cpp
This page took 0.232176 seconds and 4 git commands to generate.