From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1665015-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id D77EE1581FB
	for <garchives@archives.gentoo.org>; Wed, 28 Aug 2024 14:16:06 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 247A2E29EE;
	Wed, 28 Aug 2024 14:16:06 +0000 (UTC)
Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 083EAE29EE
	for <gentoo-commits@lists.gentoo.org>; Wed, 28 Aug 2024 14:16:06 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 11D6633D3CF
	for <gentoo-commits@lists.gentoo.org>; Wed, 28 Aug 2024 14:16:05 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 2DDC614D6
	for <gentoo-commits@lists.gentoo.org>; Wed, 28 Aug 2024 14:16:03 +0000 (UTC)
From: "Ben Kohler" <bkohler@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Ben Kohler" <bkohler@gentoo.org>
Message-ID: <1724854556.df2ec0216f27802ca11999c1ef8545491c9c988c.bkohler@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: net-wireless/iwd/
X-VCS-Repository: repo/gentoo
X-VCS-Files: net-wireless/iwd/iwd-2.19-r1.ebuild
X-VCS-Directories: net-wireless/iwd/
X-VCS-Committer: bkohler
X-VCS-Committer-Name: Ben Kohler
X-VCS-Revision: df2ec0216f27802ca11999c1ef8545491c9c988c
X-VCS-Branch: master
Date: Wed, 28 Aug 2024 14:16:03 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 898a7512-0d69-4a73-9ee2-e3a99c87b03e
X-Archives-Hash: b9db1a06aa37d7a8026be7ea251723a5

commit:     df2ec0216f27802ca11999c1ef8545491c9c988c
Author:     Ben Kohler <bkohler <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 28 14:13:27 2024 +0000
Commit:     Ben Kohler <bkohler <AT> gentoo <DOT> org>
CommitDate: Wed Aug 28 14:15:56 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=df2ec021

net-wireless/iwd: tighten ell dep again

The ell API has been shown a few times to be backwards-incompatible,
with a new ell release breaking older iwd releases.  These 2 packages
are generally released and stabilized in tandem but occasionally they
diverge, so we need to make sure each iwd release gets the ell version
that is intended by upstream.

Closes: https://bugs.gentoo.org/938592
Signed-off-by: Ben Kohler <bkohler <AT> gentoo.org>

 net-wireless/iwd/iwd-2.19-r1.ebuild | 167 ++++++++++++++++++++++++++++++++++++
 1 file changed, 167 insertions(+)

