From 5854ba8f1662f69a7bab287c5e0b27052d08468e Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sun, 14 May 2017 08:11:17 -0500 Subject: [PATCH] Conflict in qt5-qtdeclarative-devel (#1441343), fix Release: --- qt5-qtdeclarative.spec | 19 ++++++++++++++++++- qv4global_p-multilib.h | 23 +++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 qv4global_p-multilib.h diff --git a/qt5-qtdeclarative.spec b/qt5-qtdeclarative.spec index 70572e3..9134dd5 100644 --- a/qt5-qtdeclarative.spec +++ b/qt5-qtdeclarative.spec @@ -7,16 +7,23 @@ # https://codereview.qt-project.org/#/c/127354/ %endif +# definition borrowed from qtbase +%global multilib_archs x86_64 %{ix86} %{?mips} ppc64 ppc s390x s390 sparc64 sparcv9 + Summary: Qt5 - QtDeclarative component Name: qt5-%{qt_module} Version: 5.9.0 -Release: 0.beta.4%{?dist} +Release: 0.5.beta3%{?dist} # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details License: LGPLv2 with exceptions or GPLv3 with exceptions Url: http://www.qt.io Source0: https://download.qt.io/development_releases/qt/5.9/%{version}-beta3/submodules/%{qt_module}-opensource-src-%{version}-beta3.tar.xz +# header file to workaround multilib issue +# https://bugzilla.redhat.com/show_bug.cgi?id=1441343 +Source5: qv4global_p-multilib.h + # support no_sse2 CONFIG (fedora i686 builds cannot assume -march=pentium4 -msse2 -mfpmath=sse flags, or the JIT that needs them) # https://codereview.qt-project.org/#change,73710 Patch1: qtdeclarative-opensource-src-5.9.0-no_sse2.patch @@ -118,6 +125,13 @@ mv %{buildroot}%{_qt5_libdir}/libQt5Qml.so.5* %{buildroot}%{_qt5_libdir}/sse2/ make install INSTALL_ROOT=%{buildroot} -C %{_target_platform}-no_sse2/src/qml %endif +%ifarch %{multilib_archs} +# multilib: qv4global_p.h + mv %{buildroot}%{_qt5_headerdir}/QtQml/%{version}/QtQml/private/qv4global_p.h \ + %{buildroot}%{_qt5_headerdir}/QtQml/%{version}/QtQml/private/qv4global_p-%{__isa_bits}.h + install -p -m644 -D %{SOURCE5} %{buildroot}%{_qt5_headerdir}/QtQml/%{version}/QtQml/private/qv4global_p.h +%endif + # hardlink files to %{_bindir}, add -qt5 postfix to not conflict mkdir %{buildroot}%{_bindir} pushd %{buildroot}%{_qt5_bindir} @@ -210,6 +224,9 @@ make check -k -C %{_target_platform}/tests ||: %{_qt5_examplesdir}/ %changelog +* Sun May 14 2017 Rex Dieter - 5.9.0-0.5.beta3 +- Conflict in qt5-qtdeclarative-devel (#1441343), fix Release: + * Mon May 08 2017 Than Ngo - 5.9.0-0.beta.4 - drop useless qtdeclarative-opensource-src-5.9.0-v4bootstrap.patch, apply correct qtdeclarative-opensource-src-5.9.0-no_sse2.patch to diff --git a/qv4global_p-multilib.h b/qv4global_p-multilib.h new file mode 100644 index 0000000..b06182e --- /dev/null +++ b/qv4global_p-multilib.h @@ -0,0 +1,23 @@ +/* qvglobal_p.h */ +/* This file is here to prevent a file conflict on multiarch systems. A + * conflict will occur because qconfig.h has arch-specific definitions. + * + * DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */ + +#ifndef QCONFIG_MULTILIB_H +#define QCONFIG_MULTILIB_H + +#ifndef __WORDSIZE +#include +#endif + +#if __WORDSIZE == 32 +#include "QtQml/private/qv4global_p-32.h" +#elif __WORDSIZE == 64 +#include "QtQml/private/qv4global_p-64.h" +#else +#error "unexpected value for __WORDSIZE macro" +#endif + +#endif +