diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2017-01-15 07:54:39 +0100 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2017-01-15 08:02:30 +0100 |
commit | 86e8baddcdb4663169a7ace6b1ca3ab2e43589f4 (patch) | |
tree | bcf3f0ac83bd37887c59feda5b9e48a747f836d3 | |
parent | net-libs/liboping: Update metadata.xml (diff) | |
download | gentoo-86e8baddcdb4663169a7ace6b1ca3ab2e43589f4.tar.gz gentoo-86e8baddcdb4663169a7ace6b1ca3ab2e43589f4.tar.bz2 gentoo-86e8baddcdb4663169a7ace6b1ca3ab2e43589f4.zip |
net-libs/liboping: Ebuild rewritten for EAPI=6
Package-Manager: Portage-2.3.3, Repoman-2.3.1
-rw-r--r-- | net-libs/liboping/files/liboping-1.8.0-remove-ncurses-automagic.patch | 94 | ||||
-rw-r--r-- | net-libs/liboping/liboping-1.8.0-r1.ebuild | 66 | ||||
-rw-r--r-- | net-libs/liboping/metadata.xml | 4 |
3 files changed, 164 insertions, 0 deletions
diff --git a/net-libs/liboping/files/liboping-1.8.0-remove-ncurses-automagic.patch b/net-libs/liboping/files/liboping-1.8.0-remove-ncurses-automagic.patch new file mode 100644 index 000000000000..67e389ff139c --- /dev/null +++ b/net-libs/liboping/files/liboping-1.8.0-remove-ncurses-automagic.patch @@ -0,0 +1,94 @@ +configure: Make use of ncurses configurable + +https://github.com/octo/liboping/pull/15 + +--- a/configure.ac ++++ b/configure.ac +@@ -206,27 +206,30 @@ AC_CHECK_FUNCS(nanosleep, [], + AC_MSG_ERROR(cannot find nanosleep))) + AM_CONDITIONAL(BUILD_WITH_LIBRT, test "x$nanosleep_needs_rt" = "xyes") + +-with_ncurses="no" +-AC_CHECK_HEADERS(ncursesw/ncurses.h ncurses.h, [with_ncurses="yes"], []) +-if test "x$with_ncurses" = "xyes" +-then +- have_ncursesw="no" +- have_ncurses="no" +- NCURSES_LIB="" ++AC_ARG_WITH(ncurses, AS_HELP_STRING([--with-ncurses], [Build oping CLI tool with ncurses support])) ++AS_IF([test "x$with_ncurses" != "xno"], [ ++ can_build_with_ncurses="no" ++ PKG_CHECK_MODULES([NCURSES], [ncursesw], [can_build_with_ncurses=yes], [ ++ PKG_CHECK_MODULES([NCURSES], [ncurses], [can_build_with_ncurses=yes], [ ++ AC_CHECK_LIB(ncursesw, mvwprintw, [NCURSES_LIBS="-lncursesw"; can_build_with_ncurses=yes], [ ++ AC_CHECK_LIB(ncurses, mvwprintw, [NCURSES_LIBS="-lncurses"; can_build_with_ncurses=yes]) ++ ]) ++ ]) ++ ]) + +- AC_CHECK_LIB(ncursesw, mvwprintw, [have_ncursesw="yes"], [have_ncursesw="no"]) +- AC_CHECK_LIB(ncurses, mvwprintw, [have_ncurses="yes"], [have_ncurses="no"]) ++ AS_IF([test "x$can_build_with_ncurses" = "xyes"], [ ++ AC_CHECK_HEADERS([ncursesw/curses.h ncursesw.h ncurses/curses.h ncurses.h], [can_build_with_ncurses=yes; break;], [can_build_with_ncurses=no]) ++ ]) + +- if test "x$have_ncursesw" = "xyes"; then +- NCURSES_LIB="-lncursesw" +- else if test "x$have_ncurses" = "xyes"; then +- NCURSES_LIB="-lncurses" +- else +- with_ncurses="no" +- fi; fi +- AC_SUBST(NCURSES_LIB) +-fi +-AM_CONDITIONAL(BUILD_WITH_LIBNCURSES, test "x$with_ncurses" = "xyes") ++ AS_IF([test "x$can_build_with_ncurses" = "xno" && test "x$with_ncurses" = "xyes"], [ ++ AC_MSG_ERROR([ncurses not found but explicit enabled]) ++ ], ++ [test "x$can_build_with_ncurses" = "xno"], [ ++ AC_MSG_WARN([Will not build oping with ncurses support -- no suiteable ncurses installation found]) ++ ]) ++]) ++ ++AM_CONDITIONAL(BUILD_WITH_LIBNCURSES, test "x$with_ncurses" != "xno" && test "x$can_build_with_ncurses" = "xyes") + + AC_FUNC_STRERROR_R + +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -43,8 +43,8 @@ if BUILD_WITH_LIBNCURSES + bin_PROGRAMS += noping + + noping_SOURCES = oping.c +-noping_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_NCURSES=1 +-noping_LDADD = liboping.la -lm $(NCURSES_LIB) ++noping_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_NCURSES=1 $(NCURSES_CFLAGS) ++noping_LDADD = liboping.la -lm $(NCURSES_LIBS) + if BUILD_WITH_LIBRT + noping_LDADD += -lrt + endif +--- a/src/oping.c ++++ b/src/oping.c +@@ -82,11 +82,17 @@ + /* http://newsgroups.derkeiler.com/Archive/Rec/rec.games.roguelike.development/2010-09/msg00050.html */ + # define _X_OPEN_SOURCE_EXTENDED + +-# if HAVE_NCURSESW_NCURSES_H +-# include <ncursesw/ncurses.h> +-# elif HAVE_NCURSES_H ++#if defined HAVE_NCURSESW_CURSES_H ++# include <ncursesw/curses.h> ++#elif defined HAVE_NCURSESW_H ++# include <ncursesw.h> ++#elif defined HAVE_NCURSES_CURSES_H ++# include <ncurses/curses.h> ++#elif defined HAVE_NCURSES_H + # include <ncurses.h> +-# endif ++#else ++# error "SysV or X/Open-compatible Curses header file required" ++#endif + + # define OPING_GREEN 1 + # define OPING_YELLOW 2 +-- diff --git a/net-libs/liboping/liboping-1.8.0-r1.ebuild b/net-libs/liboping/liboping-1.8.0-r1.ebuild new file mode 100644 index 000000000000..141475405edb --- /dev/null +++ b/net-libs/liboping/liboping-1.8.0-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="6" + +inherit autotools fcaps perl-module + +DESCRIPTION="Protocol independent ANSI-C ping library and command line utility" +HOMEPAGE="https://noping.cc/" +SRC_URI="https://noping.cc/files/${P}.tar.bz2" + +LICENSE="LGPL-2.1 GPL-2" +SLOT="0/0.2" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="+filecaps ncurses perl" + +DEPEND="ncurses? ( sys-libs/ncurses:0= )" +RDEPEND=${DEPEND} + +PATCHES=( + "${FILESDIR}/${PN}-1.6.2-nouidmagic.patch" + "${FILESDIR}/${PN}-1.8.0-remove-ncurses-automagic.patch" +) + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + econf \ + $(use_with perl perl-bindings INSTALLDIRS=vendor) \ + $(use_with ncurses) +} + +src_test() { + if use perl; then + pushd bindings/perl >/dev/null || die + perl-module_src_test + popd >/dev/null || die + fi +} + +src_install() { + default + + find "${ED}"usr/lib* -name '*.la' -o -name '*.a' -delete || die +} + +pkg_postinst() { + if use filecaps; then + local _caps_str="CAP_NET_RAW" + fcaps "${_caps_str}" \ + "${EROOT%/}/usr/bin/oping" \ + "${EROOT%/}/usr/bin/noping" + elog "Capabilities for" + elog "" + elog " ${EROOT%/}/usr/bin/oping" + elog " ${EROOT%/}/usr/bin/oping" + elog "" + elog "set to ${_caps_str}+EP due to set 'filecaps' USE flag." + elog + fi +} diff --git a/net-libs/liboping/metadata.xml b/net-libs/liboping/metadata.xml index 561fec002053..521d84da2fe3 100644 --- a/net-libs/liboping/metadata.xml +++ b/net-libs/liboping/metadata.xml @@ -12,4 +12,8 @@ <bugs-to>https://github.com/octo/liboping/issues</bugs-to> <remote-id type="github">octo/liboping</remote-id> </upstream> + <use> + <flag name="filecaps">Allow non-root users to use [n]oping utility.</flag> + <flag name="ncurses">Build ncurses-based version of oping utility (requires <pkg>sys-libs/ncurses</pkg>)</flag> + </use> </pkgmetadata> |