From a74276786a9a70d2a675b6aae6ebad43c810e5a2 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Wed, 9 Jan 2019 22:40:25 +0000 Subject: [PATCH] Fix build on PPC64 and on others with unusual environments - If OPTIONS don't match the environment, pass suitable CMake arguments; modernise the one for gpsd - Import patches from Gentoo, already submitted upstream, for dealing with optional dependencies Reported by: Piotr Kubaj Obtained from: Andreas Sturmlechner --- astro/marble/Makefile | 4 +- astro/marble/files/patch-CMakeLists.txt | 59 +++++++++++-------- .../files/patch-src_lib_marble_CMakeLists.txt | 32 ++++++++++ 3 files changed, 70 insertions(+), 25 deletions(-) create mode 100644 astro/marble/files/patch-src_lib_marble_CMakeLists.txt diff --git a/astro/marble/Makefile b/astro/marble/Makefile index 07beb5b502ba..4d9925bcd553 100644 --- a/astro/marble/Makefile +++ b/astro/marble/Makefile @@ -37,10 +37,10 @@ OPTIONS_SUB= yes GPS_DESC= Support for GPS position provider GPS_LIB_DEPENDS= libgps.so:astro/gpsd -GPS_CMAKE_OFF= -DWITH_libgps:BOOL=FALSE +GPS_CMAKE_BOOL_ON= WITH_libgps WEBENGINE_DESC= Add dependency on qt5-webengine WEBENGINE_USE= QT=webengine -WEBENGINE_CMAKE_BOOL= WEBENGINE +WEBENGINE_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets .include diff --git a/astro/marble/files/patch-CMakeLists.txt b/astro/marble/files/patch-CMakeLists.txt index 090505e287a8..c87fa9aadcdb 100644 --- a/astro/marble/files/patch-CMakeLists.txt +++ b/astro/marble/files/patch-CMakeLists.txt @@ -1,15 +1,29 @@ ---- CMakeLists.txt.orig 2018-12-30 17:28:44 UTC +From bc206d50cf8c0d0fc9f90cce58a2499ec945bd29 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner +Date: Wed, 9 Jan 2019 20:41:28 +0100 +Subject: [PATCH] Avoid overwriting Qt5_FOUND with Qt5DBus or Qt5WebEngine + disabled + +--- + CMakeLists.txt | 17 ++++++----------- + 1 file changed, 6 insertions(+), 11 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9261a67a4..82f7206d2 100644 +--- CMakeLists.txt +++ CMakeLists.txt -@@ -76,6 +76,7 @@ include( MarbleMacros ) - # Generate the tiles with the tilecreator at compile time - # if this option is set, srtm.jpg will not be installed but the generated tiles instead - option(MOBILE "Create a Marble version optimized for handheld devices") -+option(WEBENGINE "Build browser plugin" ON) +@@ -121,18 +121,13 @@ find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED + ) - #################################################### - # Build a D-Bus interface for the Marble widget -@@ -128,15 +129,17 @@ if(CMAKE_SYSTEM_NAME STREQUAL Android) - ) + if(CMAKE_SYSTEM_NAME STREQUAL Android) +- find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED +- COMPONENTS +- Positioning +- Multimedia +- ) ++ find_package(Qt5Positioning ${REQUIRED_QT_VERSION} REQUIRED) ++ find_package(Qt5Multimedia) ++ set ( MARBLE_NO_WEBKITWIDGETS TRUE ) else() - find_package(Qt5 ${REQUIRED_QT_VERSION} @@ -17,20 +31,19 @@ - WebEngine - WebEngineWidgets - ) -+ if(WEBENGINE) -+ find_package(Qt5 ${REQUIRED_QT_VERSION} -+ COMPONENTS -+ WebEngine -+ WebEngineWidgets -+ ) ++ find_package(Qt5WebEngine ${REQUIRED_QT_VERSION}) ++ find_package(Qt5WebEngineWidgets ${REQUIRED_QT_VERSION}) -- if ( NOT Qt5WebEngineWidgets_FOUND ) -- set ( MARBLE_NO_WEBKITWIDGETS TRUE ) -- endif() -+ if( NOT Qt5WebEngineWidgets_FOUND ) -+ set ( MARBLE_NO_WEBKITWIDGETS TRUE ) -+ endif() -+ endif() + if ( NOT Qt5WebEngineWidgets_FOUND ) + set ( MARBLE_NO_WEBKITWIDGETS TRUE ) +@@ -140,7 +135,7 @@ else() endif() if (BUILD_WITH_DBUS) +- find_package(Qt5 ${REQUIRED_QT_VERSION} COMPONENTS DBus) ++ find_package(Qt5DBus ${REQUIRED_QT_VERSION} COMPONENTS) + if (NOT Qt5DBus_FOUND) + set(MARBLE_NO_DBUS TRUE) + endif() +-- +2.20.1 diff --git a/astro/marble/files/patch-src_lib_marble_CMakeLists.txt b/astro/marble/files/patch-src_lib_marble_CMakeLists.txt new file mode 100644 index 000000000000..7e2facad85d5 --- /dev/null +++ b/astro/marble/files/patch-src_lib_marble_CMakeLists.txt @@ -0,0 +1,32 @@ +diff --git a/src/lib/marble/CMakeLists.txt b/src/lib/marble/CMakeLists.txt +index 155c0fc51..1ce5f5f52 100644 +--- src/lib/marble/CMakeLists.txt ++++ src/lib/marble/CMakeLists.txt +@@ -1,4 +1,4 @@ +-PROJECT(marblewidget) ++# PROJECT(marblewidget) + + macro_optional_find_package(Phonon4Qt5 QUIET) + marble_set_package_properties( Phonon4Qt5 PROPERTIES +@@ -13,6 +13,10 @@ endif() + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config-phonon.h.cmake + ${CMAKE_CURRENT_BINARY_DIR}/config-phonon.h) + ++if(MARBLE_NO_WEBKITWIDGETS) ++ add_definitions(-DMARBLE_NO_WEBKITWIDGETS) ++endif() ++ + INCLUDE_DIRECTORIES( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} +@@ -47,10 +51,6 @@ set(MARBLE_ABI_VERSION "28") + + ########### next target ############### + +-if(MARBLE_NO_WEBKITWIDGETS) +-add_definitions(-DMARBLE_NO_WEBKITWIDGETS) +-endif() +- + set(marblewidget_SRCS + ${geodata_SRCS} + ${graphicsview_SRCS}