about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/liboping
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/liboping')
-rw-r--r--nixpkgs/pkgs/development/libraries/liboping/default.nix16
-rw-r--r--nixpkgs/pkgs/development/libraries/liboping/ncurses-6.3.patch21
2 files changed, 36 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/development/libraries/liboping/default.nix b/nixpkgs/pkgs/development/libraries/liboping/default.nix
index 932133e01921..9a44e84b136f 100644
--- a/nixpkgs/pkgs/development/libraries/liboping/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liboping/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses ? null, perl ? null, lib }:
+{ stdenv, fetchurl, fetchpatch, ncurses ? null, perl ? null, lib }:
 
 stdenv.mkDerivation rec {
   pname = "liboping";
@@ -9,6 +9,20 @@ stdenv.mkDerivation rec {
     sha256 = "1n2wkmvw6n80ybdwkjq8ka43z2x8mvxq49byv61b52iyz69slf7b";
   };
 
+  patches = [
+    # Add support for ncurses-6.3. A backport of patch pending upstream
+    # inclusion: https://github.com/octo/liboping/pull/61
+    ./ncurses-6.3.patch
+
+    # Pull pending fix for format arguments mismatch:
+    #  https://github.com/octo/liboping/pull/60
+    (fetchpatch {
+      name = "format-args.patch";
+      url = "https://github.com/octo/liboping/commit/7a50e33f2a686564aa43e4920141e6f64e042df1.patch";
+      sha256 = "118fl3k84m3iqwfp49g5qil4lw1gcznzmyxnfna0h7za2nm50cxw";
+    })
+  ];
+
   NIX_CFLAGS_COMPILE = lib.optionalString
     stdenv.cc.isGNU "-Wno-error=format-truncation";
 
diff --git a/nixpkgs/pkgs/development/libraries/liboping/ncurses-6.3.patch b/nixpkgs/pkgs/development/libraries/liboping/ncurses-6.3.patch
new file mode 100644
index 000000000000..14d2be07fe38
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/liboping/ncurses-6.3.patch
@@ -0,0 +1,21 @@
+A backport of https://github.com/octo/liboping/pull/61
+--- a/src/oping.c
++++ b/src/oping.c
+@@ -1125,7 +1125,7 @@ static int update_graph_prettyping (ping_context_t *ctx, /* {{{ */
+ 			wattron (ctx->window, COLOR_PAIR(color));
+ 
+ 		if (has_utf8())
+-			mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, symbol);
++			mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, "%s", symbol);
+ 		else
+ 			mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, symbolc);
+ 
+@@ -1222,7 +1222,7 @@ static int update_graph_histogram (ping_context_t *ctx) /* {{{ */
+ 		if (counters[x] == 0)
+ 			mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, ' ');
+ 		else if (has_utf8 ())
+-			mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2,
++			mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, "%s",
+ 					hist_symbols_utf8[index]);
+ 		else
+ 			mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2,