summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Beierlein <tomjbe@gentoo.org>2016-12-16 08:19:24 +0100
committerThomas Beierlein <tomjbe@gentoo.org>2016-12-16 08:20:33 +0100
commitf55bf29d2e909ad052cd112aab97f1e4567d06ed (patch)
tree16968e4267e435f477cf3883cce5b270e844ba89
parentdev-perl/Server-Starter: Bump to version 0.330.0 (diff)
downloadgentoo-f55bf29d2e909ad052cd112aab97f1e4567d06ed.tar.gz
gentoo-f55bf29d2e909ad052cd112aab97f1e4567d06ed.tar.bz2
gentoo-f55bf29d2e909ad052cd112aab97f1e4567d06ed.zip
media-radio/tlf: backport new AX_WITH_CURSES macro
Fixes compile error with ncurses[tinfo]. Package-Manager: Portage-2.3.3, Repoman-2.3.1
-rw-r--r--media-radio/tlf/files/ncurses_tinfo.patch355
-rw-r--r--media-radio/tlf/tlf-1.2.4.1.ebuild7
-rw-r--r--media-radio/tlf/tlf-1.2.4.5.ebuild7
3 files changed, 367 insertions, 2 deletions
diff --git a/media-radio/tlf/files/ncurses_tinfo.patch b/media-radio/tlf/files/ncurses_tinfo.patch
new file mode 100644
index 000000000000..c70b96ef7aef
--- /dev/null
+++ b/media-radio/tlf/files/ncurses_tinfo.patch
@@ -0,0 +1,355 @@
+diff -u tlf-1.2.4.5/macros/ax_with_curses.m4 tlf/macros/ax_with_curses.m4
+--- tlf-1.2.4.5/macros/ax_with_curses.m4 2016-11-19 10:22:20.000000000 +0100
++++ tlf/macros/ax_with_curses.m4 2016-12-13 08:03:02.855327396 +0100
+@@ -12,7 +12,9 @@
+ # present, along with the associated header file. The NcursesW
+ # (wide-character) library is searched for first, followed by Ncurses,
+ # then the system-default plain Curses. The first library found is the
+-# one returned.
++# one returned. Finding libraries will first be attempted by using
++# pkg-config, and should the pkg-config files not be available, will
++# fallback to combinations of known flags itself.
+ #
+ # The following options are understood: --with-ncursesw, --with-ncurses,
+ # --without-ncursesw, --without-ncurses. The "--with" options force the
+@@ -52,23 +54,29 @@
+ #
+ # (These preprocessor symbols are discussed later in this document.)
+ #
+-# The following output variable is defined by this macro; it is precious
+-# and may be overridden on the ./configure command line:
++# The following output variables are defined by this macro; they are
++# precious and may be overridden on the ./configure command line:
+ #
+-# CURSES_LIB - library to add to xxx_LDADD
++# CURSES_LIBS - library to add to xxx_LDADD
++# CURSES_CFLAGS - include paths to add to xxx_CPPFLAGS
+ #
+-# The library listed in CURSES_LIB is NOT added to LIBS by default. You
+-# need to add CURSES_LIB to the appropriate xxx_LDADD line in your
+-# Makefile.am. For example:
+-#
+-# prog_LDADD = @CURSES_LIB@
+-#
+-# If CURSES_LIB is set on the configure command line (such as by running
+-# "./configure CURSES_LIB=-lmycurses"), then the only header searched for
+-# is <curses.h>. The user may use the CPPFLAGS precious variable to
+-# override the standard #include search path. If the user needs to
+-# specify an alternative path for a library (such as for a non-standard
+-# NcurseW), the user should use the LDFLAGS variable.
++# In previous versions of this macro, the flags CURSES_LIB and
++# CURSES_CPPFLAGS were defined. These have been renamed, in keeping with
++# AX_WITH_CURSES's close bigger brother, PKG_CHECK_MODULES, which should
++# eventually supersede the use of AX_WITH_CURSES. Neither the library
++# listed in CURSES_LIBS, nor the flags in CURSES_CFLAGS are added to LIBS,
++# respectively CPPFLAGS, by default. You need to add both to the
++# appropriate xxx_LDADD/xxx_CPPFLAGS line in your Makefile.am. For
++# example:
++#
++# prog_LDADD = @CURSES_LIBS@
++# prog_CPPFLAGS = @CURSES_CFLAGS@
++#
++# If CURSES_LIBS is set on the configure command line (such as by running
++# "./configure CURSES_LIBS=-lmycurses"), then the only header searched for
++# is <curses.h>. If the user needs to specify an alternative path for a
++# library (such as for a non-standard NcurseW), the user should use the
++# LDFLAGS variable.
+ #
+ # The following shell variables may be defined by this macro:
+ #
+@@ -182,11 +190,66 @@
+ # modified version of the Autoconf Macro, you may extend this special
+ # exception to the GPL to apply to your modified version as well.
+
+-#serial 15
++#serial 17
++
++# internal function to factorize common code that is used by both ncurses
++# and ncursesw
++AC_DEFUN([_FIND_CURSES_FLAGS], [
++ AC_MSG_CHECKING([for $1 via pkg-config])
++
++ AX_REQUIRE_DEFINED([PKG_CHECK_EXISTS])
++ _PKG_CONFIG([_ax_cv_$1_libs], [libs], [$1])
++ _PKG_CONFIG([_ax_cv_$1_cppflags], [cflags], [$1])
++
++ AS_IF([test "x$pkg_failed" = "xyes" || test "x$pkg_failed" = "xuntried"],[
++ AC_MSG_RESULT([no])
++ # No suitable .pc file found, have to find flags via fallback
++ AC_CACHE_CHECK([for $1 via fallback], [ax_cv_$1], [
++ AS_ECHO()
++ pkg_cv__ax_cv_$1_libs="-l$1"
++ pkg_cv__ax_cv_$1_cppflags="-D_GNU_SOURCE $CURSES_CFLAGS"
++ LIBS="$ax_saved_LIBS $pkg_cv__ax_cv_$1_libs"
++ CPPFLAGS="$ax_saved_CPPFLAGS $pkg_cv__ax_cv_$1_cppflags"
++
++ AC_MSG_CHECKING([for initscr() with $pkg_cv__ax_cv_$1_libs])
++ AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])],
++ [
++ AC_MSG_RESULT([yes])
++ AC_MSG_CHECKING([for nodelay() with $pkg_cv__ax_cv_$1_libs])
++ AC_LINK_IFELSE([AC_LANG_CALL([], [nodelay])],[
++ ax_cv_$1=yes
++ ],[
++ AC_MSG_RESULT([no])
++ m4_if(
++ [$1],[ncursesw],[pkg_cv__ax_cv_$1_libs="$pkg_cv__ax_cv_$1_libs -ltinfow"],
++ [$1],[ncurses],[pkg_cv__ax_cv_$1_libs="$pkg_cv__ax_cv_$1_libs -ltinfo"]
++ )
++ LIBS="$ax_saved_LIBS $pkg_cv__ax_cv_$1_libs"
++
++ AC_MSG_CHECKING([for nodelay() with $pkg_cv__ax_cv_$1_libs])
++ AC_LINK_IFELSE([AC_LANG_CALL([], [nodelay])],[
++ ax_cv_$1=yes
++ ],[
++ ax_cv_$1=no
++ ])
++ ])
++ ],[
++ ax_cv_$1=no
++ ])
++ ])
++ ],[
++ AC_MSG_RESULT([yes])
++ # Found .pc file, using its information
++ LIBS="$ax_saved_LIBS $pkg_cv__ax_cv_$1_libs"
++ CPPFLAGS="$ax_saved_CPPFLAGS $pkg_cv__ax_cv_$1_cppflags"
++ ax_cv_$1=yes
++ ])
++])
+
+ AU_ALIAS([MP_WITH_CURSES], [AX_WITH_CURSES])
+ AC_DEFUN([AX_WITH_CURSES], [
+- AC_ARG_VAR([CURSES_LIB], [linker library for Curses, e.g. -lcurses])
++ AC_ARG_VAR([CURSES_LIBS], [linker library for Curses, e.g. -lcurses])
++ AC_ARG_VAR([CURSES_CFLAGS], [preprocessor flags for Curses, e.g. -I/usr/include/ncursesw])
+ AC_ARG_WITH([ncurses], [AS_HELP_STRING([--with-ncurses],
+ [force the use of Ncurses or NcursesW])],
+ [], [with_ncurses=check])
+@@ -195,20 +258,17 @@
+ [], [with_ncursesw=check])
+
+ ax_saved_LIBS=$LIBS
++ ax_saved_CPPFLAGS=$CPPFLAGS
++
+ AS_IF([test "x$with_ncurses" = xyes || test "x$with_ncursesw" = xyes],
+ [ax_with_plaincurses=no], [ax_with_plaincurses=check])
+
+ ax_cv_curses_which=no
+
+ # Test for NcursesW
++ AS_IF([test "x$CURSES_LIBS" = x && test "x$with_ncursesw" != xno], [
++ _FIND_CURSES_FLAGS([ncursesw])
+
+- AS_IF([test "x$CURSES_LIB" = x && test "x$with_ncursesw" != xno], [
+- LIBS="$ax_saved_LIBS -lncursesw"
+-
+- AC_CACHE_CHECK([for NcursesW wide-character library], [ax_cv_ncursesw], [
+- AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])],
+- [ax_cv_ncursesw=yes], [ax_cv_ncursesw=no])
+- ])
+ AS_IF([test "x$ax_cv_ncursesw" = xno && test "x$with_ncursesw" = xyes], [
+ AC_MSG_ERROR([--with-ncursesw specified but could not find NcursesW library])
+ ])
+@@ -216,7 +276,8 @@
+ AS_IF([test "x$ax_cv_ncursesw" = xyes], [
+ ax_cv_curses=yes
+ ax_cv_curses_which=ncursesw
+- CURSES_LIB="-lncursesw"
++ CURSES_LIBS="$pkg_cv__ax_cv_ncursesw_libs"
++ CURSES_CFLAGS="$pkg_cv__ax_cv_ncursesw_cppflags"
+ AC_DEFINE([HAVE_NCURSESW], [1], [Define to 1 if the NcursesW library is present])
+ AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present])
+
+@@ -318,16 +379,13 @@
+ ])
+ ])
+ ])
++ unset pkg_cv__ax_cv_ncursesw_libs
++ unset pkg_cv__ax_cv_ncursesw_cppflags
+
+ # Test for Ncurses
++ AS_IF([test "x$CURSES_LIBS" = x && test "x$with_ncurses" != xno && test "x$ax_cv_curses_which" = xno], [
++ _FIND_CURSES_FLAGS([ncurses])
+
+- AS_IF([test "x$CURSES_LIB" = x && test "x$with_ncurses" != xno && test "x$ax_cv_curses_which" = xno], [
+- LIBS="$ax_saved_LIBS -lncurses"
+-
+- AC_CACHE_CHECK([for Ncurses library], [ax_cv_ncurses], [
+- AC_LINK_IFELSE([AC_LANG_CALL([], [initscr])],
+- [ax_cv_ncurses=yes], [ax_cv_ncurses=no])
+- ])
+ AS_IF([test "x$ax_cv_ncurses" = xno && test "x$with_ncurses" = xyes], [
+ AC_MSG_ERROR([--with-ncurses specified but could not find Ncurses library])
+ ])
+@@ -335,7 +393,8 @@
+ AS_IF([test "x$ax_cv_ncurses" = xyes], [
+ ax_cv_curses=yes
+ ax_cv_curses_which=ncurses
+- CURSES_LIB="-lncurses"
++ CURSES_LIBS="$pkg_cv__ax_cv_ncurses_libs"
++ CURSES_CFLAGS="$pkg_cv__ax_cv_ncurses_cppflags"
+ AC_DEFINE([HAVE_NCURSES], [1], [Define to 1 if the Ncurses library is present])
+ AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present])
+
+@@ -390,12 +449,13 @@
+ ])
+ ])
+ ])
++ unset pkg_cv__ax_cv_ncurses_libs
++ unset pkg_cv__ax_cv_ncurses_cppflags
+
+- # Test for plain Curses (or if CURSES_LIB was set by user)
+-
++ # Test for plain Curses (or if CURSES_LIBS was set by user)
+ AS_IF([test "x$with_plaincurses" != xno && test "x$ax_cv_curses_which" = xno], [
+- AS_IF([test "x$CURSES_LIB" != x], [
+- LIBS="$ax_saved_LIBS $CURSES_LIB"
++ AS_IF([test "x$CURSES_LIBS" != x], [
++ LIBS="$ax_saved_LIBS $CURSES_LIBS"
+ ], [
+ LIBS="$ax_saved_LIBS -lcurses"
+ ])
+@@ -408,8 +468,8 @@
+ AS_IF([test "x$ax_cv_plaincurses" = xyes], [
+ ax_cv_curses=yes
+ ax_cv_curses_which=plaincurses
+- AS_IF([test "x$CURSES_LIB" = x], [
+- CURSES_LIB="-lcurses"
++ AS_IF([test "x$CURSES_LIBS" = x], [
++ CURSES_LIBS="-lcurses"
+ ])
+ AC_DEFINE([HAVE_CURSES], [1], [Define to 1 if a SysV or X/Open compatible Curses library is present])
+
+@@ -515,4 +575,8 @@
+ AS_IF([test "x$ax_cv_curses_obsolete" != xyes], [ax_cv_curses_obsolete=no])
+
+ LIBS=$ax_saved_LIBS
++ CPPFLAGS=$ax_saved_CPPFLAGS
++
++ unset ax_saved_LIBS
++ unset ax_saved_CPPFLAGS
+ ])dnl
+diff -u tlf-1.2.4.5/macros/ax_with_curses_extra.m4 tlf/macros/ax_with_curses_extra.m4
+--- tlf-1.2.4.5/macros/ax_with_curses_extra.m4 2016-11-19 10:22:20.000000000 +0100
++++ tlf/macros/ax_with_curses_extra.m4 2016-12-13 08:06:03.887433760 +0100
+@@ -41,18 +41,22 @@
+ # The following output variables may be defined by these macros; these are
+ # precious and may be overridden on the ./configure command line:
+ #
+-# PANEL_LIB - library to add to xxx_LDADD before CURSES_LIB
+-# MENU_LIB - library to add to xxx_LDADD before CURSES_LIB
+-# FORM_LIB - library to add to xxx_LDADD before CURSES_LIB
+-#
+-# These libraries are NOT added to LIBS by default. You need to add them
+-# to the appropriate xxx_LDADD line in your Makefile.am in front of the
+-# equivalent CURSES_LIB incantation. For example:
++# PANEL_LIBS - library to add to xxx_LDADD before CURSES_LIBS
++# MENU_LIBS - library to add to xxx_LDADD before CURSES_LIBS
++# FORM_LIBS - library to add to xxx_LDADD before CURSES_LIBS
++#
++# In previous versions of this macro, the flags PANEL_LIB, MENU_LIB and
++# FORM_LIB were defined. These have been renamed, in keeping with the
++# variable scheme of PKG_CHECK_MODULES, which should eventually supersede
++# the use of AX_WITH_CURSES and AX_WITH_CURSES_* macros. These libraries
++# are NOT added to LIBS by default. You need to add them to the
++# appropriate xxx_LDADD line in your Makefile.am in front of the
++# equivalent CURSES_LIBS incantation. For example:
+ #
+-# prog_LDADD = @PANEL_LIB@ @CURSES_LIB@
++# prog_LDADD = @PANEL_LIBS@ @CURSES_LIBS@
+ #
+-# If one of the xxx_LIB variables is set on the configure command line
+-# (such as by running "./configure PANEL_LIB=-lmypanel"), then the header
++# If one of the xxx_LIBS variables is set on the configure command line
++# (such as by running "./configure PANEL_LIBS=-lmypanel"), then the header
+ # file searched must NOT contain a subpath. In this case, in other words,
+ # only <panel.h> would be searched for. The user may use the CPPFLAGS
+ # precious variable to override the standard #include search path.
+@@ -144,7 +148,7 @@
+ # modified version of the Autoconf Macro, you may extend this special
+ # exception to the GPL to apply to your modified version as well.
+
+-#serial 2
++#serial 4
+
+ AC_DEFUN([_AX_WITH_CURSES_CHECKEXTRA], [
+ dnl Parameter 1 is the variable name component, using uppercase letters only
+@@ -159,8 +163,11 @@
+ AS_VAR_PUSHDEF([_AX_WITH_CURSES_CHECKEXTRA_have_header_var], [HAVE_[]m4_toupper($4)])dnl
+
+ ax_saved_LIBS=$LIBS
++ ax_saved_CPPFLAGS=$CPPFLAGS
++
+ AC_CACHE_CHECK([for Curses $2 library with $4], [_AX_WITH_CURSES_CHECKEXTRA_header_var], [
+- LIBS="$ax_saved_LIBS $5 $CURSES_LIB"
++ LIBS="$ax_saved_LIBS $5 $CURSES_LIBS"
++ CPPFLAGS="$ax_saved_CPPFLAGS $CURSES_CFLAGS"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ @%:@include <$4>
+ ]], [$3])],
+@@ -169,14 +176,18 @@
+ ])
+ AS_IF([test "x$[]_AX_WITH_CURSES_CHECKEXTRA_header_var" = xyes], [
+ _AX_WITH_CURSES_CHECKEXTRA_cv_var=yes
+- AS_LITERAL_IF([$5], [$1_LIB="$5"])
++ AS_LITERAL_IF([$5], [$1_LIBS="$5"])
+ AC_DEFINE([_AX_WITH_CURSES_CHECKEXTRA_have_var], [1], [Define to 1 if the Curses $2 library is present])
+ AC_DEFINE([_AX_WITH_CURSES_CHECKEXTRA_have_header_var], [1], [Define to 1 if <$4> is present])
+ ], [
+ AS_IF([test "x$[]_AX_WITH_CURSES_CHECKEXTRA_cv_var" = xyes], [],
+ [_AX_WITH_CURSES_CHECKEXTRA_cv_var=no])
+ ])
++
+ LIBS=$ax_saved_LIBS
++ CPPFLAGS=$ax_saved_CPPFLAGS
++ unset ax_saved_LIBS
++ unset ax_saved_CPPFLAGS
+
+ AS_VAR_POPDEF([_AX_WITH_CURSES_CHECKEXTRA_have_header_var])dnl
+ AS_VAR_POPDEF([_AX_WITH_CURSES_CHECKEXTRA_header_var])dnl
+@@ -194,16 +205,18 @@
+ dnl Parameter 7 is the plain Curses library command line
+
+ AC_REQUIRE([AX_WITH_CURSES])
+- AC_ARG_VAR([$1_LIB], [linker library for Curses $2, e.g. $7])
++ AC_ARG_VAR([$1_LIBS], [linker library for Curses $2, e.g. $7])
+
+- AS_IF([test "x$[]$1_LIB" != x], [
+- _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [$4], [$[]$1_LIB])
++ AS_IF([test "x$[]$1_LIBS" != x], [
++ _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [$4], [$[]$1_LIBS])
+ ], [
+ AS_IF([test "x$ax_cv_curses_which" = xncursesw], [
+ _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [ncursesw/$4], [$5])
+ ], [test "x$ax_cv_curses_which" = xncurses], [
+- _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [ncurses/$4], [$6])
+ _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [$4], [$6])
++ AS_IF([test x$[]ax_cv_[]m4_tolower($1) != "xyes"], [
++ _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [ncurses/$4], [$6])
++ ])
+ ], [test "x$ax_cv_curses_which" = xplaincurses], [
+ _AX_WITH_CURSES_CHECKEXTRA([$1], [$2], [$3], [$4], [$7])
+ ])
+diff -u tlf-1.2.4.5/src/Makefile.am tlf/src/Makefile.am
+--- tlf-1.2.4.5/src/Makefile.am 2016-11-19 10:22:20.000000000 +0100
++++ tlf/src/Makefile.am 2016-12-13 08:12:33.146327500 +0100
+@@ -1,5 +1,5 @@
+ AM_CPPFLAGS = @GLIB_CFLAGS@ -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\"
+-AM_CFLAGS = @AM_CFLAGS@ @PTHREAD_CFLAGS@ @HAMLIB_CFLAGS@
++AM_CFLAGS = @AM_CFLAGS@ @PTHREAD_CFLAGS@ @HAMLIB_CFLAGS@ @CURSES_CFLAGS@
+
+ bin_PROGRAMS = tlf
+
+@@ -33,8 +33,9 @@
+ write_keyer.c writecabrillo.c writeparas.c \
+ zone_nr.c
+
+-tlf_LDADD = @LIBM_LIB@ @PTHREAD_LIBS@ @GLIB_LIBS@ @PANEL_LIB@ @CURSES_LIB@ @HAMLIB_LIBS@ \
+- @LIBXMLRPC_LIB@ @LIBXMLRPC_CLIENT_LIB@ @LIBXMLRPC_UTIL_LIB@
++tlf_LDADD = @LIBM_LIB@ @PTHREAD_LIBS@ @GLIB_LIBS@ @PANEL_LIBS@ @CURSES_LIBS@ \
++ @HAMLIB_LIBS@ @LIBXMLRPC_LIB@ @LIBXMLRPC_CLIENT_LIB@ \
++ @LIBXMLRPC_UTIL_LIB@
+
+ noinst_HEADERS = \
+ addarea.h addcall.h addmult.h addpfx.h addspot.h audio.h autocq.h \
diff --git a/media-radio/tlf/tlf-1.2.4.1.ebuild b/media-radio/tlf/tlf-1.2.4.1.ebuild
index ba691faa9e32..19ea920ae8c0 100644
--- a/media-radio/tlf/tlf-1.2.4.1.ebuild
+++ b/media-radio/tlf/tlf-1.2.4.1.ebuild
@@ -4,7 +4,7 @@
EAPI="5"
-inherit flag-o-matic multilib
+inherit autotools eutils flag-o-matic multilib
DESCRIPTION="Console-mode amateur radio contest logger"
HOMEPAGE="http://home.iae.nl/users/reinc/TLF-0.2.html"
@@ -22,6 +22,11 @@ RDEPEND="sys-libs/ncurses:=
dev-libs/xmlrpc-c[curl]"
DEPEND="${RDEPEND}"
+src_prepare() {
+ epatch "${FILESDIR}/ncurses_tinfo.patch"
+ eautoreconf
+}
+
src_configure() {
append-ldflags -L/usr/$(get_libdir)/hamlib
econf --docdir=/usr/share/doc/${PF} --enable-hamlib --enable-fldigi-xmlrpc
diff --git a/media-radio/tlf/tlf-1.2.4.5.ebuild b/media-radio/tlf/tlf-1.2.4.5.ebuild
index ff13bba6cbbf..3bcb85227569 100644
--- a/media-radio/tlf/tlf-1.2.4.5.ebuild
+++ b/media-radio/tlf/tlf-1.2.4.5.ebuild
@@ -4,7 +4,7 @@
EAPI="5"
-inherit flag-o-matic multilib
+inherit autotools eutils flag-o-matic multilib
DESCRIPTION="Console-mode amateur radio contest logger"
HOMEPAGE="http://home.iae.nl/users/reinc/TLF-0.2.html"
@@ -22,6 +22,11 @@ RDEPEND="sys-libs/ncurses:=
dev-libs/xmlrpc-c[curl]"
DEPEND="${RDEPEND}"
+src_prepare() {
+ epatch "${FILESDIR}/ncurses_tinfo.patch"
+ eautoreconf
+}
+
src_configure() {
append-ldflags -L/usr/$(get_libdir)/hamlib
econf --docdir=/usr/share/doc/${PF} --enable-hamlib --enable-fldigi-xmlrpc