nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 stdenv,
3 fetchurl,
4 lib,
5 libevent,
6 net-snmp,
7 openssl,
8 pkg-config,
9 readline,
10 removeReferencesTo,
11}:
12
13stdenv.mkDerivation rec {
14 pname = "lldpd";
15 version = "1.0.20";
16
17 src = fetchurl {
18 url = "https://media.luffy.cx/files/lldpd/${pname}-${version}.tar.gz";
19 hash = "sha256-YbjLItSHnmj3glovuOHpKrtKukdzl3zwJYvDLtn1VFA=";
20 };
21
22 configureFlags = [
23 "--localstatedir=/var"
24 "--enable-pie"
25 "--with-snmp"
26 "--with-systemdsystemunitdir=\${out}/lib/systemd/system"
27 ]
28 ++ lib.optionals stdenv.hostPlatform.isDarwin [
29 "--with-launchddaemonsdir=no"
30 "--with-privsep-chroot=/var/empty"
31 "--with-privsep-group=nogroup"
32 "--with-privsep-user=nobody"
33 ];
34
35 nativeBuildInputs = [
36 pkg-config
37 removeReferencesTo
38 ];
39 buildInputs = [
40 libevent
41 readline
42 net-snmp
43 openssl
44 ];
45
46 preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
47 # Yes, this works and is required for cross :'/
48 export PATH=$PATH:${net-snmp.dev}/bin
49 '';
50
51 enableParallelBuilding = true;
52
53 outputs = [
54 "out"
55 "dev"
56 "man"
57 "doc"
58 ];
59
60 preFixup = ''
61 find $out -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
62 '';
63
64 meta = {
65 description = "802.1ab implementation (LLDP) to help you locate neighbors of all your equipments";
66 homepage = "https://lldpd.github.io/";
67 license = lib.licenses.isc;
68 maintainers = with lib.maintainers; [ fpletz ];
69 platforms = lib.platforms.unix;
70 };
71}