From 6c00985827e88af6b3f3eae67179a9791fedf87e Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 20 Jun 2018 07:52:42 -0500 Subject: [PATCH] 5.11.1 relax qt5-rpm-macros dep drop workaround for QTBUG-37417 drop CMake-Restore-qt5_use_modules-function.patch (upstreamed) --- .gitignore | 1 + ...ake-Restore-qt5_use_modules-function.patch | 226 ------------------ qt5-qtbase.spec | 20 +- sources | 2 +- 4 files changed, 12 insertions(+), 237 deletions(-) delete mode 100644 0217-CMake-Restore-qt5_use_modules-function.patch diff --git a/.gitignore b/.gitignore index 0bc4524..a090569 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /qtbase-everywhere-src-5.10.1.tar.xz /qtbase-everywhere-src-5.11.0.tar.xz +/qtbase-everywhere-src-5.11.1.tar.xz diff --git a/0217-CMake-Restore-qt5_use_modules-function.patch b/0217-CMake-Restore-qt5_use_modules-function.patch deleted file mode 100644 index 56adcc6..0000000 --- a/0217-CMake-Restore-qt5_use_modules-function.patch +++ /dev/null @@ -1,226 +0,0 @@ -From a834b4d24582ef318ea1de51b6707e9605e6c52f Mon Sep 17 00:00:00 2001 -From: Kevin Funk -Date: Thu, 14 Jun 2018 14:50:39 +0200 -Subject: [PATCH 217/219] CMake: Restore qt5_use_modules() function - -It appears that in the 5 years since we deprecated this function, people -have not stopped using it. The removal of qt5_use_modules() caused lots of -troubles in packages still using it when they were compiled against Qt 5.11.0. - -Instead, let's revive this function and keep it for the Qt5 life time. - -See discussion on qt-development mailing list: - http://lists.qt-project.org/pipermail/development/2018-June/032837.html - -Change-Id: Ic263e3bb6706268cb9ea38a0711665f166a3aa9e -Reviewed-by: David Faure -Reviewed-by: Thiago Macieira ---- - src/corelib/Qt5CoreMacros.cmake | 51 +++++++++++++++++++ - tests/auto/cmake/CMakeLists.txt | 1 + - .../test_use_modules_function/CMakeLists.txt | 18 +++++++ - .../cmake/test_use_modules_function/three.cpp | 45 ++++++++++++++++ - .../cmake/test_use_modules_function/two.cpp | 43 ++++++++++++++++ - 5 files changed, 158 insertions(+) - create mode 100644 tests/auto/cmake/test_use_modules_function/CMakeLists.txt - create mode 100644 tests/auto/cmake/test_use_modules_function/three.cpp - create mode 100644 tests/auto/cmake/test_use_modules_function/two.cpp - -diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake -index 1627de4002..819b48f973 100644 ---- a/src/corelib/Qt5CoreMacros.cmake -+++ b/src/corelib/Qt5CoreMacros.cmake -@@ -294,3 +294,54 @@ function(QT5_ADD_RESOURCES outfiles ) - endfunction() - - set(_Qt5_COMPONENT_PATH "${CMAKE_CURRENT_LIST_DIR}/..") -+ -+if (NOT CMAKE_VERSION VERSION_LESS 2.8.9) -+ macro(qt5_use_modules _target _link_type) -+ if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11) -+ if(CMAKE_WARN_DEPRECATED) -+ set(messageType WARNING) -+ endif() -+ if(CMAKE_ERROR_DEPRECATED) -+ set(messageType FATAL_ERROR) -+ endif() -+ if(messageType) -+ message(${messageType} "The qt5_use_modules macro is obsolete. Use target_link_libraries with IMPORTED targets instead.") -+ endif() -+ endif() -+ -+ if (NOT TARGET ${_target}) -+ message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.") -+ endif() -+ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" ) -+ set(_qt5_modules ${ARGN}) -+ set(_qt5_link_type ${_link_type}) -+ else() -+ set(_qt5_modules ${_link_type} ${ARGN}) -+ endif() -+ -+ if ("${_qt5_modules}" STREQUAL "") -+ message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.") -+ endif() -+ -+ foreach(_module ${_qt5_modules}) -+ if (NOT Qt5${_module}_FOUND) -+ find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH) -+ if (NOT Qt5${_module}_FOUND) -+ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") -+ endif() -+ endif() -+ target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES}) -+ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS}) -+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS}) -+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG) -+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG) -+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG) -+ if (Qt5_POSITION_INDEPENDENT_CODE -+ AND (CMAKE_VERSION VERSION_LESS 2.8.12 -+ AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU" -+ OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0))) -+ set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE}) -+ endif() -+ endforeach() -+ endmacro() -+endif() -diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt -index f1d8657091..ec75ec7caf 100644 ---- a/tests/auto/cmake/CMakeLists.txt -+++ b/tests/auto/cmake/CMakeLists.txt -@@ -47,6 +47,7 @@ find_package(Qt5Core REQUIRED) - - include("${_Qt5CTestMacros}") - -+expect_pass(test_use_modules_function) - expect_pass(test_umbrella_config) - expect_pass(test_wrap_cpp_and_resources) - if (NOT NO_WIDGETS) -diff --git a/tests/auto/cmake/test_use_modules_function/CMakeLists.txt b/tests/auto/cmake/test_use_modules_function/CMakeLists.txt -new file mode 100644 -index 0000000000..be05c75054 ---- /dev/null -+++ b/tests/auto/cmake/test_use_modules_function/CMakeLists.txt -@@ -0,0 +1,18 @@ -+ -+cmake_minimum_required(VERSION 2.8) -+ -+project(test_use_modules_function) -+ -+set(CMAKE_AUTOMOC ON) -+ -+set(CMAKE_INCLUDE_CURRENT_DIR ON) -+ -+add_executable(two two.cpp) -+add_executable(three three.cpp) -+ -+find_package(Qt5Core) -+ -+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}") -+ -+qt5_use_modules(two Test) -+qt5_use_modules(three Gui Test) -diff --git a/tests/auto/cmake/test_use_modules_function/three.cpp b/tests/auto/cmake/test_use_modules_function/three.cpp -new file mode 100644 -index 0000000000..507cc8479d ---- /dev/null -+++ b/tests/auto/cmake/test_use_modules_function/three.cpp -@@ -0,0 +1,45 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the test suite of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3 as published by the Free Software -+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include -+#include -+ -+class Three : public QObject -+{ -+ Q_OBJECT -+public: -+ Three(QObject *parent = 0) -+ { -+ QWindow *w = new QWindow; -+ w->show(); -+ } -+}; -+ -+QTEST_MAIN(Three) -+ -+#include "three.moc" -diff --git a/tests/auto/cmake/test_use_modules_function/two.cpp b/tests/auto/cmake/test_use_modules_function/two.cpp -new file mode 100644 -index 0000000000..44eb7fe96e ---- /dev/null -+++ b/tests/auto/cmake/test_use_modules_function/two.cpp -@@ -0,0 +1,43 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly -+** Contact: https://www.qt.io/licensing/ -+** -+** This file is part of the test suite of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see https://www.qt.io/terms-conditions. For further -+** information use the contact form at https://www.qt.io/contact-us. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3 as published by the Free Software -+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -+** included in the packaging of this file. Please review the following -+** information to ensure the GNU General Public License requirements will -+** be met: https://www.gnu.org/licenses/gpl-3.0.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include -+ -+class Two : public QObject -+{ -+ Q_OBJECT -+public: -+ Two(QObject *parent = 0) -+ { -+ -+ } -+}; -+ -+QTEST_MAIN(Two) -+ -+#include "two.moc" --- -2.17.1 - diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index 133a4e0..3f59232 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -45,8 +45,8 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components -Version: 5.11.0 -Release: 3%{?dist} +Version: 5.11.1 +Release: 1%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -113,7 +113,6 @@ Patch65: qtbase-opensource-src-5.9.0-mysql.patch Patch67: https://bugreports.qt.io/secure/attachment/66353/xcberror_filter.patch ## upstream patches -Patch217: 0217-CMake-Restore-qt5_use_modules-function.patch # Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. # Those themes are there for platform integration. If the required libraries are @@ -197,7 +196,7 @@ BuildRequires: libicu-devel BuildRequires: pkgconfig(xcb) pkgconfig(xcb-glx) pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil) BuildRequires: pkgconfig(zlib) BuildRequires: perl-generators -BuildRequires: qt5-rpm-macros = %{version} +BuildRequires: qt5-rpm-macros %if 0%{?tests} BuildRequires: dbus-x11 @@ -255,7 +254,7 @@ Requires: %{name}-gui%{?_isa} Requires: pkgconfig(egl) %endif Requires: pkgconfig(gl) -Requires: qt5-rpm-macros >= 5.7.1 +Requires: qt5-rpm-macros %if 0%{?use_clang} Requires: clang >= 3.7.0 %endif @@ -365,7 +364,6 @@ Qt5 libraries used for drawing widgets and OpenGL items. #patch67 -p1 -b .xcberror_filter ## upstream patches -%patch217 -p1 -b .0217 # move some bundled libs to ensure they're not accidentally used pushd src/3rdparty @@ -390,10 +388,6 @@ sed -i -e "s|^#!/usr/bin/env perl$|#!%{__perl}|" \ bin/syncqt.pl \ mkspecs/features/data/unix/findclasslist.pl -# Fix missing private includes https://bugreports.qt.io/browse/QTBUG-37417 -sed -e '/CMAKE_NO_PRIVATE_INCLUDES\ \=\ true/d' -i \ - mkspecs/features/create_cmake.prf - %build ## FIXME/TODO: @@ -971,6 +965,12 @@ fi %changelog +* Tue Jun 19 2018 Rex Dieter - 5.11.1-1 +- 5.11.1 +- relax qt5-rpm-macros dep +- drop workaround for QTBUG-37417 +- drop CMake-Restore-qt5_use_modules-function.patch (upstreamed) + * Mon Jun 18 2018 Rex Dieter - 5.11.0-3 - backport CMake-Restore-qt5_use_modules-function.patch - %%build: %%ix86 --no-sse2 on < f29 only diff --git a/sources b/sources index 5bc3724..abdca61 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qtbase-everywhere-src-5.11.0.tar.xz) = 9f68e00d432db6999f932da6ba759e465ea7d65461ef8db13765f16bd812f2ddd05beede1df3c6546165bc4924a6bd14cc0ff083defc43e2dce37ea20c561462 +SHA512 (qtbase-everywhere-src-5.11.1.tar.xz) = 5f45405872e541565d811c1973ae95b0f19593f4495375306917b72e21146e14fe8f7db5fbd629476476807f89ef1679aa59737ca5efdd9cbe6b14d7aa371b81