summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-01-15 14:59:49 +0100
committerMarius Bakke <marius@gnu.org>2022-01-15 15:18:31 +0100
commitbd4f314bbacaaa56751be3a4769f2082be747d24 (patch)
treea33394ed13b5ffc74cecb615f1f1a318b098c8c0
parent98af365b6842879ac5d7e232dc9bb62903630f46 (diff)
downloadguix-bd4f314bbacaaa56751be3a4769f2082be747d24.tar.gz
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.
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/admin.scm1
-rw-r--r--gnu/packages/patches/tree-disable-stddata.patch16
3 files changed, 19 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f72d2680af..0eed20e7af 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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	\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f11374a439..0dec988d6a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -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)
diff --git a/gnu/packages/patches/tree-disable-stddata.patch b/gnu/packages/patches/tree-disable-stddata.patch
new file mode 100644
index 0000000000..52ca6e25f4
--- /dev/null
+++ b/gnu/packages/patches/tree-disable-stddata.patch
@@ -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;