gnu: tree: Fix problem with no output when fd3 is present.

* gnu/packages/patches/tree-disable-stddata.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/admin.scm (tree)[source](patches): New field.
This commit is contained in:
Marius Bakke 2022-01-15 14:59:49 +01:00
parent 98af365b68
commit bd4f314bba
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
3 changed files with 19 additions and 1 deletions

View File

@ -1859,8 +1859,9 @@ dist_patch_DATA = \
gnu/packages/patches/tootle-glib-object-naming.patch \
gnu/packages/patches/tootle-reason-phrase.patch \
%D%/packages/patches/tor-sandbox-i686.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transmission-honor-localedir.patch \
%D%/packages/patches/tree-disable-stddata.patch \
%D%/packages/patches/tremc-fix-decodestring.patch \
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.patch \

View File

@ -2401,6 +2401,7 @@ recover lost partitions and/or make non-booting disks bootable again.")
(uri (string-append
"http://mama.indstate.edu/users/ice/tree/src/tree-"
version ".tgz"))
(patches (search-patches "tree-disable-stddata.patch"))
(sha256
(base32 "0f92vx6gpz7v29wi9clklzah57v7lgx5kv0m1w4b9xjc35d9qcz3"))))
(build-system gnu-build-system)

View File

@ -0,0 +1,16 @@
Tree 2.0.0 and later will write its output in JSON format on fd3 if
present, instead of the requested output on fd1, which breaks e.g.
'password-store' tests. Disable for now; upstream has been notified.
diff --git a/tree.c b/tree.c
--- a/tree.c
+++ b/tree.c
@@ -133,7 +133,7 @@ int main(int argc, char **argv)
mb_cur_max = 1;
#endif
-#ifdef __linux__
+#if 0
// Output JSON automatically to "stddata" if present:
if (fcntl(STDDATA_FILENO, F_GETFD) >= 0) {
Jflag = noindent = TRUE;