games-util/lgogdownloader: Add Qt6 support with patch
Closes: https://bugs.gentoo.org/926661 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
This commit is contained in:
parent
f27ecc4111
commit
937f03b7fe
|
@ -0,0 +1,73 @@
|
|||
From 3f223684cbe1367c68b2b68301eeaaf644a4c0be Mon Sep 17 00:00:00 2001
|
||||
From: James Le Cuirot <chewi@gentoo.org>
|
||||
Date: Thu, 14 Mar 2024 22:12:02 +0000
|
||||
Subject: [PATCH] Add support for Qt6 (as well as Qt5)
|
||||
|
||||
No actual code changes were necessary.
|
||||
|
||||
I have partly followed
|
||||
https://doc.qt.io/qt-6/cmake-qt5-and-qt6-compatibility.html, but the
|
||||
versionless targets only work from Qt 5.15 onwards. The suggested
|
||||
workaround chooses 5 over 6 and does not appear to work properly when
|
||||
one of the required components is missing. Using the versionless
|
||||
approach with an additional variable for the targets seems to work best.
|
||||
|
||||
If necessary, Qt 5 can be forced over 6 by passing
|
||||
`-DCMAKE_DISABLE_FIND_PACKAGE_Qt6=ON`.
|
||||
|
||||
I have tested this by tweaking the code to force the GUI to appear.
|
||||
---
|
||||
CMakeLists.txt | 20 +++++++++++++++-----
|
||||
1 file changed, 15 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0fe7568..9f489c1 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -45,8 +45,12 @@ file(GLOB SRC_FILES
|
||||
)
|
||||
|
||||
if(USE_QT_GUI)
|
||||
- find_package(Qt5Widgets CONFIG REQUIRED)
|
||||
- find_package(Qt5WebEngineWidgets CONFIG REQUIRED)
|
||||
+ set(QT Qt6)
|
||||
+ find_package(Qt6 COMPONENTS Widgets WebEngineWidgets CONFIG)
|
||||
+ if(NOT Qt6_FOUND)
|
||||
+ set(QT Qt5)
|
||||
+ find_package(Qt5 REQUIRED COMPONENTS Widgets WebEngineWidgets CONFIG)
|
||||
+ endif()
|
||||
|
||||
file(GLOB QT_GUI_SRC_FILES
|
||||
src/gui_login.cpp
|
||||
@@ -140,11 +144,17 @@ file(REMOVE ${CMAKE_BINARY_DIR}/test_atomic.cpp)
|
||||
|
||||
if(USE_QT_GUI)
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
- PRIVATE Qt5::Widgets
|
||||
- PRIVATE Qt5::WebEngineWidgets
|
||||
+ PRIVATE ${QT}::Widgets
|
||||
+ PRIVATE ${QT}::WebEngineWidgets
|
||||
)
|
||||
endif(USE_QT_GUI)
|
||||
|
||||
+if(Qt6_FOUND)
|
||||
+ set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)
|
||||
+else()
|
||||
+ set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11)
|
||||
+endif(Qt6_FOUND)
|
||||
+
|
||||
if(MSVC)
|
||||
# Force to always compile with W4
|
||||
if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
||||
@@ -154,7 +164,7 @@ if(MSVC)
|
||||
endif()
|
||||
elseif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
# Update if necessary
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wno-long-long -fexceptions")
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-long-long -fexceptions")
|
||||
endif()
|
||||
|
||||
set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
|
||||
--
|
||||
2.43.2
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
@ -11,25 +11,42 @@ SRC_URI="https://github.com/Sude-/${PN}/releases/download/v${PV}/${P}.tar.gz"
|
|||
LICENSE="WTFPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gui"
|
||||
IUSE="gui qt5 qt6"
|
||||
REQUIRED_USE="gui? ( ^^ ( qt5 qt6 ) )"
|
||||
|
||||
RDEPEND=">=app-crypt/rhash-1.3.3-r2:0=
|
||||
RDEPEND="
|
||||
>=app-crypt/rhash-1.3.3-r2:0=
|
||||
dev-cpp/htmlcxx:0=
|
||||
dev-libs/boost:=[zlib]
|
||||
>=dev-libs/jsoncpp-1.7:0=
|
||||
dev-libs/tinyxml2:0=
|
||||
>=net-misc/curl-7.55:0=[ssl]
|
||||
gui? ( dev-qt/qtwebengine:5=[widgets] )"
|
||||
gui? (
|
||||
qt5? ( dev-qt/qtwebengine:5[widgets] )
|
||||
qt6? ( dev-qt/qtwebengine:6[widgets] )
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
BDEPEND="sys-apps/help2man
|
||||
virtual/pkgconfig"
|
||||
BDEPEND="
|
||||
sys-apps/help2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-qt6.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DUSE_QT_GUI=$(usex gui)
|
||||
)
|
||||
use gui && mycmakeargs+=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt6=$(usex qt5)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
@ -10,25 +10,38 @@ HOMEPAGE="https://sites.google.com/site/gogdownloader/"
|
|||
EGIT_REPO_URI="https://github.com/Sude-/lgogdownloader.git"
|
||||
LICENSE="WTFPL-2"
|
||||
SLOT="0"
|
||||
IUSE="gui"
|
||||
IUSE="gui qt5 qt6"
|
||||
REQUIRED_USE="gui? ( ^^ ( qt5 qt6 ) )"
|
||||
|
||||
RDEPEND=">=app-crypt/rhash-1.3.3-r2:0=
|
||||
RDEPEND="
|
||||
>=app-crypt/rhash-1.3.3-r2:0=
|
||||
dev-cpp/htmlcxx:0=
|
||||
dev-libs/boost:=[zlib]
|
||||
>=dev-libs/jsoncpp-1.7:0=
|
||||
dev-libs/tinyxml2:0=
|
||||
>=net-misc/curl-7.55:0=[ssl]
|
||||
gui? ( dev-qt/qtwebengine:5=[widgets] )"
|
||||
gui? (
|
||||
qt5? ( dev-qt/qtwebengine:5[widgets] )
|
||||
qt6? ( dev-qt/qtwebengine:6[widgets] )
|
||||
)
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
"
|
||||
|
||||
BDEPEND="sys-apps/help2man
|
||||
virtual/pkgconfig"
|
||||
BDEPEND="
|
||||
sys-apps/help2man
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DUSE_QT_GUI=$(usex gui)
|
||||
)
|
||||
use gui && mycmakeargs+=(
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Qt6=$(usex qt5)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue