%ifarch %{ix86} %global nosse2_hack 1 ## TODO: # * consider debian's approach of runtime detection instead: # https://codereview.qt-project.org/#/c/127354/ %endif %define snapshot 0 %define bootstrap 0 %ifarch %{arm} %define build_docs 0 %else %if %bootstrap %define build_docs 0 %else %define build_docs 1 %endif %endif %define qtmajor 5 %define qtminor 12 %define qtsubminor 0 %define rel 1 %define pre rc %define qtversion %{qtmajor}.%{qtminor}.%{qtsubminor} %define libqt5quicktest %mklibname qt5quicktest %qtmajor %define libqt5quicktest_d %mklibname qt%{qtmajor}quicktest -d %define libqt5quick %mklibname qt5quick %qtmajor %define libqt5quick_d %mklibname qt%{qtmajor}quick -d %define libqt5quickshapes %mklibname qt5quickshapes %qtmajor %define libqt5quickshapes_d %mklibname qt%{qtmajor}quickshapes -d %define libqt5quickwidgets %mklibname qt5quickwidgets %qtmajor %define libqt5quickwidgets_d %mklibname qt%{qtmajor}quickwidgets -d %define libqt5quickparticles %mklibname qt5quickparticles %qtmajor %define libqt5quickparticles_d %mklibname qt%{qtmajor}quickparticles -d %define libqt5qml %mklibname qt5qml %qtmajor %define libqt5qml_d %mklibname qt%{qtmajor}qml -d %define libqt5packetprotocol_d %mklibname qt5packetprotocol -d -s %if %snapshot %define qttarballdir qtdeclarative-everywhere-src-%{qtversion}-%pre %else %define qttarballdir qtdeclarative-everywhere-src-%{qtversion} %endif Name: qtdeclarative5 Version: %{qtversion} Release: %mkrel %{rel} Summary: Qt Declarative component Group: Development/KDE and Qt License: LGPLv2 with exceptions or GPLv3 with exceptions and GFDL URL: http://www.qt.io Source0: http://download.qt.io/official_releases/qt/%{qtmajor}.%{qtminor}/%{version}/submodules/%{qttarballdir}.tar.xz BuildRequires: pkgconfig(Qt5Xml) BuildRequires: pkgconfig(Qt5XmlPatterns) = %{version} BuildRequires: pkgconfig(Qt5Core) = %{version} BuildRequires: pkgconfig(Qt5Network) = %{version} BuildRequires: pkgconfig(Qt5Gui) = %{version} BuildRequires: pkgconfig(Qt5Widgets) = %{version} BuildRequires: pkgconfig(Qt5Sql) = %{version} BuildRequires: cmake(Qt5Test) = %{version} Conflicts: %{_lib}qt5qml-private-devel < 5.5.0-3 Conflicts: qtquickcontrols5 < 5.9.1 #Branch Patchs # support no_sse2 CONFIG (i586 builds cannot assume -march=pentium4 -msse2 -mfpmath=sse flags, or the JIT that needs them) # https://codereview.qt-project.org/#change,73710 Patch1: qtdeclarative-everywhere-src-5.12.0-no_sse2.patch #Trunk Patchs #Patch from Mageia %description Qt5 Declarative component. %files %_qt5_bindir/qml %_qt5_bindir/qmlcachegen %_qt5_bindir/qmlimportscanner %_qt5_bindir/qmlmin %_qt5_bindir/qmlplugindump %_qt5_bindir/qmlpreview %_qt5_bindir/qmlprofiler %_qt5_bindir/qmlscene %_qt5_bindir/qmltestrunner %_qt5_bindir/qmleasing %_qt5_bindir/qmllint %_qt5_prefix/qml/QtTest %_qt5_prefix/qml/QtQuick* %_qt5_prefix/plugins/qmltooling/libqmldbg_tcp.so %_qt5_prefix/plugins/qmltooling/libqmldbg_debugger.so %_qt5_prefix/plugins/qmltooling/libqmldbg_inspector.so %_qt5_prefix/plugins/qmltooling/libqmldbg_local.so %_qt5_prefix/plugins/qmltooling/libqmldbg_native.so %_qt5_prefix/plugins/qmltooling/libqmldbg_preview.so %_qt5_prefix/plugins/qmltooling/libqmldbg_profiler.so %_qt5_prefix/plugins/qmltooling/libqmldbg_server.so %_qt5_prefix/plugins/qmltooling/libqmldbg_messages.so %_qt5_prefix/plugins/qmltooling/libqmldbg_nativedebugger.so %_qt5_prefix/plugins/qmltooling/libqmldbg_quickprofiler.so %_qt5_prefix/qml/Qt/labs/folderlistmodel %_qt5_prefix/qml/Qt/labs/qmlmodels %_qt5_prefix/qml/Qt/labs/settings %_qt5_datadir/qml/QtQml %_qt5_datadir/qml/builtins.qmltypes %_qt5_datadir/qml/Qt/labs/sharedimage %_qt5_datadir/qml/Qt/labs/wavefrontmesh #------------------------------------------------------------------------------ %if %{build_docs} %package doc Summary: QtDeclarative%{qtmajor} APIs and tools docs Group: Documentation BuildArch: noarch BuildRequires: qttools5 # This one is required to build QCH-format documentation # for APIs and tools in this package set BuildRequires: qttools5-assistant Recommends: qttools5-assistant %description doc Documentation for APIs and tools in QtDeclarative5 package for use with Qt Assistant. %files doc %{_qt5_docdir}/qtqml.qch %{_qt5_docdir}/qtqml/ %{_qt5_docdir}/qtquick.qch %{_qt5_docdir}/qtquick/ %{_qt5_docdir}/qtqmltest.qch %{_qt5_docdir}/qtqmltest/ %endif #------------------------------------------------------------------------------ %package -n %{libqt5quicktest} Summary: Qt%{qtmajor} Lib Group: System/Libraries %description -n %{libqt5quicktest} Qt%{qtmajor} Lib. %files -n %{libqt5quicktest} %{_qt5_libdir}/libQt5QuickTest.so.%{qtmajor}{,.*} #------------------------------------------------------------------------------ %package -n %{libqt5quicktest_d} Summary: Devel files needed to build apps based on QtDeclarative Group: Development/KDE and Qt Requires: %{libqt5quicktest} = %version-%{release} Requires: %{name} = %version Provides: libqt5quicktest-devel = %version-%{release} Provides: libqtquicktest5-devel = %version-%{release} Provides: qt5quicktest-devel = %version-%{release} Provides: qtquicktest5-devel = %version-%{release} Provides: libqt5quicktest-private-devel = %version-%{release} Provides: libqtquicktest5-private-devel = %version-%{release} Provides: qt5quicktest-private-devel = %version-%{release} Provides: qtquicktest5-private-devel = %version-%{release} %description -n %{libqt5quicktest_d} Devel files needed to build apps based on QtDeclarative. %files -n %{libqt5quicktest_d} %_qt5_libdir/libQt5QuickTest.prl %_qt5_libdir/libQt5QuickTest.so %_qt5_libdir/cmake/Qt5QuickTest %_qt5_includedir/QtQuickTest/ %_qt5_libdir/pkgconfig/Qt5QuickTest.pc %_qt5_prefix/examples/qmltest #------------------------------------------------------------------------------ %package -n %{libqt5quick} Summary: Qt%{qtmajor} Lib Group: System/Libraries %description -n %{libqt5quick} Qt%{qtmajor} Lib. %files -n %{libqt5quick} %{_qt5_libdir}/libQt5Quick.so.%{qtmajor}{,.*} #------------------------------------------------------------------------------ %package -n %{libqt5quick_d} Summary: Devel files needed to build apps based on QtDeclarative Group: Development/KDE and Qt Requires: %{name} = %version-%{release} Requires: %{libqt5quick} = %version-%{release} Provides: libqt5quick-devel = %version-%{release} Provides: libqtquick5-devel = %version-%{release} Provides: qt5quick-devel = %version-%{release} Provides: qtquick5-devel = %version-%{release} Requires: qtgui5-devel = %version-%{release} Provides: libqt5quick-private-devel = %version-%{release} Provides: libqtquick5-private-devel = %version-%{release} Provides: qt5quick-private-devel = %version-%{release} Provides: qtquick5-private-devel = %version-%{release} %description -n %{libqt5quick_d} Devel files needed to build apps based on QtDeclarative. %files -n %{libqt5quick_d} %_qt5_libdir/libQt5Quick.prl %_qt5_libdir/libQt5Quick.so %_qt5_libdir/cmake/Qt5Quick %_qt5_includedir/QtQuick/ %_qt5_prefix/examples/quick %_qt5_libdir/pkgconfig/Qt5Quick.pc %_qt5_prefix/mkspecs/modules/qt_lib_quick.pri %_qt5_prefix/mkspecs/modules/qt_lib_quick_private.pri #------------------------------------------------------------------------------ %package -n %{libqt5quickwidgets} Summary: Qt%{qtmajor} Lib Group: System/Libraries %description -n %{libqt5quickwidgets} Qt%{qtmajor} Lib. %files -n %{libqt5quickwidgets} %{_qt5_libdir}/libQt5QuickWidgets.so.%{qtmajor}{,.*} #------------------------------------------------------------------------------ %package -n %{libqt5quickwidgets_d} Summary: Devel files needed to build apps based on QtDeclarative Group: Development/KDE and Qt Requires: %{name} = %version-%{release} Requires: %{libqt5quickwidgets} = %version-%{release} Provides: libqt5quickwidgets-devel = %version-%{release} Provides: libqtquickwidgets5-devel = %version-%{release} Provides: qt5quickwidgets-devel = %version-%{release} Provides: qtquickwidgets5-devel = %version-%{release} Provides: libqt5quickwidgets-private-devel = %version-%{release} Provides: libqtquickwidgets5-private-devel = %version-%{release} Provides: qt5quickwidgets-private-devel = %version-%{release} Provides: qtquickwidgets5-private-devel = %version-%{release} %description -n %{libqt5quickwidgets_d} Devel files needed to build apps based on QtDeclarative. %files -n %{libqt5quickwidgets_d} %_qt5_libdir/libQt5QuickWidgets.prl %_qt5_libdir/libQt5QuickWidgets.so %_qt5_libdir/cmake/Qt5QuickWidgets %_qt5_includedir/QtQuickWidgets/ %_qt5_libdir/pkgconfig/Qt5QuickWidgets.pc %_qt5_prefix/mkspecs/modules/qt_lib_quickwidgets.pri %_qt5_prefix/mkspecs/modules/qt_lib_quickwidgets_private.pri #------------------------------------------------------------------------------ %package -n %{libqt5quickshapes} Summary: Qt%{qtmajor} Lib Group: System/Libraries %description -n %{libqt5quickshapes} Qt%{qtmajor} Lib. %files -n %{libqt5quickwidgets} %{_qt5_libdir}/libQt5QuickShapes.so.%{qtmajor}{,.*} #------------------------------------------------------------------------------ %package -n %{libqt5quickshapes_d} Summary: Devel files needed to build apps based on QtDeclarative Group: Development/KDE and Qt Requires: %{name} = %version-%{release} Requires: %{libqt5quickshapes} = %version-%{release} Provides: libqt5quickshapes-devel = %version-%{release} Provides: libqtquickshapes5-devel = %version-%{release} Provides: qt5quickshapes-devel = %version-%{release} Provides: qtquickshapes5-devel = %version-%{release} Provides: libqt5quickshapes-private-devel = %version-%{release} Provides: libqtquickshapes5-private-devel = %version-%{release} Provides: qt5quickshapes-private-devel = %version-%{release} Provides: qtquickshapes5-private-devel = %version-%{release} %description -n %{libqt5quickshapes_d} Devel files needed to build apps based on QtDeclarative. %files -n %{libqt5quickshapes_d} %_qt5_libdir/libQt5QuickShapes.prl %_qt5_libdir/libQt5QuickShapes.so %_qt5_includedir/QtQuickShapes/ %_qt5_prefix/mkspecs/modules/qt_lib_quickshapes_private.pri #------------------------------------------------------------------------------ %package -n %{libqt5packetprotocol_d} Summary: Devel files needed to build apps based on QtDeclarative Group: Development/KDE and Qt Requires: %{name} = %version-%{release} Provides: libqt5packetprotocol-static-devel = %version-%{release} Provides: libqtpacketprotocol5-static-devel = %version-%{release} Provides: qt5packetprotocol-static-devel = %version-%{release} Provides: qtpacketprotocol5-static-devel = %version-%{release} %description -n %{libqt5packetprotocol_d} Devel files needed to build apps based on QtDeclarative. %files -n %{libqt5packetprotocol_d} %_qt5_libdir/libQt5PacketProtocol.prl %_qt5_libdir/libQt5PacketProtocol.a %_qt5_includedir/QtPacketProtocol/ %_qt5_prefix/mkspecs/modules/qt_lib_packetprotocol_private.pri #------------------------------------------------------------------------------ %package -n %{libqt5quickparticles} Summary: Qt%{qtmajor} Lib Group: System/Libraries %description -n %{libqt5quickparticles} Qt%{qtmajor} Lib. %files -n %{libqt5quickparticles} %{_qt5_libdir}/libQt5QuickParticles.so.%{qtmajor}{,.*} #------------------------------------------------------------------------------ %package -n %{libqt5quickparticles_d} Summary: Devel files needed to build apps based on QtDeclarative Group: Development/KDE and Qt Requires: %{name} = %version-%{release} Requires: %{libqt5quickparticles} = %version-%{release} Provides: libqt5quickparticles-devel = %version-%{release} Provides: libqtquickparticles5-devel = %version-%{release} Provides: qt5quickparticles-devel = %version-%{release} Provides: qtquickparticles5-devel = %version-%{release} Provides: libqt5quickparticles-private-devel = %version-%{release} Provides: libqtquickparticles5-private-devel = %version-%{release} Provides: qt5quickparticles-private-devel = %version-%{release} Provides: qtquickparticles5-private-devel = %version-%{release} %description -n %{libqt5quickparticles_d} Devel files needed to build apps based on QtDeclarative. %files -n %{libqt5quickparticles_d} %_qt5_libdir/libQt5QuickParticles.prl %_qt5_libdir/libQt5QuickParticles.so %_qt5_includedir/QtQuickParticles/ %_qt5_prefix/mkspecs/modules/qt_lib_quickparticles_private.pri #------------------------------------------------------------------------------ %package -n %{libqt5qml} Summary: Qt%{qtmajor} Lib Group: System/Libraries %description -n %{libqt5qml} Qt%{qtmajor} Lib. %files -n %{libqt5qml} %{_qt5_libdir}/libQt5Qml.so.%{qtmajor}{,.*} %if 0%{?nosse2_hack} %{_qt5_libdir}/sse2/libQt5Qml.so.%{qtmajor}{,.*} %endif #------------------------------------------------------------------------------ %package -n %{libqt5qml_d} Summary: Devel files needed to build apps based on QtDeclarative Group: Development/KDE and Qt Requires: %{name} = %version-%{release} Requires: %{libqt5qml} = %version-%{release} Provides: libqt5qml-devel = %version-%{release} Provides: libqtqml5-devel = %version-%{release} Provides: qt5qml-devel = %version-%{release} Provides: qtqml5-devel = %version-%{release} Provides: libqt5qml-private-devel = %version-%{release} Provides: libqtqml5-private-devel = %version-%{release} Provides: qt5qml-private-devel = %version-%{release} Provides: qtqml5-private-devel = %version-%{release} Requires: qtnetwork5-devel = %version Requires: qtcore5-devel = %version %description -n %{libqt5qml_d} Devel files needed to build apps based on QtDeclarative. %files -n %{libqt5qml_d} %_qt5_libdir/libQt5Qml.prl %_qt5_libdir/libQt5Qml.so %_qt5_libdir/cmake/Qt5Qml %_qt5_prefix/mkspecs/modules/qt_lib_qmltest.pri %_qt5_prefix/mkspecs/modules/qt_lib_qml.pri %_qt5_prefix/examples/qml %_qt5_libdir/pkgconfig/Qt5Qml.pc %_qt5_libdir/libQt5QmlDevTools.a %_qt5_includedir/QtQml* %_qt5_libdir/libQt5QmlDevTools.prl %_qt5_prefix/mkspecs/modules/qt_lib_qml_private.pri %_qt5_prefix/mkspecs/modules/qt_lib_qmldevtools_private.pri %_qt5_prefix/mkspecs/modules/qt_lib_qmltest_private.pri %_qt5_prefix/mkspecs/modules/qt_lib_qmldebug_private.pri %_qt5_prefix/mkspecs/features/qmlcache.prf %_qt5_libdir/libQt5QmlDebug.a %_qt5_libdir/libQt5QmlDebug.prl %_qt5_libdir/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake %_qt5_prefix/mkspecs/features/qtquickcompiler.prf #------------------------------------------------------------------------------ %prep %setup -q -n qtdeclarative-everywhere-src-%{qtversion} %if 0%{?nosse2_hack} %patch1 -p1 -b .no_sse2 %endif %build %if 0%{?nosse2_hack} # build libQt5Qml with no_sse2 mkdir -p %{_target_platform}-no_sse2 pushd %{_target_platform}-no_sse2 %{qmake_qt5} -config no_sse2 .. %make_build sub-src-clean %make_build -C src/qml popd %endif %{qmake_qt5} # no shadow builds until fixed: https://bugreports.qt.io/browse/QTBUG-37417 %make_build %if %{build_docs} %__make docs %endif %install %make_install INSTALL_ROOT=%{buildroot} %if 0%{?nosse2_hack} mkdir -p %{buildroot}%{_qt5_libdir}/sse2 mv %{buildroot}%{_qt5_libdir}/libQt5Qml.so.5* %{buildroot}%{_qt5_libdir}/sse2/ %make_install INSTALL_ROOT=%{buildroot} -C %{_target_platform}-no_sse2/src/qml %endif %if %{build_docs} %make_install install_docs INSTALL_ROOT=%{buildroot} %endif # .la and .a files, die, die, die. find %{buildroot} -name '*.la' -delete #find %%{buildroot} -name '*.a' -delete