summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-07-17 23:02:52 +0100
committerSam James <sam@gentoo.org>2023-07-17 23:03:32 +0100
commit4835fedb1257d15d871c885e19b8fecfff78abfd (patch)
treeca21b6ddf7d9bfb1eb6f6049e1e1c726bfbe7b2a /sys-apps/less
parentmedia-sound/fluidsynth: Stabilize 2.3.3 amd64, #910418 (diff)
downloadgentoo-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.patch52
-rw-r--r--sys-apps/less/less-633-r2.ebuild86
-rw-r--r--sys-apps/less/less-9999.ebuild8
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