nixpkgs/pkgs/os-specific/linux/iwd/default.nix
Maxine Aubrey 40a7011c39
maintainers: remove amaxine
Every time I decide to commit additional time to contributing to nix,
quite a few "concerned" members come out, either to decry a ban on
bigotry and fascism in 2021, or to declare support for minority groups
in Nix discriminatory, or a number of other incidents that are not worth
recounting in this leaving message.

To avoid any ambiguity, my reasoning is similar to pr306702, pr307033, and
several others who felt actively made unwelcome or outright harassed out
of the Nix project.
2024-04-27 11:38:48 +02:00

104 lines
2.6 KiB
Nix

{ lib, stdenv
, fetchgit
, autoreconfHook
, pkg-config
, ell
, coreutils
, docutils
, readline
, openssl
, python3Packages
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "iwd";
version = "2.17";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
rev = version;
hash = "sha256-o/Q8vUtB4Yiz1x+/6+8LUKUQNtiAmwcdh++/tTUN4mM=";
};
outputs = [ "out" "man" "doc" ]
++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "test";
nativeBuildInputs = [
autoreconfHook
docutils
pkg-config
python3Packages.wrapPython
];
buildInputs = [
ell
python3Packages.python
readline
];
nativeCheckInputs = [ openssl ];
# wrapPython wraps the scripts in $test. They pull in gobject-introspection,
# which doesn't cross-compile.
pythonPath = lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
python3Packages.dbus-python
python3Packages.pygobject3
];
configureFlags = [
"--enable-external-ell"
"--enable-wired"
"--localstatedir=/var/"
"--with-dbus-busdir=${placeholder "out"}/share/dbus-1/system-services/"
"--with-dbus-datadir=${placeholder "out"}/share/"
"--with-systemd-modloaddir=${placeholder "out"}/etc/modules-load.d/" # maybe
"--with-systemd-unitdir=${placeholder "out"}/lib/systemd/system/"
"--with-systemd-networkdir=${placeholder "out"}/lib/systemd/network/"
];
postUnpack = ''
mkdir -p iwd/ell
ln -s ${ell.src}/ell/useful.h iwd/ell/useful.h
ln -s ${ell.src}/ell/asn1-private.h iwd/ell/asn1-private.h
patchShebangs .
'';
doCheck = true;
postInstall = ''
mkdir -p $doc/share/doc
cp -a doc $doc/share/doc/iwd
cp -a README AUTHORS TODO $doc/share/doc/iwd
'' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
mkdir -p $test/bin
cp -a test/* $test/bin/
'';
preFixup = ''
wrapPythonPrograms
'';
postFixup = ''
substituteInPlace $out/share/dbus-1/system-services/net.connman.ead.service \
--replace-fail /bin/false ${coreutils}/bin/false
substituteInPlace $out/share/dbus-1/system-services/net.connman.iwd.service \
--replace-fail /bin/false ${coreutils}/bin/false
'';
enableParallelBuilding = true;
passthru.updateScript = gitUpdater {
# No nicer place to find latest release.
url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
};
meta = with lib; {
homepage = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
description = "Wireless daemon for Linux";
license = licenses.lgpl21Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ dtzWill fpletz ];
};
}