From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 606C9138334 for ; Thu, 14 Jun 2018 22:14:40 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2EE3AE088F; Thu, 14 Jun 2018 22:14:38 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id BCBA7E088F for ; Thu, 14 Jun 2018 22:14:37 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 20D55335C5A for ; Thu, 14 Jun 2018 22:14:35 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C281428D for ; Thu, 14 Jun 2018 22:14:32 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1529005513.866a5388ddf06ec36a8ea8e36677fc4ef105c1fb.asturm@gentoo> Subject: [gentoo-commits] proj/qt:master commit in: dev-qt/qtcore/, dev-qt/qtcore/files/ X-VCS-Repository: proj/qt X-VCS-Files: dev-qt/qtcore/files/qtcore-5.11.0-restore-qt5_use_modules.patch dev-qt/qtcore/qtcore-5.11.0.ebuild X-VCS-Directories: dev-qt/qtcore/ dev-qt/qtcore/files/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 866a5388ddf06ec36a8ea8e36677fc4ef105c1fb X-VCS-Branch: master Date: Thu, 14 Jun 2018 22:14:32 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 8c915df9-ef9f-49ae-a438-f078c4ba8fa9 X-Archives-Hash: eec2416082966315a974f32fb0598cd1 commit: 866a5388ddf06ec36a8ea8e36677fc4ef105c1fb Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Jun 14 19:45:13 2018 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Jun 14 19:45:13 2018 +0000 URL: https://gitweb.gentoo.org/proj/qt.git/commit/?id=866a5388 dev-qt/qtcore: Restore qt5_use_modules macro See also: https://codereview.qt-project.org/#/c/232367/ Bug: https://bugs.gentoo.org/653646 Package-Manager: Portage-2.3.40, Repoman-2.3.9 .../qtcore-5.11.0-restore-qt5_use_modules.patch | 224 +++++++++++++++++++++ dev-qt/qtcore/qtcore-5.11.0.ebuild | 2 + 2 files changed, 226 insertions(+) diff --git a/dev-qt/qtcore/files/qtcore-5.11.0-restore-qt5_use_modules.patch b/dev-qt/qtcore/files/qtcore-5.11.0-restore-qt5_use_modules.patch new file mode 100644 index 00000000..3b1818d2 --- /dev/null +++ b/dev-qt/qtcore/files/qtcore-5.11.0-restore-qt5_use_modules.patch @@ -0,0 +1,224 @@ +From d1bbe4acbd8ce09f8f4263bca1aa5682c6559c23 Mon Sep 17 00:00:00 2001 +From: Kevin Funk +Date: Thu, 14 Jun 2018 14:50:39 +0200 +Subject: [PATCH] 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 +--- + src/corelib/Qt5CoreMacros.cmake | 51 ++++++++++++++++++++++ + tests/auto/cmake/CMakeLists.txt | 1 + + .../cmake/test_use_modules_function/CMakeLists.txt | 18 ++++++++ + .../auto/cmake/test_use_modules_function/three.cpp | 45 +++++++++++++++++++ + tests/auto/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 1627de40029..819b48f9734 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 f1d86570919..ec75ec7caf7 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 00000000000..be05c75054c +--- /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 00000000000..507cc8479d0 +--- /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 00000000000..44eb7fe96e3 +--- /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.16.3 + diff --git a/dev-qt/qtcore/qtcore-5.11.0.ebuild b/dev-qt/qtcore/qtcore-5.11.0.ebuild index 48916104..8fa648a0 100644 --- a/dev-qt/qtcore/qtcore-5.11.0.ebuild +++ b/dev-qt/qtcore/qtcore-5.11.0.ebuild @@ -43,6 +43,8 @@ QT5_GENTOO_PRIVATE_CONFIG=( !:xml ) +PATCHES=( "${FILESDIR}/${P}-restore-qt5_use_modules.patch" ) + src_configure() { local myconf=( $(qt_use icu)