diff --git a/net-wireless/iwd/iwd-2.19-r1.ebuild b/net-wireless/iwd/iwd-2.19-r1.ebuild
new file mode 100644
index 000000000000..e58ab2372cc2
--- /dev/null
+++ b/net-wireless/iwd/iwd-2.19-r1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit flag-o-matic linux-info systemd
+
+#Set this variable to the required external ell version
+ELL_REQ="0.67"
+
+if [[ ${PV} == *9999* ]]; then
+	inherit autotools git-r3
+	IWD_EGIT_REPO_URI="https://git.kernel.org/pub/scm/network/wireless/iwd.git"
+	ELL_EGIT_REPO_URI="https://git.kernel.org/pub/scm/libs/ell/ell.git"
+else
+	SRC_URI="https://mirrors.edge.kernel.org/pub/linux/network/wireless/${P}.tar.xz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+	MYRST2MAN="RST2MAN=:"
+fi
+
+DESCRIPTION="Wireless daemon for linux"
+HOMEPAGE="https://git.kernel.org/pub/scm/network/wireless/iwd.git/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+client cpu_flags_x86_aes cpu_flags_x86_ssse3 +monitor ofono selinux standalone systemd wired"
+
+DEPEND="
+	sys-apps/dbus
+	client? ( sys-libs/readline:0= )
+"
+
+[[ -z "${ELL_REQ}" ]] || DEPEND+=" ~dev-libs/ell-${ELL_REQ}"
+
+RDEPEND="
+	${DEPEND}
+	acct-group/netdev
+	net-wireless/wireless-regdb
+	selinux? ( sec-policy/selinux-networkmanager )
+	standalone? (
+		systemd? ( sys-apps/systemd )
+		!systemd? ( virtual/resolvconf )
+	)
+"
+
+BDEPEND="
+	virtual/pkgconfig
+"
+
+[[ ${PV} == *9999* ]] && BDEPEND+=" dev-python/docutils"
+
+pkg_setup() {
+	CONFIG_CHECK="
+		~ASYMMETRIC_KEY_TYPE
+		~ASYMMETRIC_PUBLIC_KEY_SUBTYPE
+		~CFG80211
+		~CRYPTO_AES
+		~CRYPTO_CBC
+		~CRYPTO_CMAC
+		~CRYPTO_DES
+		~CRYPTO_ECB
+		~CRYPTO_HMAC
+		~CRYPTO_MD4
+		~CRYPTO_MD5
+		~CRYPTO_RSA
+		~CRYPTO_SHA1
+		~CRYPTO_SHA256
+		~CRYPTO_SHA512
+		~CRYPTO_USER_API_HASH
+		~CRYPTO_USER_API_SKCIPHER
+		~KEY_DH_OPERATIONS
+		~PKCS7_MESSAGE_PARSER
+		~RFKILL
+		~X509_CERTIFICATE_PARSER
+	"
+
+	if use amd64;then
+		CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_DES3_EDE_X86_64"
+		WARNING_CRYPTO_DES3_EDE_X86_64="CRYPTO_DES3_EDE_X86_64: enable for increased performance"
+	fi
+
+	if use cpu_flags_x86_aes;then
+		CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_AES_NI_INTEL"
+		WARNING_CRYPTO_AES_NI_INTEL="CRYPTO_AES_NI_INTEL: enable for increased performance"
+	fi
+
+	if use cpu_flags_x86_ssse3 && use amd64; then
+		CONFIG_CHECK="${CONFIG_CHECK} ~CRYPTO_SHA1_SSSE3 ~CRYPTO_SHA256_SSSE3 ~CRYPTO_SHA512_SSSE3"
+		WARNING_CRYPTO_SHA1_SSSE3="CRYPTO_SHA1_SSSE3: enable for increased performance"
+		WARNING_CRYPTO_SHA256_SSSE3="CRYPTO_SHA256_SSSE3: enable for increased performance"
+		WARNING_CRYPTO_SHA512_SSSE3="CRYPTO_SHA512_SSSE3: enable for increased performance"
+	fi
+
+	if use kernel_linux && kernel_is -ge 4 20; then
+		CONFIG_CHECK="${CONFIG_CHECK} ~PKCS8_PRIVATE_KEY_PARSER"
+	fi
+
+	check_extra_config
+}
+
+src_unpack() {
+	if [[ ${PV} == *9999* ]] ; then
+		EGIT_REPO_URI=${IWD_EGIT_REPO_URI} git-r3_src_unpack
+		EGIT_REPO_URI=${ELL_EGIT_REPO_URI} EGIT_CHECKOUT_DIR=${WORKDIR}/ell git-r3_src_unpack
+	else
+		default
+	fi
+}
+
+src_prepare() {
+	default
+	if [[ ${PV} == *9999* ]] ; then
+		eautoreconf
+	fi
+
+	sed -e "s:Exec=/bin/false:Exec=${EPREFIX}/usr/libexec/iwd:g" -i src/net.connman.iwd.service || die
+}
+
+src_configure() {
+	append-cflags "-fsigned-char"
+	local myeconfargs=(
+		--sysconfdir="${EPREFIX}"/etc/iwd --localstatedir="${EPREFIX}"/var
+		"$(use_enable client)"
+		"$(use_enable monitor)"
+		"$(use_enable ofono)"
+		"$(use_enable wired)"
+		--enable-systemd-service
+		--with-systemd-unitdir="$(systemd_get_systemunitdir)"
+		--with-systemd-modloaddir="${EPREFIX}/usr/lib/modules-load.d"
+		--with-systemd-networkdir="$(systemd_get_utildir)/network"
+	)
+	[[ ${PV} == *9999* ]] || myeconfargs+=(--enable-external-ell)
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	emake "${MYRST2MAN}"
+}
+
+src_install() {
+	emake DESTDIR="${D}" "${MYRST2MAN}" install
+	keepdir "/var/lib/${PN}"
+
+	newinitd "${FILESDIR}/iwd.initd-r1" iwd
+
+	if use wired;then
+		newinitd "${FILESDIR}/ead.initd" ead
+	fi
+
+	if [[ ${PV} == *9999* ]] ; then
+		exeinto /usr/share/iwd/scripts/
+		doexe test/*
+	fi
+
+	if use standalone ; then
+		local iwdconf="${ED}/etc/iwd/main.conf"
+		dodir /etc/iwd
+		cat << EOF > "${iwdconf}"
+[General]
+EnableNetworkConfiguration=true
+
+[Network]
+NameResolvingService=$(usex systemd systemd resolvconf)
+EOF
+		dodir /etc/conf.d
+		echo "rc_provide=\"net\"" > "${ED}"/etc/conf.d/iwd
+	fi
+}