diff options
author | Sam James <sam@gentoo.org> | 2024-03-12 02:49:06 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2024-03-12 02:49:06 +0000 |
commit | 4a64470630d064066a66fb31291796c346616a0f (patch) | |
tree | dbe7a962590ca8c823eb3a66cc2806551f6ea30b /app-misc/gcal | |
parent | app-misc/gcal: fix tests when gcal not installed (diff) | |
download | gentoo-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.patch | 38 | ||||
-rw-r--r-- | app-misc/gcal/gcal-4.1-r3.ebuild | 63 |
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 +} |