summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-03-12 02:49:06 +0000
committerSam James <sam@gentoo.org>2024-03-12 02:49:06 +0000
commit4a64470630d064066a66fb31291796c346616a0f (patch)
treedbe7a962590ca8c823eb3a66cc2806551f6ea30b /app-misc/gcal
parentapp-misc/gcal: fix tests when gcal not installed (diff)
downloadgentoo-4a64470630d064066a66fb31291796c346616a0f.tar.gz
gentoo-4a64470630d064066a66fb31291796c346616a0f.tar.bz2
gentoo-4a64470630d064066a66fb31291796c346616a0f.zip
app-misc/gcal: fix ncurses detection w/ split tinfo
This may fix bug #752126 (not betting on it, but still). If it doesn't, perhaps using ncursesw would...? Bug: https://bugs.gentoo.org/752126 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-misc/gcal')
-rw-r--r--app-misc/gcal/files/gcal-4.1-fix-ncurses.patch38
-rw-r--r--app-misc/gcal/gcal-4.1-r3.ebuild63
2 files changed, 101 insertions, 0 deletions
diff --git a/app-misc/gcal/files/gcal-4.1-fix-ncurses.patch b/app-misc/gcal/files/gcal-4.1-fix-ncurses.patch
new file mode 100644
index 000000000000..f429a0121d39
--- /dev/null
+++ b/app-misc/gcal/files/gcal-4.1-fix-ncurses.patch
@@ -0,0 +1,38 @@
+Without this, it'd silently (well, with a small warning in configure) fall back
+to no fancy tty stuff.
+--- a/configure.ac
++++ b/configure.ac
+@@ -319,6 +319,13 @@ if test "$gcal_cv_use_term" = yes; then
+ AC_MSG_CHECKING(for working terminal libraries)
+ SAVE_LIBS=$LIBS
+ LIBS="$LIBS $TTYLIBS"
++
++ PKG_CHECK_MODULES([NCURSES], [ncurses], [
++ TTYLIBS=$NCURSES_LIBS
++ CPPFLAGS="$NCURSES_CFLAGS $CPPFLAGS"
++ AC_DEFINE([HAVE_TTYLIBS], [1], [Link -lncurses or -ltermcap or -ltermlib to executable.])
++ AC_MSG_RESULT(using $TTYLIBS)
++ ], [
+ AC_TRY_LINK([#include <term.h>],
+ [tgetent(0); tgetflag(0); tgetnum(0); tgetstr(0);],
+ [gcal_ttylibs_ok=yes])
+@@ -385,7 +392,7 @@ if test "$gcal_cv_use_term" = yes; then
+ AC_MSG_WARN(note: $PACKAGE-$VERSION would work more flexible if libncurses.a)
+ AC_MSG_WARN(libtermcap.a or libtermlib.a are installed.)
+ AC_MSG_RESULT()
+- fi
++ fi])
+ fi
+
+ dnl
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -22,7 +22,7 @@ MISC_LIBS = @LIBM@ @LIBS@
+ LIBS = $(MISC_LIBS)
+
+ AM_CFLAGS = -I$(top_srcdir)/lib -I$(srcdir) -I.. $(CPPFLAGS)
+-LDADD = ../lib/libgnu.a $(LIBINTL)
++LDADD = ../lib/libgnu.a $(LIBINTL) $(TTYLIBS) $(NCURSES_LIBS)
+
+ SRCS = \
+ file-io.c \
diff --git a/app-misc/gcal/gcal-4.1-r3.ebuild b/app-misc/gcal/gcal-4.1-r3.ebuild
new file mode 100644
index 000000000000..7af1a01b9d17
--- /dev/null
+++ b/app-misc/gcal/gcal-4.1-r3.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="The GNU Calendar - a replacement for cal"
+HOMEPAGE="https://www.gnu.org/software/gcal/"
+SRC_URI="mirror://gnu/gcal/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="ncurses nls unicode"
+
+RDEPEND="nls? ( virtual/libintl )
+ unicode? ( dev-libs/libunistring:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/xz-utils
+ nls? ( >=sys-devel/gettext-0.17 )
+"
+
+DOCS=( BUGS LIMITATIONS NEWS README THANKS TODO )
+
+PATCHES=(
+ "${FILESDIR}/${P}-glibc228.patch"
+ "${FILESDIR}/${PN}-4.1-configure-clang16.patch"
+ "${FILESDIR}/${P}-fortify.patch"
+ "${FILESDIR}/${PN}-4.1-fix-ncurses.patch"
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ append-cppflags -D_GNU_SOURCE
+
+ use unicode && append-libs -lunistring
+
+ econf \
+ --disable-rpath \
+ $(use_enable nls) \
+ $(use_enable ncurses term) \
+ $(use_enable unicode)
+}
+
+src_test() {
+ default
+
+ # Do basic smoke tests to help catch issues like bug #925560
+ # where trivial 'gcal' invocation crashed w/ _F_S=3.
+ local -x PATH="${S}/src:${S}:${PATH}"
+ local bin
+ for bin in gcal2txt tcal txt2gcal gcal ; do
+ src/${bin} || die
+ done
+}