commit:     36d2cb85923c534fe5f640eb648ff6a5e587d004
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 19 19:50:20 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Jun 22 16:05:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36d2cb85

dev-qt/qtnetwork: Drop bearer plugins (IUSE=connman,networkmanager)

Can not drop src/plugins/bearer/generic (builds libqgenericbearer.so)
though, as without it things like akonadi (KMail remains offline) and
Plasma POTD stop working.

QTBUG: https://bugreports.qt.io/browse/QTBUG-114666

Upstream in #kde-devel:
- the bearer plugins were created in another era: for Symbian, when we
  weren't always connected to the Internet and the user maybe didn't want
  to turn on their data
- now, we're always connected, so the bearer plugins are unnecessary
- they've been removed from Qt 6 due to their design problems
- so just do the same in Qt 5: don't use them
- especially when upstream has already declared
  "the use of this API is a design flaw"

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtnetwork/metadata.xml                |  3 --
 dev-qt/qtnetwork/qtnetwork-5.15.10-r1.ebuild | 62 ++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/dev-qt/qtnetwork/metadata.xml b/dev-qt/qtnetwork/metadata.xml
index 8a8481b49e8b..dfe9a543ba96 100644
--- a/dev-qt/qtnetwork/metadata.xml
+++ b/dev-qt/qtnetwork/metadata.xml
@@ -6,12 +6,9 @@
                <name>Gentoo Qt Project</name>
        </maintainer>
        <use>
-               <flag name="connman">Enable <pkg>net-misc/connman</pkg>-based 
bearer plugin</flag>
                <flag name="gssapi">Enable support for GSSAPI 
(<pkg>virtual/krb5</pkg>)</flag>
                <flag name="libproxy">Use <pkg>net-libs/libproxy</pkg> for 
automatic
                        HTTP/SOCKS proxy configuration</flag>
-               <flag name="networkmanager">Enable 
<pkg>net-misc/networkmanager</pkg>-based
-                       bearer plugin</flag>
        </use>
        <upstream>
                <bugs-to>https://bugreports.qt.io/</bugs-to>

diff --git a/dev-qt/qtnetwork/qtnetwork-5.15.10-r1.ebuild 
b/dev-qt/qtnetwork/qtnetwork-5.15.10-r1.ebuild
new file mode 100644
index 000000000000..148c6d9f133f
--- /dev/null
+++ b/dev-qt/qtnetwork/qtnetwork-5.15.10-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} != *9999* ]]; then
+       QT5_KDEPATCHSET_REV=1
+       KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc 
~x86"
+fi
+
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Network abstraction library for the Qt5 framework"
+
+IUSE="gssapi libproxy sctp +ssl"
+
+DEPEND="
+       =dev-qt/qtcore-${QT5_PV}*:5=
+       sys-libs/zlib:=
+       gssapi? ( virtual/krb5 )
+       libproxy? ( net-libs/libproxy )
+       sctp? ( kernel_linux? ( net-misc/lksctp-tools ) )
+       ssl? ( >=dev-libs/openssl-1.1.1:0= )
+"
+RDEPEND="${DEPEND}"
+
+QT5_TARGET_SUBDIRS=(
+       src/network
+       src/plugins/bearer/generic
+)
+
+QT5_GENTOO_CONFIG=(
+       libproxy:libproxy:
+       ssl::SSL
+       ssl::OPENSSL
+       ssl:openssl-linked:LINKED_OPENSSL
+)
+
+QT5_GENTOO_PRIVATE_CONFIG=(
+       :network
+)
+
+src_configure() {
+       local myconf=(
+               $(qt_use gssapi feature-gssapi)
+               $(qt_use libproxy)
+               $(qt_use sctp)
+               $(usev ssl -openssl-linked)
+       )
+       qt5-build_src_configure
+}
+
+src_install() {
+       qt5-build_src_install
+
+       # workaround for bug 652650
+       if use ssl; then
+               sed -e "/^#define QT_LINKED_OPENSSL/s/$/ true/" \
+                       -i "${D}${QT5_HEADERDIR}"/Gentoo/${PN}-qconfig.h || die
+       fi
+}

Reply via email to