nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv
2, fetchgit
3, fetchpatch
4, autoreconfHook
5, pkgconfig
6, ell
7, coreutils
8, docutils
9, readline
10, openssl
11, python3Packages
12}:
13
14stdenv.mkDerivation rec {
15 pname = "iwd";
16 version = "1.9";
17
18 src = fetchgit {
19 url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
20 rev = version;
21 sha256 = "193wa13i2prfz1zr7nvwbgrxgacms57zj1n7x28yy5hmm3nnwbrd";
22 };
23
24 outputs = [ "out" "man" ];
25
26 nativeBuildInputs = [
27 autoreconfHook
28 docutils
29 pkgconfig
30 python3Packages.wrapPython
31 ];
32
33 buildInputs = [
34 ell
35 python3Packages.python
36 readline
37 ];
38
39 checkInputs = [ openssl ];
40
41 pythonPath = [
42 python3Packages.dbus-python
43 python3Packages.pygobject3
44 ];
45
46 configureFlags = [
47 "--enable-external-ell"
48 "--enable-wired"
49 "--localstatedir=/var/"
50 "--with-dbus-busdir=${placeholder "out"}/share/dbus-1/system-services/"
51 "--with-dbus-datadir=${placeholder "out"}/share/"
52 "--with-systemd-modloaddir=${placeholder "out"}/etc/modules-load.d/" # maybe
53 "--with-systemd-unitdir=${placeholder "out"}/lib/systemd/system/"
54 "--with-systemd-networkdir=${placeholder "out"}/lib/systemd/network/"
55 ];
56
57 postUnpack = ''
58 patchShebangs .
59 '';
60
61 doCheck = true;
62
63 postInstall = ''
64 cp -a test/* $out/bin/
65 mkdir -p $out/share
66 cp -a doc $out/share/
67 cp -a README AUTHORS TODO $out/share/doc/
68 '';
69
70 preFixup = ''
71 wrapPythonPrograms
72 '';
73
74 postFixup = ''
75 substituteInPlace $out/share/dbus-1/system-services/net.connman.ead.service \
76 --replace /bin/false ${coreutils}/bin/false
77 substituteInPlace $out/share/dbus-1/system-services/net.connman.iwd.service \
78 --replace /bin/false ${coreutils}/bin/false
79 '';
80
81 enableParallelBuilding = true;
82
83 meta = with stdenv.lib; {
84 homepage = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
85 description = "Wireless daemon for Linux";
86 license = licenses.lgpl21;
87 platforms = platforms.linux;
88 maintainers = with maintainers; [ dtzWill fpletz ];
89 };
90}