diff options
-rw-r--r-- | liboping/PKGBUILD | 48 | ||||
-rw-r--r-- | liboping/format.patch | 30 | ||||
-rw-r--r-- | liboping/install | 8 | ||||
-rw-r--r-- | liboping/ncursesw.patch | 21 |
4 files changed, 107 insertions, 0 deletions
diff --git a/liboping/PKGBUILD b/liboping/PKGBUILD new file mode 100644 index 000000000..1ead55ed9 --- /dev/null +++ b/liboping/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Erich Eckner <arch at eckner dot net> +# Contributor: lilydjwg <lilydjwg@gmail.com> +# Contributor: Gaetan Bisson <bisson@archlinux.org> + +pkgname=liboping +pkgver=1.10.0 +pkgrel=14 +pkgdesc='C library to generate ICMP echo requests, better known as "ping packets"' +url='https://noping.cc/' +arch=('i486' 'i686' 'pentium4' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64') +license=('GPL') +depends=('libcap') +makedepends=('ncurses') +optdepends=('perl: perl bindings' + 'ncurses: noping CLI tool') +source=("${url}files/${pkgname}-${pkgver}.tar.bz2" + 'ncursesw.patch' 'format.patch') +sha256sums=('eb38aa93f93e8ab282d97e2582fbaea88b3f889a08cbc9dbf20059c3779d5cd8' + '64db954250e7cd4f77ed28d0d4f3deb1525ebe4145c6b20caafc2459c8b1c780' + '1975ebcfeb24e9269f49d23075295866b62511e500574f2c86d562e18f01dda7') + +install=install + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Setting capabilities/setuid is futile in fakeroot. + # (We do that in the install script.) + sed -i 's/ install-exec-hook//g' src/Makefile.in + + # Our ncurses has full UTF8 support although not called ncursesw. + patch -p1 -i ../ncursesw.patch + patch -p1 -i ../format.patch + + # Be serious. + sed '/-Wall -Werror/d' -i src/Makefile.* +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --with-perl-bindings='INSTALLDIRS=vendor' + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/liboping/format.patch b/liboping/format.patch new file mode 100644 index 000000000..cc0b99e05 --- /dev/null +++ b/liboping/format.patch @@ -0,0 +1,30 @@ +--- liboping-1.10.0-old/src/oping.c 2017-05-11 15:32:27.000000000 +0800 ++++ liboping-1.10.0/src/oping.c 2022-03-14 16:36:47.476525817 +0800 +@@ -1125,7 +1125,7 @@ + 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); + +@@ -1223,7 +1223,7 @@ + mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, ' '); + else if (has_utf8 ()) + mvwprintw (ctx->window, /* y = */ 3, /* x = */ x + 2, +- hist_symbols_utf8[index]); ++ "%s", hist_symbols_utf8[index]); + else + mvwaddch (ctx->window, /* y = */ 3, /* x = */ x + 2, + hist_symbols_acs[index] | A_ALTCHARSET); +@@ -1600,8 +1600,7 @@ + + HOST_PRINTF ("%zu bytes from %s (%s): icmp_seq=%u ttl=%i ", + data_len, context->host, context->addr, +- sequence, recv_ttl, +- format_qos (recv_qos, recv_qos_str, sizeof (recv_qos_str))); ++ sequence, recv_ttl); + if ((recv_qos != 0) || (opt_send_qos != 0)) + { + HOST_PRINTF ("qos=%s ", diff --git a/liboping/install b/liboping/install new file mode 100644 index 000000000..04cdb38f8 --- /dev/null +++ b/liboping/install @@ -0,0 +1,8 @@ +post_upgrade() { + setcap cap_net_raw=ep usr/bin/oping + setcap cap_net_raw=ep usr/bin/noping +} + +post_install() { + post_upgrade +} diff --git a/liboping/ncursesw.patch b/liboping/ncursesw.patch new file mode 100644 index 000000000..da126a718 --- /dev/null +++ b/liboping/ncursesw.patch @@ -0,0 +1,21 @@ +diff -Naur old/src/oping.c new/src/oping.c +--- old/src/oping.c 2017-05-10 21:32:27.000000000 -1000 ++++ new/src/oping.c 2018-06-13 08:29:44.887061003 -1000 +@@ -903,7 +903,6 @@ + #if USE_NCURSES + static _Bool has_utf8() /* {{{ */ + { +-# if HAVE_NCURSESW_NCURSES_H + if (!opt_utf8) + { + /* Automatically determine */ +@@ -913,9 +912,6 @@ + opt_utf8 = 1; + } + return ((_Bool) (opt_utf8 - 1)); +-# else +- return (0); +-# endif + } /* }}} _Bool has_utf8 */ + + static int update_graph_boxplot (ping_context_t *ctx) /* {{{ */ |