123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- # Copyright 2021-2024 Gentoo Authors
- # Distributed under the terms of the GNU General Public License v2
- EAPI=8
- inherit flag-o-matic linux-info systemd
- DESCRIPTION="iwd without dbus"
- HOMEPAGE="https://github.com/illiliti/eiwd"
- SRC_URI="${HOMEPAGE}/releases/download/${PVR/r/}/${P##e}.tar.xz -> ${PF}.tar.xz"
- S="${WORKDIR}/${P#e}"
- LICENSE="LGPL-2.1"
- SLOT="0"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
- IUSE="cpu_flags_x86_aes cpu_flags_x86_ssse3 monitor ofono selinux systemd wired"
- DEPEND=">=dev-libs/ell-0.69"
- RDEPEND="
- ${DEPEND}
- !net-wireless/iwd
- acct-group/netdev
- net-wireless/wireless-regdb
- selinux? ( sec-policy/selinux-networkmanager )
- systemd? ( sys-apps/systemd )
- !systemd? ( virtual/resolvconf )
- "
- BDEPEND="virtual/pkgconfig"
- 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_prepare() {
- default
- 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
- --disable-client
- --disable-dbus
- --enable-external-ell
- "$(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"
- )
- econf "${myeconfargs[@]}"
- }
- src_compile() {
- emake RST2MAN=:
- }
- src_install() {
- emake RST2MAN=: DESTDIR="${D}" install
- keepdir "/var/lib/${PN}"
- newinitd "${FILESDIR}/iwd.initd" iwd
- if use wired;then
- newinitd "${FILESDIR}/ead.initd" ead
- fi
- local iwdconf="${ED}/etc/iwd/main.conf"
- insinto /etc/iwd/
- cat << EOF > newins - main.conf
- [General]
- EnableNetworkConfiguration=true
- [Network]
- NameResolvingService=$(usex systemd systemd resolvconf)
- EOF
- echo 'rc_provide="net"' | newconfd - iwd
- }
|