diff options
author | Sam James <sam@gentoo.org> | 2023-07-17 23:02:52 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-07-17 23:03:32 +0100 |
commit | 4835fedb1257d15d871c885e19b8fecfff78abfd (patch) | |
tree | ca21b6ddf7d9bfb1eb6f6049e1e1c726bfbe7b2a /sys-apps/less | |
parent | media-sound/fluidsynth: Stabilize 2.3.3 amd64, #910418 (diff) | |
download | gentoo-4835fedb1257d15d871c885e19b8fecfff78abfd.tar.gz gentoo-4835fedb1257d15d871c885e19b8fecfff78abfd.tar.bz2 gentoo-4835fedb1257d15d871c885e19b8fecfff78abfd.zip |
sys-apps/less: fix tinfo linkage, add LFS
Thanks to ionen and kerframil for doing the hard work here wrt tinfo, just
doing the then-obvious patch as a result.
Also, while at it, enable large file support.
Closes: https://bugs.gentoo.org/896316
Closes: https://bugs.gentoo.org/910430
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps/less')
-rw-r--r-- | sys-apps/less/files/less-633-tinfow.patch | 52 | ||||
-rw-r--r-- | sys-apps/less/less-633-r2.ebuild | 86 | ||||
-rw-r--r-- | sys-apps/less/less-9999.ebuild | 8 |
3 files changed, 145 insertions, 1 deletions
diff --git a/sys-apps/less/files/less-633-tinfow.patch b/sys-apps/less/files/less-633-tinfow.patch new file mode 100644 index 000000000000..82ea458cd008 --- /dev/null +++ b/sys-apps/less/files/less-633-tinfow.patch @@ -0,0 +1,52 @@ +https://github.com/gwsw/less/pull/403 + +From 23000c286773af153a5743bc923465707b87613b Mon Sep 17 00:00:00 2001 +From: Sam James <sam@gentoo.org> +Date: Mon, 17 Jul 2023 22:58:27 +0100 +Subject: [PATCH] configure.ac: Check for tinfow before tinfo + +We currently check for ncursesw > ncurses and then tinfo > tinfow. This means +we can get a mismatch of ncursesw + tinfo, instead of the correct ncursesw + tinfow. + +Swap the order so we check for ncursesw first (before other ncurses variants) +and then tinfow first (before other tinfo variants). + +This is needed anyway for correctness, but also needed for certain terminfos +to work correctly with recent ncurses. + +A better fix would be to use pkg-config first which handles this correctly +and would include the appropriate -ltinfo* in the libraries list for -lncurses*, +but not doing that for now. + +Bug: https://bugs.gentoo.org/910430 +--- a/configure.ac ++++ b/configure.ac +@@ -63,10 +63,10 @@ fi + + if test $curses_broken = 0; then + +-# -- Try tinfo. ++# -- Try tinfow. + if test "x$TERMLIBS" = x; then +- if test $have_tinfo = yes; then +- TERMLIBS="-ltinfo" ++ if test $have_tinfow = yes; then ++ TERMLIBS="-ltinfow" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[$include_termcap_h]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no]) +@@ -75,10 +75,10 @@ if test "x$TERMLIBS" = x; then + fi + fi + +-# -- Try tinfow. ++# -- Try tinfo. + if test "x$TERMLIBS" = x; then +- if test $have_tinfow = yes; then +- TERMLIBS="-ltinfow" ++ if test $have_tinfo = yes; then ++ TERMLIBS="-ltinfo" + SAVE_LIBS=$LIBS + LIBS="$LIBS $TERMLIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[$include_termcap_h]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no]) + diff --git a/sys-apps/less/less-633-r2.ebuild b/sys-apps/less/less-633-r2.ebuild new file mode 100644 index 000000000000..5d22949f4f80 --- /dev/null +++ b/sys-apps/less/less-633-r2.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_AUTOMAKE=none +WANT_LIBTOOL=none + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/gwsw/less" + inherit git-r3 +fi + +inherit autotools flag-o-matic optfeature + +# Releases are usually first a beta then promoted to stable if no +# issues were found. Upstream explicitly ask "to not generally distribute" +# the beta versions. It's okay to keyword beta versions if they fix +# a serious bug, but otherwise try to avoid it. + +MY_PV=${PV/_beta/-beta} +MY_P=${PN}-${MY_PV} +DESCRIPTION="Excellent text file viewer" +HOMEPAGE="https://www.greenwoodsoftware.com/less/" +[[ ${PV} != 9999 ]] && SRC_URI="https://www.greenwoodsoftware.com/less/${MY_P}.tar.gz" +S="${WORKDIR}"/${MY_P/?beta} + +LICENSE="|| ( GPL-3 BSD-2 )" +SLOT="0" +if [[ ${PV} != 9999 && ${PV} != *_beta* ]] ; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +fi +IUSE="pcre" +# As of 623_beta, lesstest is not included in dist tarballs +# https://github.com/gwsw/less/issues/344 +RESTRICT="test" + +DEPEND=" + >=app-misc/editor-wrapper-3 + >=sys-libs/ncurses-5.2:= + pcre? ( dev-libs/libpcre2 ) +" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${PN}-633-tinfow.patch +) + +src_prepare() { + default + # Per upstream README to prepare live build + [[ ${PV} == 9999 ]] && emake -f Makefile.aut distfiles + # Upstream uses unpatched autoconf-2.69, which breaks with clang-16. + # https://bugs.gentoo.org/870412 + eautoreconf +} + +src_configure() { + append-lfs-flags # bug #896316 + + local myeconfargs=( + --with-regex=$(usex pcre pcre2 posix) + --with-editor="${EPREFIX}"/usr/libexec/editor + ) + econf "${myeconfargs[@]}" +} + +src_test() { + emake check VERBOSE=1 +} + +src_install() { + default + + newbin "${FILESDIR}"/lesspipe-r2.sh lesspipe + newenvd "${FILESDIR}"/less.envd 70less +} + +pkg_preinst() { + optfeature "Colorized output supprt" dev-python/pygments + + if has_version "<${CATEGORY}/${PN}-483-r1" ; then + elog "The lesspipe.sh symlink has been dropped. If you are still setting" + elog "LESSOPEN to that, you will need to update it to '|lesspipe %s'." + fi +} diff --git a/sys-apps/less/less-9999.ebuild b/sys-apps/less/less-9999.ebuild index c6edffba45d8..5d22949f4f80 100644 --- a/sys-apps/less/less-9999.ebuild +++ b/sys-apps/less/less-9999.ebuild @@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]]; then inherit git-r3 fi -inherit autotools optfeature +inherit autotools flag-o-matic optfeature # Releases are usually first a beta then promoted to stable if no # issues were found. Upstream explicitly ask "to not generally distribute" @@ -42,6 +42,10 @@ DEPEND=" " RDEPEND="${DEPEND}" +PATCHES=( + "${FILESDIR}"/${PN}-633-tinfow.patch +) + src_prepare() { default # Per upstream README to prepare live build @@ -52,6 +56,8 @@ src_prepare() { } src_configure() { + append-lfs-flags # bug #896316 + local myeconfargs=( --with-regex=$(usex pcre pcre2 posix) --with-editor="${EPREFIX}"/usr/libexec/editor |