nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, fetchFromGitHub, fetchpatch
2, meson, ninja, pkgconfig, gettext, libxslt, docbook_xsl_ns
3, libcap, nettle, libidn2, systemd
4}:
5
6with stdenv.lib;
7
8let
9 version = "20190709";
10 sunAsIsLicense = {
11 fullName = "AS-IS, SUN MICROSYSTEMS license";
12 url = "https://github.com/iputils/iputils/blob/s${version}/rdisc.c";
13 };
14in stdenv.mkDerivation rec {
15 pname = "iputils";
16 inherit version;
17
18 src = fetchFromGitHub {
19 owner = pname;
20 repo = pname;
21 rev = "s${version}";
22 sha256 = "04bp4af15adp79ipxmiakfp0ij6hx5qam266flzbr94pr8z8l693";
23 };
24
25 mesonFlags =
26 [ "-DUSE_CRYPTO=nettle"
27 "-DBUILD_RARPD=true"
28 "-DBUILD_TRACEROUTE6=true"
29 "-DNO_SETCAP_OR_SUID=true"
30 "-Dsystemdunitdir=etc/systemd/system"
31 ]
32 # Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111):
33 ++ optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false";
34
35 nativeBuildInputs = [ meson ninja pkgconfig gettext libxslt.bin docbook_xsl_ns ];
36 buildInputs = [ libcap nettle systemd ]
37 ++ optional (!stdenv.hostPlatform.isMusl) libidn2;
38
39 meta = {
40 homepage = https://github.com/iputils/iputils;
41 description = "A set of small useful utilities for Linux networking";
42 license = with licenses; [ gpl2Plus bsd3 sunAsIsLicense ];
43 platforms = platforms.linux;
44 maintainers = with maintainers; [ primeos lheckemann ];
45
46 longDescription = ''
47 A set of small useful utilities for Linux networking including:
48
49 arping
50 clockdiff
51 ninfod
52 ping
53 rarpd
54 rdisc
55 tftpd
56 tracepath
57 traceroute6
58 '';
59 };
60}