diff --git a/.gitignore b/.gitignore index 77f837b..6a603ed 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/qtbase-opensource-src-5.0.2.tar.xz /qtbase-opensource-src-5.1.1.tar.xz +/qtbase-opensource-src-5.2.0-alpha.tar.xz diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 6241d91..4998822 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -14,18 +14,23 @@ # define to build docs, need to undef this for bootstrapping # where qt5-qttools builds are not yet available -# FIXME: noarch -doc content different between archs -#define docs 1 +%define docs 1 + +%define pre alpha Summary: Qt5 - QtBase components Name: qt5-qtbase -Version: 5.1.1 -Release: 6%{?dist} +Version: 5.2.0 +Release: 0.1.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions Url: http://qt-project.org/ -Source0: http://download.qt-project.org/official_releases/qt/5.1/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz +%if 0%{?pre:1} +Source0: http://download.qt-project.org/development_releases/qt/5.2/%{version}-%{pre}/submodules/%{qt_module}-opensource-src-%{version}-%{pre}.tar.xz +%else +Source0: http://download.qt-project.org/official_releases/qt/5.2/%{version}/submodules/%{qt_module}-opensource-src-%{version}.tar.xz +%endif # http://bugzilla.redhat.com/1005482 ExcludeArch: ppc64 ppc @@ -43,6 +48,8 @@ Patch2: qtbase-multilib_optflags.patch Patch50: qt5-poll.patch # fix big endian builds Patch51: qtbase-opensource-src-5.1.1-bigendian.patch +# fix build with -system-harfbuzz +Patch52: qtbase-opensource-src-5.2.0-alpha-harfbuzz.patch ##upstream patches @@ -90,6 +97,8 @@ BuildRequires: pkgconfig(openssl) %if 0%{?fedora} || 0%{?rhel} > 6 BuildRequires: pkgconfig(atspi-2) BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(harfbuzz) +%define harfbuzz -system-harfbuzz BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(libpcre) >= 8.30 %define pcre -system-pcre @@ -114,7 +123,7 @@ handling. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-x11%{?_isa} +Requires: %{name}-gui%{?_isa} Requires: pkgconfig(gl) %description devel %{summary}. @@ -170,15 +179,17 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %{summary}. # debating whether to do 1 subpkg per library or not -- rex -%package x11 +%package gui Summary: Qt5 GUI-related libraries Requires: %{name}%{?_isa} = %{version}-%{release} -%description x11 +Obsoletes: qt5-qtbase-x11 < 5.2.0 +Provides: qt5-qtbase-x11 = %{version}-%{release} +%description gui Qt5 libraries used for drawing widgets and OpenGL items. %prep -%setup -q -n qtbase-opensource-src-%{version} +%setup -q -n qtbase-opensource-src-%{version}%{?pre:-%{pre}} %patch2 -p1 -b .multilib_optflags # drop backup file(s), else they get installed too, http://bugzilla.redhat.com/639463 @@ -186,6 +197,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags #patch50 -p1 -b .poll %patch51 -p1 -b .bigendian +%patch52 -p1 -b .harfbuzz # drop -fexceptions from $RPM_OPT_FLAGS RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` @@ -252,6 +264,7 @@ popd -no-separate-debug-info \ -no-strip \ -reduce-relocations \ + %{?harfbuzz} \ -system-libjpeg \ -system-libpng \ %{?pcre} \ @@ -326,19 +339,17 @@ EOF # create/own dirs mkdir -p %{buildroot}{%{_qt5_archdatadir}/mkspecs/modules,%{_qt5_importdir},%{_qt5_libexecdir},%{_qt5_plugindir}/iconengines,%{_qt5_translationdir}} -# put non-conflicting binaries with -qt5 postfix in %{_bindir} +# hardlink files to %{_bindir}, add -qt5 postfix to not conflict mkdir %{buildroot}%{_bindir} pushd %{buildroot}%{_qt5_bindir} for i in * ; do case "${i}" in moc|qdbuscpp2xml|qdbusxml2cpp|qmake|rcc|syncqt|uic) - mv $i ../../../bin/${i}-qt5 - ln -s ../../../bin/${i}-qt5 . - ln -s ../../../bin/${i}-qt5 $i + ln -v ${i} %{buildroot}%{_bindir}/${i}-qt5 + ln -sv ${i} ${i}-qt5 ;; - *) - mv $i ../../../bin/ - ln -s ../../../bin/$i . + *) + ln -v ${i} %{buildroot}%{_bindir}/${i} ;; esac done @@ -353,7 +364,7 @@ popd %ifarch %{multilib_archs} mv qt5.conf qt5-%{__isa_bits}.conf %ifarch %{multilib_basearchs} - ln -sf qt5-%{__isa_bits}.conf qt5.conf + ln -sv qt5-%{__isa_bits}.conf qt5.conf %endif %endif popd @@ -403,6 +414,7 @@ popd %{_qt5_libdir}/libQt5Test.so.5* %{_qt5_libdir}/libQt5Xml.so.5* %dir %{_qt5_docdir}/ +%{_qt5_docdir}/global/ %{_qt5_importdir}/ %{_qt5_translationdir}/ %dir %{_qt5_prefix}/ @@ -417,11 +429,8 @@ popd %dir %{_qt5_plugindir}/generic/ %dir %{_qt5_plugindir}/imageformats/ %dir %{_qt5_plugindir}/platforminputcontexts/ -%{_qt5_plugindir}/platforminputcontexts/libcomposeplatforminputcontextplugin.so %dir %{_qt5_plugindir}/platforms/ -%{_qt5_plugindir}/platforms/libqoffscreen.so %dir %{_qt5_plugindir}/platformthemes/ -%{_qt5_plugindir}/platformthemes/libqgtk2.so %dir %{_qt5_plugindir}/printsupport/ %dir %{_qt5_plugindir}/sqldrivers/ %{_qt5_plugindir}/sqldrivers/libqsqlite.so @@ -429,7 +438,6 @@ popd %if 0%{?docs} %files doc %{_qt5_docdir}/*.qch -%{_qt5_docdir}/global/ %{_qt5_docdir}/qdoc/ %{_qt5_docdir}/qmake/ %{_qt5_docdir}/qtconcurrent/ @@ -558,10 +566,10 @@ popd %files tds %{_qt5_plugindir}/sqldrivers/libqsqltds.so -%post x11 -p /sbin/ldconfig -%postun x11 -p /sbin/ldconfig +%post gui -p /sbin/ldconfig +%postun gui -p /sbin/ldconfig -%files x11 +%files gui %{_qt5_libdir}/libQt5Gui.so.5* %{_qt5_libdir}/libQt5OpenGL.so.5* %{_qt5_libdir}/libQt5PrintSupport.so.5* @@ -574,15 +582,24 @@ popd %{_qt5_plugindir}/imageformats/libqgif.so %{_qt5_plugindir}/imageformats/libqico.so %{_qt5_plugindir}/imageformats/libqjpeg.so +%{_qt5_plugindir}/platforminputcontexts/libcomposeplatforminputcontextplugin.so %{_qt5_plugindir}/platforminputcontexts/libibusplatforminputcontextplugin.so -%{_qt5_plugindir}/platforminputcontexts/libmaliitplatforminputcontextplugin.so %{_qt5_plugindir}/platforms/libqlinuxfb.so %{_qt5_plugindir}/platforms/libqminimal.so +%{_qt5_plugindir}/platforms/libqoffscreen.so %{_qt5_plugindir}/platforms/libqxcb.so +%{_qt5_plugindir}/platformthemes/libqgtk2.so %{_qt5_plugindir}/printsupport/libcupsprintersupport.so %changelog +* Tue Oct 01 2013 Rex Dieter - 5.2.0-0.1.alpha +- 5.2.0-alpha +- -system-harfbuzz +- rename subpkg -x11 => -gui +- move some gui-related plugins base => -gui +- don't use symlinks in %%_qt5_bindir (more qtchooser-friendly) + * Fri Sep 27 2013 Rex Dieter - 5.1.1-6 - -doc subpkg (not enabled) - enable %%check diff --git a/qtbase-opensource-src-5.2.0-alpha-harfbuzz.patch b/qtbase-opensource-src-5.2.0-alpha-harfbuzz.patch new file mode 100644 index 0000000..57a044e --- /dev/null +++ b/qtbase-opensource-src-5.2.0-alpha-harfbuzz.patch @@ -0,0 +1,12 @@ +diff -up qtbase-opensource-src-5.2.0-alpha/src/gui/text/qtextengine.cpp.harfbuzz qtbase-opensource-src-5.2.0-alpha/src/gui/text/qtextengine.cpp +--- qtbase-opensource-src-5.2.0-alpha/src/gui/text/qtextengine.cpp.harfbuzz 2013-09-27 06:05:10.000000000 -0500 ++++ qtbase-opensource-src-5.2.0-alpha/src/gui/text/qtextengine.cpp 2013-10-01 12:20:23.089054279 -0500 +@@ -1098,7 +1098,7 @@ int QTextEngine::shapeTextWithHarfbuzzNG + hb_buffer_set_segment_properties(buffer, &props); + hb_buffer_guess_segment_properties(buffer); + +- uint buffer_flags = HB_BUFFER_FLAG_DEFAULT; ++ uint buffer_flags = HB_BUFFER_FLAGS_DEFAULT; + // Symbol encoding used to encode various crap in the 32..255 character code range, + // and thus might override U+00AD [SHY]; avoid hiding default ignorables + if (actualFontEngine->symbol) diff --git a/sources b/sources index 0c58940..a6bad2c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -955d1e4da875f3872ef3208f21a757dd qtbase-opensource-src-5.1.1.tar.xz +9dcb69e03aa9c11ad42b8dd184c3a764 qtbase-opensource-src-5.2.0-alpha.tar.xz