From 89fbb184d18a5971171202c11c3f84281ff47193 Mon Sep 17 00:00:00 2001 From: Wei-Ming Yang Date: Sun, 3 Jan 2016 16:06:47 +0800 Subject: [PATCH] ostinato: add ostinato package in nixpkgs --- .../networking/ostinato/default.nix | 59 ++++++++++++++++++ .../networking/ostinato/drone_ini.patch | 14 +++++ .../networking/ostinato/ostinato.png | Bin 0 -> 18467 bytes pkgs/top-level/all-packages.nix | 2 + 4 files changed, 75 insertions(+) create mode 100644 pkgs/applications/networking/ostinato/default.nix create mode 100644 pkgs/applications/networking/ostinato/drone_ini.patch create mode 100644 pkgs/applications/networking/ostinato/ostinato.png 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 < $out/share/applications/ostinato.desktop < 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 0000000000000000000000000000000000000000..6a03e6a7d5df5e244fec75af65a33f56736e4538 GIT binary patch literal 18467 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