biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / monitoring / fusion-inventory / default.nix
blobc4e2cc53291b6f116f64c0c4c3a7ae405640312e
1 { lib, perlPackages, nix, dmidecode, pciutils, usbutils, iproute2, nettools
2 , fetchFromGitHub, makeWrapper
3 }:
5 perlPackages.buildPerlPackage rec {
6   pname = "FusionInventory-Agent";
7   version = "2.6";
9   src = fetchFromGitHub {
10     owner = "fusioninventory";
11     repo = "fusioninventory-agent";
12     rev = version;
13     sha256 = "1hbp5a9m03n6a80xc8z640zs71qhqk4ifafr6fp0vvzzvq097ip2";
14   };
16   postPatch = ''
18     patchShebangs bin
20     substituteInPlace "lib/FusionInventory/Agent/Tools/Linux.pm" \
21       --replace /sbin/ip ${iproute2}/sbin/ip
22     substituteInPlace "lib/FusionInventory/Agent/Task/Inventory/Linux/Networks.pm" \
23       --replace /sbin/ip ${iproute2}/sbin/ip
24   '';
26   buildTools = [];
27   nativeBuildInputs = [ makeWrapper ];
28   buildInputs = (with perlPackages; [
29     CGI
30     DataStructureUtil
31     FileCopyRecursive
32     HTTPProxy
33     HTTPServerSimple
34     HTTPServerSimpleAuthen
35     IOCapture
36     IOSocketSSL
37     IPCRun
38     JSON
39     LWPProtocolHttps
40     ModuleInstall
41     NetSNMP
42     TestCompile
43     TestDeep
44     TestException
45     TestMockModule
46     TestMockObject
47     TestNoWarnings
48   ]);
49   propagatedBuildInputs = with perlPackages; [
50     FileWhich
51     LWP
52     NetIP
53     TextTemplate
54     UNIVERSALrequire
55     XMLTreePP
56   ];
58   # Test fails due to "Argument list too long"
59   doCheck = false;
61   installPhase = ''
62     mkdir -p $out
64     cp -r bin $out
65     cp -r lib $out
66     cp -r share $out
68     for cur in $out/bin/*; do
69       if [ -x "$cur" ]; then
70         sed -e "s|./lib|$out/lib|" -i "$cur"
71         wrapProgram "$cur" --prefix PATH : ${lib.makeBinPath [nix dmidecode pciutils usbutils nettools iproute2]}
72       fi
73     done
74   '';
76   outputs = [ "out" ];
78   meta = with lib; {
79     homepage = "http://www.fusioninventory.org";
80     description = "FusionInventory unified Agent for UNIX, Linux, Windows and MacOSX";
81     license = lib.licenses.gpl2;
82     maintainers = [ maintainers.phile314 ];
83   };