diff options
| -rw-r--r-- | kde-plasma/plasma-nm/files/plasma-nm-5.27.80-openconnect-optional.patch | 77 | ||||
| -rw-r--r-- | kde-plasma/plasma-nm/plasma-nm-9999.ebuild | 14 |
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() { |
