* [gentoo-commits] repo/gentoo:master commit in: app-text/lesspipe/, app-text/lesspipe/files/
@ 2021-08-09 3:47 Sam James
0 siblings, 0 replies; only message in thread
From: Sam James @ 2021-08-09 3:47 UTC (permalink / raw
To: gentoo-commits
commit: 99fca65929712594962c5a6d671781311e2b76a9
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 9 02:17:04 2021 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug 9 03:25:35 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99fca659
app-text/lesspipe: make progress on running tests
* Tests still fail in 1.87 but let's run them in debug
mode at least to get some more useful output on failures.
* Applies an upstream patch for the majority of issues
* Drops one particularly fragile/unreliable test
* Uses LC_ALL to fix remaining failures
The test suite now passes when lesspipe is
not installed, at least. Spent too much
time on this for now to debug further, but
this is an improvement.
Bug: https://bugs.gentoo.org/734896
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../lesspipe/files/lesspipe-1.87-fix-tests.patch | 76 ++++++++++++++++++++++
app-text/lesspipe/lesspipe-1.87.ebuild | 26 ++++++--
2 files changed, 98 insertions(+), 4 deletions(-)
diff --git a/app-text/lesspipe/files/lesspipe-1.87-fix-tests.patch b/app-text/lesspipe/files/lesspipe-1.87-fix-tests.patch
new file mode 100644
index 00000000000..c52e4c0957e
--- /dev/null
+++ b/app-text/lesspipe/files/lesspipe-1.87-fix-tests.patch
@@ -0,0 +1,76 @@
+https://github.com/wofr06/lesspipe/commit/428062937e99f5a5da5c5f94fecba5b13557d973.patch
+
+Dropped ChangeLog + README hunks, but not weeded out the tiny MP4 change.
+
+From 428062937e99f5a5da5c5f94fecba5b13557d973 Mon Sep 17 00:00:00 2001
+From: wf <wp.friebelgmail.com>
+Date: Sun, 8 Aug 2021 21:26:17 +0200
+Subject: [PATCH] make all tests in the test suite work
+
+---
+ lesspipe.sh | 6 +++---
+ lesspipe.sh.in | 6 +++---
+ 4 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/lesspipe.sh b/lesspipe.sh
+index 0bf3cb9..22c10b2 100755
+--- a/lesspipe.sh
++++ b/lesspipe.sh
+@@ -54,7 +54,7 @@ filecmd() {
+ TMPDIR=${TMPDIR:-/tmp}
+ sep=: # file name separator
+ altsep== # alternate separator character
+-if [[ -e "$1" && "$1" = *$sep* || "$1" = *$sep*$altsep* ]]; then
++if [[ -e "$1" && "$1" = *$sep* ]]; then
+ sep=$altsep
+ xxx="${1%=}"
+ set "$xxx"
+@@ -773,7 +773,7 @@ isfinal() {
+ elif [[ "$PARSEHTML" = yes && "$1" = *HTML$NOL_A_P* ]]; then
+ msg "append $sep to filename to view the HTML source"
+ parsehtml "$2"
+- elif [[ "$1" = *pdf* ]] && cmd_exist pdftotext; then
++ elif [[ "$1" = *pdf* || "$1" = *PDF* ]] && cmd_exist pdftotext; then
+ if [[ "$PARSEHTML" = yes ]]; then
+ msg "append $sep to filename to view the PDF source"
+ istemp "pdftotext -htmlmeta -nopgbrk -q --" "$2" - | parsehtml -
+@@ -952,7 +952,7 @@ isfinal() {
+ elif [[ "$1" = *mp3* ]] && cmd_exist id3v2; then
+ msg "append $sep to filename to view the raw data"
+ istemp "id3v2 --list" "$2"
+- elif [[ "$1" = *image* || "$1" = *mp3* || "$1" = *audio* || "$1" = *video* ]] && cmd_exist mediainfo; then
++ elif [[ "$1" = *image* || "$1" = *mp3* || "$1" = *MP4* || "$1" = *audio* || "$1" = *video* ]] && cmd_exist mediainfo; then
+ msg "append $sep to filename to view the raw data"
+ mediainfo --Full "$2"
+ elif [[ "$1" = *image* || "$1" = *mp3* || "$1" = *audio* || "$1" = *video* ]] && cmd_exist exiftool; then
+diff --git a/lesspipe.sh.in b/lesspipe.sh.in
+index 8819dad..a099a84 100755
+--- a/lesspipe.sh.in
++++ b/lesspipe.sh.in
+@@ -56,7 +56,7 @@ TMPDIR=${TMPDIR:-/tmp}
+ sep=: # file name separator
+ altsep== # alternate separator character
+ # if the separator is part of the file name then altsep is used
+-if [[ -e "$1" && "$1" = *$sep* || "$1" = *$sep*$altsep* ]]; then
++if [[ -e "$1" && "$1" = *$sep* ]]; then
+ sep=$altsep
+ xxx="${1%=}"
+ set "$xxx"
+@@ -942,7 +942,7 @@ isfinal() {
+ msg "append $sep to filename to view the HTML source"
+ parsehtml "$2"
+ #ifdef pdftotext
+- elif [[ "$1" = *pdf* ]] && cmd_exist pdftotext; then
++ elif [[ "$1" = *pdf* || "$1" = *PDF* ]] && cmd_exist pdftotext; then
+ if [[ "$PARSEHTML" = yes ]]; then
+ msg "append $sep to filename to view the PDF source"
+ istemp "pdftotext -htmlmeta -nopgbrk -q --" "$2" - | parsehtml -
+@@ -1202,7 +1202,7 @@ isfinal() {
+ mp3info "$2"
+ #endif
+ #ifdef mediainfo
+- elif [[ "$1" = *image* || "$1" = *mp3* || "$1" = *audio* || "$1" = *video* ]] && cmd_exist mediainfo; then
++ elif [[ "$1" = *image* || "$1" = *mp3* || "$1" = *MP4* || "$1" = *audio* || "$1" = *video* ]] && cmd_exist mediainfo; then
+ msg "append $sep to filename to view the raw data"
+ mediainfo --Full "$2"
+ #ifdef exiftool
diff --git a/app-text/lesspipe/lesspipe-1.87.ebuild b/app-text/lesspipe/lesspipe-1.87.ebuild
index 3c79bc7fd3c..2189709e053 100644
--- a/app-text/lesspipe/lesspipe-1.87.ebuild
+++ b/app-text/lesspipe/lesspipe-1.87.ebuild
@@ -3,34 +3,52 @@
EAPI=7
-DESCRIPTION="a preprocessor for less"
+DESCRIPTION="A preprocessor for less"
HOMEPAGE="https://github.com/wofr06/lesspipe"
SRC_URI="https://github.com/wofr06/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE=""
# Tests are broken in 1.84, 1.85.
+# Still fragile in 1.87. Passes when lesspipe is not installed.
# Please check again on bumps!
# bug #734896
-RESTRICT="test"
DEPEND="dev-lang/perl"
RDEPEND="${DEPEND}
!<sys-apps/less-483-r1"
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-tests.patch
+)
+
+src_prepare() {
+ default
+
+ # Drop a failing test. Not ideal, however:
+ # The test suite for this package is pretty fragile; it's more valuable
+ # to have _something_ failing/passing overall, than relying on a single
+ # test which seems to fail due to an unpredictable external command.
+ sed -i -e '/#needs pstotext ps2ascii/d' TESTCMDS || die
+}
+
src_configure() {
# Not an autoconf script.
./configure --fixed || die
}
src_compile() {
- # Nothing to build.
+ # Nothing to build (avoids the "all" target)
:
}
+src_test() {
+ # LC_ALL=C manages to fix one test failure
+ LC_ALL=C ./test.pl -d || die "Tests failed!"
+}
+
src_install() {
emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
einstalldocs
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-08-09 3:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-09 3:47 [gentoo-commits] repo/gentoo:master commit in: app-text/lesspipe/, app-text/lesspipe/files/ Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox