From df5da79c4b6af059eeef3765f683a6e38cd8c361 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Oct 18 2013 13:31:48 +0000 Subject: Merge branch 'master' into f20 --- 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 6efe017..1387303 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -12,18 +12,25 @@ %define rpm_macros_dir %{_sysconfdir}/rpm %endif +# define to build docs, need to undef this for bootstrapping +# where qt5-qttools builds are not yet available +#define docs 1 + +%define pre alpha + Summary: Qt5 - QtBase components Name: qt5-qtbase -Version: 5.1.1 -Release: 5%{?dist} +Version: 5.2.0 +Release: 0.3.%{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 - -# http://bugzilla.redhat.com/1005482 -ExcludeArch: ppc64 ppc +%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 # help build on some lowmem archs, e.g. drop hard-coded -O3 optimization on some files Patch1: qtbase-opensource-src-5.0.2-lowmem.patch @@ -31,6 +38,9 @@ Patch1: qtbase-opensource-src-5.0.2-lowmem.patch # support multilib optflags Patch2: qtbase-multilib_optflags.patch +# qatomic on ppc/ppc64, http://bugzilla.redhat.com/1005482 +Patch3: qtbase-qatomic-ppc.patch + # upstreamable patches # support poll # https://bugreports.qt-project.org/browse/QTBUG-27195 @@ -38,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 @@ -62,6 +74,8 @@ Patch51: qtbase-opensource-src-5.1.1-bigendian.patch %define _qt5_sysconfdir %{_qt5_settingsdir} %define _qt5_translationdir %{_datadir}/qt5/translations +# for %%check +BuildRequires: cmake BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: findutils @@ -83,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 @@ -107,11 +123,22 @@ 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}. +%if 0%{?docs} +%package doc +Summary: API documentation for %{name} +Requires: %{name} = %{version}-%{release} +# for qhelpgenerator +BuildRequires: qt5-qttools-devel +BuildArch: noarch +%description doc +%{summary}. +%endif + %package static Summary: Static library files for %{name} Requires: %{name}-devel%{?_isa} = %{version}-%{release} @@ -152,22 +179,27 @@ 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 rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags +%patch3 -p1 -b .qatomic-ppc + #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'` @@ -234,6 +266,7 @@ popd -no-separate-debug-info \ -no-strip \ -reduce-relocations \ + %{?harfbuzz} \ -system-libjpeg \ -system-libpng \ %{?pcre} \ @@ -242,11 +275,20 @@ popd make %{?_smp_mflags} +%if 0%{?docs} +# wierd but necessary, to force regeration to use just-built qdoc +rm -fv src/corelib/Makefile +make %{?_smp_mflags} docs +%endif -%install +%install make install INSTALL_ROOT=%{buildroot} +%if 0%{?docs} +make install_docs INSTALL_ROOT=%{buildroot} +%endif + # Qt5.pc cat >%{buildroot}%{_libdir}/pkgconfig/Qt5.pc< 5.2.0-0.3.alpha +- disable -docs (for ppc bootstrap mostly) + +* Wed Oct 16 2013 Lukáš Tinkl - 5.2.0-0.2.alpha +- Fixes #1005482 - qtbase FTBFS on ppc/ppc64 + +* 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 + * Mon Sep 23 2013 Dan Horák - 5.1.1-5 - fix big endian builds 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/qtbase-qatomic-ppc.patch b/qtbase-qatomic-ppc.patch new file mode 100644 index 0000000..4e1ac59 --- /dev/null +++ b/qtbase-qatomic-ppc.patch @@ -0,0 +1,22 @@ +Index: qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h +=================================================================== +--- qtbase-opensource-src-5.1.1.orig/src/corelib/thread/qoldbasicatomic.h ++++ qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h +@@ -63,7 +63,7 @@ public: + // Atomic API, implemented in qatomic_XXX.h + + int load() const { return _q_value; } +- int loadAcquire() { return _q_value; } ++ int loadAcquire() const { return _q_value; } + void store(int newValue) { _q_value = newValue; } + void storeRelease(int newValue) { _q_value = newValue; } + +@@ -107,7 +107,7 @@ public: + // Atomic API, implemented in qatomic_XXX.h + + T *load() const { return _q_value; } +- T *loadAcquire() { return _q_value; } ++ T *loadAcquire() const { return _q_value; } + void store(T *newValue) { _q_value = newValue; } + void storeRelease(T *newValue) { _q_value = newValue; } + 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