about summary refs log tree commit diff
path: root/pkgs/applications/networking
diff options
context:
space:
mode:
authorWei-Ming Yang <rick68@gmail.com>2016-01-03 16:06:47 +0800
committerWei-Ming Yang <rick68@gmail.com>2016-01-04 14:29:02 +0800
commit89fbb184d18a5971171202c11c3f84281ff47193 (patch)
tree0cc37e36c7e0a9e9b4ab863487f5c4eeb873eaa3 /pkgs/applications/networking
parentf300b2861de690ad9b1c5981020d33fa01a15349 (diff)
downloadnixlib-89fbb184d18a5971171202c11c3f84281ff47193.tar
nixlib-89fbb184d18a5971171202c11c3f84281ff47193.tar.gz
nixlib-89fbb184d18a5971171202c11c3f84281ff47193.tar.bz2
nixlib-89fbb184d18a5971171202c11c3f84281ff47193.tar.lz
nixlib-89fbb184d18a5971171202c11c3f84281ff47193.tar.xz
nixlib-89fbb184d18a5971171202c11c3f84281ff47193.tar.zst
nixlib-89fbb184d18a5971171202c11c3f84281ff47193.zip
ostinato: add ostinato package in nixpkgs
Diffstat (limited to 'pkgs/applications/networking')
-rw-r--r--pkgs/applications/networking/ostinato/default.nix59
-rw-r--r--pkgs/applications/networking/ostinato/drone_ini.patch14
-rw-r--r--pkgs/applications/networking/ostinato/ostinato.pngbin0 -> 18467 bytes
3 files changed, 73 insertions, 0 deletions
diff --git a/pkgs/applications/networking/ostinato/default.nix b/pkgs/applications/networking/ostinato/default.nix
new file mode 100644
index 000000000000..28170b2563d4
--- /dev/null
+++ b/pkgs/applications/networking/ostinato/default.nix
@@ -0,0 +1,59 @@
+{ stdenv, fetchgit, fetchurl, writeText
+, qt4, protobuf, libpcap
+, wireshark, gzip, diffutils, gawk
+}:
+
+stdenv.mkDerivation {
+  name = "ostinato-2015-12-24";
+  src = fetchgit {
+    url = "https://github.com/pstavirs/ostinato.git";
+    rev = "414d89860de0987843295d149bcabeac7c6fd9e5";
+    sha256 = "0hb78bq51r93p0yr4l1z5xlf1i666v5pa3zkdj7jmpb879kj05dx";
+  };
+
+  buildInputs = [ qt4 protobuf libpcap ];
+
+  patches = [ ./drone_ini.patch ];
+
+  configurePhase = "qmake PREFIX=$out"
+    + stdenv.lib.optionalString stdenv.isDarwin " -spec macx-g++";
+
+  postInstall = ''
+    cat > $out/bin/ostinato.ini <<EOF
+    WiresharkPath=${wireshark}/bin/wireshark
+    TsharkPath=${wireshark}/bin/tshark
+    GzipPath=${gzip}/bin/gzip
+    DiffPath=${diffutils}/bin/diff
+    AwkPath=${gawk}/bin/awk
+    EOF
+
+    mkdir -p $out/share/pixmaps
+    install -D -m 644 ${./ostinato.png} $out/share/pixmaps/ostinato.png
+
+    # Create a desktop item.
+    mkdir -p $out/share/applications
+    cat > $out/share/applications/ostinato.desktop <<EOF
+    [Desktop Entry]
+    Type=Application
+    Encoding=UTF-8
+    Name=Ostinato
+    GenericName=Packet/Traffic Generator and Analyzer
+    GenericName[it]=Generatore ed Analizzatore di pacchetti di rete
+    Comment=Network packet and traffic generator and analyzer with a friendly GUI
+    Comment[it]=Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole
+    Icon=$out/share/pixmaps/ostinato.png
+    Exec=$out/bin/ostinato
+    Terminal=false
+    Categories=Network;
+    StartupNotify=true
+    EOF
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A packet traffic generator and analyzer";
+    homepage = http://ostinato.org;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ rick68 ];
+    platforms = platforms.linux;  # also OS X and cygwin
+  };
+}
diff --git a/pkgs/applications/networking/ostinato/drone_ini.patch b/pkgs/applications/networking/ostinato/drone_ini.patch
new file mode 100644
index 000000000000..5818f4e94c30
--- /dev/null
+++ b/pkgs/applications/networking/ostinato/drone_ini.patch
@@ -0,0 +1,14 @@
+diff -Nru ostinato-414d89860de0987843295d149bcabeac7c6fd9e5/server/drone_main.cpp ostinato-414d89860de0987843295d149bcabeac7c6fd9e5.new/server/drone_main.cpp
+--- ostinato-414d89860de0987843295d149bcabeac7c6fd9e5/server/drone_main.cpp	2015-12-24 16:46:35.000000000 +0800
++++ ostinato-414d89860de0987843295d149bcabeac7c6fd9e5.new/server/drone_main.cpp	2015-12-30 20:59:04.319199699 +0800
+@@ -62,8 +62,8 @@
+     /* (Portable Mode) If we have a .ini file in the same directory as the 
+        executable, we use that instead of the platform specific location
+        and format for the settings */
+-    QString portableIni = QCoreApplication::applicationDirPath() 
+-            + "/drone.ini";
++    QString portableIni = argc > 2 ? argv[2] :
++            QCoreApplication::applicationDirPath() + "/drone.ini";
+     if (QFile::exists(portableIni))
+         appSettings = new QSettings(portableIni, QSettings::IniFormat);
+     else
diff --git a/pkgs/applications/networking/ostinato/ostinato.png b/pkgs/applications/networking/ostinato/ostinato.png
new file mode 100644
index 000000000000..6a03e6a7d5df
--- /dev/null
+++ b/pkgs/applications/networking/ostinato/ostinato.png
Binary files differ