biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / networking / tsung / default.nix
blobab66d6a09dc2f9e172cf45b63c90c4799c0fe3f9
1 { lib
2 , stdenv
3 , fetchurl
4 , makeWrapper
5 , erlang
6 , python3
7 , python3Packages
8 , perlPackages
9 , gnuplot
12 stdenv.mkDerivation rec {
13   pname = "tsung";
14   version = "1.8.0";
16   src = fetchurl {
17     url = "http://tsung.erlang-projects.org/dist/tsung-${version}.tar.gz";
18     hash = "sha256-kehkMCYBfj0AiKZxD7EcT2F0d+gm6+TF/lhqpjFH/JI=";
19   };
21   nativeBuildInputs = [
22     makeWrapper
23   ];
25   propagatedBuildInputs = [
26     erlang
27     gnuplot
28     perlPackages.perl
29     perlPackages.TemplateToolkit
30     python3
31     python3Packages.matplotlib
32   ];
35   postFixup = ''
36     # Make tsung_stats.pl accessible
37     # Leaving .pl at the end since all of tsung documentation is refering to it
38     # as tsung_stats.pl
39     ln -s $out/lib/tsung/bin/tsung_stats.pl $out/bin/tsung_stats.pl
41     # Add Template Toolkit and gnuplot to tsung_stats.pl
42     wrapProgram $out/bin/tsung_stats.pl \
43         --prefix PATH : ${lib.makeBinPath [ gnuplot ]} \
44         --set PERL5LIB "${perlPackages.makePerlPath [ perlPackages.TemplateToolkit ]}"
45   '';
47   meta = with lib; {
48     homepage = "http://tsung.erlang-projects.org/";
49     changelog = "https://github.com/processone/tsung/blob/v${version}/CHANGELOG.md";
50     description = "A high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc";
51     longDescription = ''
52       Tsung is a distributed load testing tool. It is protocol-independent and
53       can currently be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL,
54       AMQP, MQTT, LDAP and Jabber/XMPP servers.
55     '';
56     license = licenses.gpl2Plus;
57     maintainers = with maintainers; [ uskudnik ];
58     platforms = platforms.unix;
59   };