summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-plasma/plasma-nm/files/plasma-nm-5.27.80-openconnect-optional.patch77
-rw-r--r--kde-plasma/plasma-nm/plasma-nm-9999.ebuild14
2 files changed, 85 insertions, 6 deletions
diff --git a/kde-plasma/plasma-nm/files/plasma-nm-5.27.80-openconnect-optional.patch b/kde-plasma/plasma-nm/files/plasma-nm-5.27.80-openconnect-optional.patch
new file mode 100644
index 00000000000..fc2b5a9c729
--- /dev/null
+++ b/kde-plasma/plasma-nm/files/plasma-nm-5.27.80-openconnect-optional.patch
@@ -0,0 +1,77 @@
+From 50ace5c0641e0f2e7b8cdaf8f57afda147df7f96 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Thu, 23 Feb 2023 22:00:41 +0100
+Subject: [PATCH] Introduce BUILD_OPENCONNECT option (default ON)
+
+QtWebEngine is a huge dependency, considerably increasing the entry barrier
+to build and contribute to plasma-nm. It is easily possible to make it
+optional in this case so it should be done.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 19 +++++++++++++++----
+ vpn/CMakeLists.txt | 2 +-
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3acdb4b7..f03f6e3a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,6 +17,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH})
+
++option(BUILD_OPENCONNECT "Build OpenConnect VPN plugin" ON)
++
+ include(KDEInstallDirs)
+ include(KDECMakeSettings)
+ include(KDECompilerSettings NO_POLICY_SCOPE)
+@@ -34,11 +36,22 @@ find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Network
+ Quick
+ QuickWidgets
+- WebEngineCore
+- WebEngineWidgets
+ Widgets
+ )
+
++find_package(PkgConfig REQUIRED)
++
++if (BUILD_OPENCONNECT)
++ pkg_check_modules(OPENCONNECT IMPORTED_TARGET openconnect>=3.99)
++ if (NOT TARGET PkgConfig::OPENCONNECT)
++ set(BUILD_OPENCONNECT OFF)
++ endif()
++endif()
++
++if (BUILD_OPENCONNECT)
++ find_package(Qt${QT_MAJOR_VERSION}WebEngineWidgets ${QT_MIN_VERSION} CONFIG REQUIRED)
++endif()
++
+ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED
+ ConfigWidgets
+ Completion
+@@ -80,8 +93,6 @@ set_package_properties(KF5Prison PROPERTIES DESCRIPTION "Prison library"
+ PURPOSE "Needed to create mobile barcodes for WiFi networks"
+ )
+
+-find_package(PkgConfig REQUIRED)
+-pkg_check_modules(OPENCONNECT IMPORTED_TARGET openconnect>=3.99)
+ pkg_check_modules(NETWORKMANAGER IMPORTED_TARGET libnm>1.4.0 REQUIRED)
+ pkg_check_modules(MOBILEBROADBANDPROVIDERINFO mobile-broadband-provider-info)
+ pkg_get_variable(BROADBANDPROVIDER_DATABASE mobile-broadband-provider-info database)
+diff --git a/vpn/CMakeLists.txt b/vpn/CMakeLists.txt
+index 2bf0086a..25baa308 100644
+--- a/vpn/CMakeLists.txt
++++ b/vpn/CMakeLists.txt
+@@ -9,6 +9,6 @@ add_subdirectory(sstp)
+ add_subdirectory(strongswan)
+ add_subdirectory(vpnc)
+
+-if(TARGET PkgConfig::OPENCONNECT)
++if (BUILD_OPENCONNECT)
+ add_subdirectory(openconnect)
+ endif()
+--
+2.39.2
+
diff --git a/kde-plasma/plasma-nm/plasma-nm-9999.ebuild b/kde-plasma/plasma-nm/plasma-nm-9999.ebuild
index a1404f67a5a..5bbcfbb12ee 100644
--- a/kde-plasma/plasma-nm/plasma-nm-9999.ebuild
+++ b/kde-plasma/plasma-nm/plasma-nm-9999.ebuild
@@ -45,6 +45,7 @@ DEPEND="
>=dev-qt/qtxml-${QTMIN}:5
net-misc/mobile-broadband-provider-info
openconnect? (
+ >=dev-qt/qtwebengine-${QTMIN}:5[widgets]
>=dev-qt/qtxml-${QTMIN}:5
net-vpn/networkmanager-openconnect
net-vpn/openconnect:=
@@ -63,13 +64,14 @@ BDEPEND="
virtual/pkgconfig
"
-src_prepare() {
- ecm_src_prepare
+PATCHES=( "${FILESDIR}/${PN}-5.27.80-openconnect-optional.patch" )
- # TODO: try to get a build switch upstreamed
- if ! use openconnect; then
- sed -e "s/^pkg_check_modules.*openconnect/#&/" -i CMakeLists.txt || die
- fi
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_OPENCONNECT=$(usex openconnect)
+ )
+
+ ecm_src_configure
}
pkg_postinst() {