GNU bug report logs - #53324
[PATCH] gnu: Add uftrace.

Previous Next

Package: guix-patches;

Reported by: Olivier Dion <olivier.dion <at> polymtl.ca>

Date: Mon, 17 Jan 2022 19:21:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 53324 in the body.
You can then email your comments to 53324 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Mon, 17 Jan 2022 19:21:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Olivier Dion <olivier.dion <at> polymtl.ca>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 17 Jan 2022 19:21:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Olivier Dion <olivier.dion <at> polymtl.ca>
To: guix-patches <at> gnu.org
Cc: Olivier Dion <olivier.dion <at> polymtl.ca>
Subject: [PATCH] gnu: Add uftrace.
Date: Mon, 17 Jan 2022 14:20:09 -0500
* gnu/packages/instrumentation.scm: (uftrace): New variable.
---
 gnu/packages/instrumentation.scm | 68 +++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 86b80d65ec..9aafc28181 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -23,11 +23,16 @@ (define-module (gnu packages instrumentation)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages engineering)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages libunwind)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
@@ -43,7 +48,8 @@ (define-module (gnu packages instrumentation)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages))
+  #:use-module (guix packages)
+  #:use-module (guix utils))
 
 (define-public babeltrace
   (package
@@ -238,3 +244,63 @@ (define-public lttng-tools
 line for tracing control, a @code{lttng-ctl} library for tracing control and a
 @code{lttng-relayd} for network streaming.")
     (license (list  license:gpl2 license:lgpl2.1))))
+
+(define-public uftrace
+  (package
+    (name "uftrace")
+    (version "0.11")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/namhyung/uftrace")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32 "0gk0hv3rnf5czvazz1prg21rf9qlniz42g5b389n8a29hqj4q6xr"))))
+    (build-system gnu-build-system)
+    (arguments `(#:make-flags
+                 (list
+                  (string-append "CC=" ,(cc-for-target)))
+                 ;; runtest hang at some point -- probably dues to
+                 ;; failed socket connection -- but we want to keep the
+                 ;; unit tests.  Change the target to "test" when fixed.
+                 #:test-target "unittest"
+                 #:phases
+                 (modify-phases %standard-phases
+                   (replace 'configure
+                     (lambda* (#:key inputs outputs #:allow-other-keys)
+                       (setenv "SHELL" (which "sh"))
+                       (invoke "./configure"
+                               (string-append "--prefix="
+                                              (assoc-ref outputs "out")))))
+
+                   (add-after 'unpack 'patch-python-shebangs
+                     (lambda _
+                       (let ([python (which "python3")])
+                         (for-each (lambda (path)
+                                     (substitute* path
+                                       (("/usr/bin/env python") python)))
+                                   (cons "misc/gen-autoargs.py"
+                                         (find-files "tests" "\\.py$")))))))))
+    ;; NOTE!  User should add python-3 and luajit to their profile if they
+    ;; want to do scripting.
+    (propagated-inputs
+     (list
+      capstone
+      elfutils
+      libunwind
+      ncurses))
+    (native-inputs
+     (list
+      luajit
+      pandoc
+      pkg-config
+      python-3))
+    (home-page "https://github.com/namhyung/uftrace")
+    (synopsis "Function graph tracer for C/C++/Rust")
+    (description "uftrace is a tool for tracing and analyzing the execution of
+programs written in C/C++.  It is heavily inspired by the ftrace framework of
+the Linux kernel, while supporting userspace programs.  It supports various
+kind of commands and filters to help analysis of the program execution and
+performance.  It provides the command @command{uftrace}.")
+    (license license:gpl2)))
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Mon, 17 Jan 2022 19:35:02 GMT) Full text and rfc822 format available.

Message #8 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Olivier Dion <olivier.dion <at> polymtl.ca>, 53324 <at> debbugs.gnu.org
Subject: Re: [bug#53324] [PATCH] gnu: Add uftrace.
Date: Mon, 17 Jan 2022 20:34:33 +0100
[Message part 1 (text/plain, inline)]
Olivier Dion via Guix-patches via schreef op ma 17-01-2022 om 14:20 [-
0500]:
> +    ;; NOTE!  User should add python-3 and luajit to their profile if they
> +    ;; want to do scripting.

This information seems more suite for ‘description’

> +    (propagated-inputs
> +     (list
> +      capstone
> +      elfutils
> +      libunwind
> +      ncurses))

Do these need to be propagated, or can the propagation be avoided with
sufficient application of 'substitute*'?  Propagation can cause profile
collisions which can be difficult to resolve.

> +      ncurses))

If 'ncurses' is used (and depropagated), you probably need to add the
search paths of ncurses (TERMINFO_DIRS) to make sure Guix knows to set
TERMINFO_DIRS.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Mon, 17 Jan 2022 19:40:01 GMT) Full text and rfc822 format available.

Message #11 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Olivier Dion <olivier.dion <at> polymtl.ca>, 53324 <at> debbugs.gnu.org
Subject: Re: [bug#53324] [PATCH] gnu: Add uftrace.
Date: Mon, 17 Jan 2022 20:39:37 +0100
[Message part 1 (text/plain, inline)]
Olivier Dion via Guix-patches via schreef op ma 17-01-2022 om 14:20 [-
0500]:
> +                       (invoke "./configure" [...]

Looking at the configure script, for cross-compilation, you need to set
--arch and --cross-compile.
                               
> +                       (let ([python (which "python3")])

Guix doesn't use [ square brackets ].

> +                         (for-each (lambda (path)
> +                                     (substitute* path
> +                                       (("/usr/bin/env python") python)))
> +                                   (cons "misc/gen-autoargs.py"

If you use 'python-wrapper' instead of 'python3', then the
'patch-shebangs' phase should take care of this automatically.


[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Mon, 17 Jan 2022 21:03:01 GMT) Full text and rfc822 format available.

Message #14 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Olivier Dion <olivier.dion <at> polymtl.ca>
To: Maxime Devos <maximedevos <at> telenet.be>, 53324 <at> debbugs.gnu.org
Subject: Re: [bug#53324] [PATCH] gnu: Add uftrace.
Date: Mon, 17 Jan 2022 16:02:40 -0500
On Mon, 17 Jan 2022, Maxime Devos <maximedevos <at> telenet.be> wrote:
> Olivier Dion via Guix-patches via schreef op ma 17-01-2022 om 14:20 [-
> 0500]:
>> +                       (invoke "./configure" [...]
>
> Looking at the configure script, for cross-compilation, you need to set
> --arch and --cross-compile.
>                                
>> +                       (let ([python (which "python3")])

Thanks for the quick review!  I'm in the process of adding cross
compilation (currently building for aarch64).

In the mean time, would you have an idea on how to fix __FILE__ for the
build?  uftrace uses it for logging and it ends up expanding to
`/tmp/guix-build*/source/*`.  I tried to change the `srcdir` in the
various Makefile without much success.

-- 
Olivier Dion
Polymtl




Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Mon, 17 Jan 2022 21:26:01 GMT) Full text and rfc822 format available.

Message #17 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Olivier Dion <olivier.dion <at> polymtl.ca>
To: 53324 <at> debbugs.gnu.org
Cc: Olivier Dion <olivier.dion <at> polymtl.ca>
Subject: [PATCH v2] gnu: Add uftrace.
Date: Mon, 17 Jan 2022 16:25:11 -0500
* gnu/packages/instrumentation.scm: (uftrace): New variable.
---
 gnu/packages/instrumentation.scm | 72 +++++++++++++++++++++++++++++++-
 1 file changed, 71 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 86b80d65ec..29c15d1deb 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -23,11 +23,16 @@ (define-module (gnu packages instrumentation)
   #:use-module (gnu packages datastructures)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages engineering)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages haskell-xyz)
+  #:use-module (gnu packages libunwind)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
@@ -43,7 +48,8 @@ (define-module (gnu packages instrumentation)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages))
+  #:use-module (guix packages)
+  #:use-module (guix utils))
 
 (define-public babeltrace
   (package
@@ -238,3 +244,67 @@ (define-public lttng-tools
 line for tracing control, a @code{lttng-ctl} library for tracing control and a
 @code{lttng-relayd} for network streaming.")
     (license (list  license:gpl2 license:lgpl2.1))))
+
+(define-public uftrace
+  (package
+    (name "uftrace")
+    (version "0.11")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/namhyung/uftrace")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32 "0gk0hv3rnf5czvazz1prg21rf9qlniz42g5b389n8a29hqj4q6xr"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list
+        (string-append "CC=" ,(cc-for-target)))
+       ;; runtest hang at some point -- probably dues to
+       ;; failed socket connection -- but we want to keep the
+       ;; unit tests.  Change the target to "test" when fixed.
+       #:test-target "unittest"
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key outputs target #:allow-other-keys)
+             (let ((arch ,(system->linux-architecture
+                           (or (%current-target-system)
+                               (%current-system)))))
+               (setenv "ARCH"
+                       (cond
+                        ((string=? arch "arm64") "aarch64")
+                        (else arch)))
+               (when target
+                 (setenv "CROSS_COMPILE" (string-append target "-"))))
+             (setenv "SHELL" (which "sh"))
+             (invoke "./configure"
+                     (string-append "--prefix="
+                                    (assoc-ref outputs "out"))))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "TERMINFO_DIRS")
+            (files '("share/terminfo")))))
+    (inputs
+     (list
+      capstone
+      elfutils
+      libunwind
+      ncurses))
+    (native-inputs
+     (list
+      luajit
+      pandoc
+      pkg-config
+      python-wrapper))
+    (home-page "https://github.com/namhyung/uftrace")
+    (synopsis "Function graph tracer for C/C++/Rust")
+    (description "uftrace is a tool for tracing and analyzing the execution of
+programs written in C/C++.  It is heavily inspired by the ftrace framework of
+the Linux kernel, while supporting userspace programs.  It supports various
+kind of commands and filters to help analysis of the program execution and
+performance.  It provides the command @command{uftrace}.  User that want to do
+scripting need to install python-3 or luajit in their profile.")
+    (license license:gpl2)))
-- 
2.34.0





Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Mon, 17 Jan 2022 21:38:01 GMT) Full text and rfc822 format available.

Message #20 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Olivier Dion <olivier.dion <at> polymtl.ca>, 53324 <at> debbugs.gnu.org
Subject: Re: [bug#53324] [PATCH] gnu: Add uftrace.
Date: Mon, 17 Jan 2022 22:37:29 +0100
[Message part 1 (text/plain, inline)]
Hi,

Olivier Dion schreef op ma 17-01-2022 om 16:02 [-0500]:
> On Mon, 17 Jan 2022, Maxime Devos <maximedevos <at> telenet.be> wrote:
> > Olivier Dion via Guix-patches via schreef op ma 17-01-2022 om 14:20 [-
> > 0500]:
> > > +                       (invoke "./configure" [...]
> > 
> > Looking at the configure script, for cross-compilation, you need to set
> > --arch and --cross-compile.
> >                                
> > 
> > > +                       (let ([python (which "python3")])
> 
> Thanks for the quick review!  I'm in the process of adding cross
> compilation (currently building for aarch64).
> 
> In the mean time, would you have an idea on how to fix __FILE__ for the
> build?  uftrace uses it for logging and it ends up expanding to
> `/tmp/guix-build*/source/*`.  I tried to change the `srcdir` in the
> various Makefile without much success.
> 

Maybe uftrace supports out-of-tree builds?  Also, does uftrace try to
read /tmp/guix-build*, or does only the file name appear in backtraces?
If the latter, it is presumably not much of a problem.  If it is,
maybe out-of-tree builds could help.  Automake supports out-of-tree
builds, but I don't know if uftrace's build system does.

The review was only a partial review, I didn't actually build uftrace.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Mon, 17 Jan 2022 21:56:01 GMT) Full text and rfc822 format available.

Message #23 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Olivier Dion <olivier.dion <at> polymtl.ca>
To: Maxime Devos <maximedevos <at> telenet.be>, 53324 <at> debbugs.gnu.org
Subject: Re: [bug#53324] [PATCH] gnu: Add uftrace.
Date: Mon, 17 Jan 2022 16:55:29 -0500
On Mon, 17 Jan 2022, Maxime Devos <maximedevos <at> telenet.be> wrote:
> Olivier Dion schreef op ma 17-01-2022 om 16:02 [-0500]:
>> On Mon, 17 Jan 2022, Maxime Devos <maximedevos <at> telenet.be> wrote:
>>
>> In the mean time, would you have an idea on how to fix __FILE__ for
>> the build?  uftrace uses it for logging and it ends up expanding to
>> `/tmp/guix-build*/source/*`.  I tried to change the `srcdir` in the
>> various Makefile without much success.
>> 
>
> Maybe uftrace supports out-of-tree builds?  Also, does uftrace try to
> read /tmp/guix-build*, or does only the file name appear in
> backtraces?  If the latter, it is presumably not much of a problem.
> If it is, maybe out-of-tree builds could help.  Automake supports
> out-of-tree builds, but I don't know if uftrace's build system does.

It does support out-of-tree build juste like autotool.  The configure
script however does `readlink -f $(dirname $0)` for its `srcdir`.

For example, even if I build at `/tmp/uftrace` where the configure
script is at /home/old/documents/polymtl/bmi/uftrace, I will get
--------------------------------------------------------------------------------
`uftrace:/home/old/documents/polymtl/bmi/uftrace/cmds/record.c:1571:find_in_path`
--------------------------------------------------------------------------------
at runtime.

-- 
Olivier Dion
Polymtl




Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Tue, 18 Jan 2022 07:59:02 GMT) Full text and rfc822 format available.

Message #26 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Olivier Dion <olivier.dion <at> polymtl.ca>, 53324 <at> debbugs.gnu.org
Subject: Re: [bug#53324] [PATCH] gnu: Add uftrace.
Date: Tue, 18 Jan 2022 07:58:04 +0000
[Message part 1 (text/plain, inline)]
Hi,

Olivier Dion schreef op ma 17-01-2022 om 16:55 [-0500]:
> It does support out-of-tree build juste like autotool.  The configure
> script however does `readlink -f $(dirname $0)` for its `srcdir`.
> 
> For example, even if I build at `/tmp/uftrace` where the configure
> script is at /home/old/documents/polymtl/bmi/uftrace, I will get
> --------------------------------------------------------------------------------
> `uftrace:/home/old/documents/polymtl/bmi/uftrace/cmds/record.c:1571:find_in_path`
> --------------------------------------------------------------------------------
> at runtime.

That seems to be `srcdir` working as expected, because
/home/old/documents/polymtl/bmi/uftrace is the directory
with the source code, so I'm not sure what ‘however’ is doing in

‘The configure script however does `readlink -f $(dirname $0)` for its
`srcdir`.’.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Thu, 20 Jan 2022 14:11:01 GMT) Full text and rfc822 format available.

Message #29 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: Olivier Dion <olivier.dion <at> polymtl.ca>, 53324 <at> debbugs.gnu.org
Subject: Re: bug#53324: [PATCH] gnu: Add uftrace.
Date: Thu, 20 Jan 2022 15:10:43 +0100
Hi,

Maxime Devos <maximedevos <at> telenet.be> skribis:

> Olivier Dion via Guix-patches via schreef op ma 17-01-2022 om 14:20 [-

[...]

>> +      ncurses))
>
> If 'ncurses' is used (and depropagated), you probably need to add the
> search paths of ncurses (TERMINFO_DIRS) to make sure Guix knows to set
> TERMINFO_DIRS.

IMO we shouldn’t do that: ‘TERMINFO_DIRS’ “belongs” to ncurses, and we
do not add it to each and every program that depends on ncurses.

I understand that not adding ‘TERMINFO_DIRS’ in uftrace can be annoying
due to <https://issues.guix.gnu.org/20255>, but so far consensus has
been to keep search path specs where they belong.

Thoughts?

Ludo’.




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Thu, 20 Jan 2022 14:28:02 GMT) Full text and rfc822 format available.

Notification sent to Olivier Dion <olivier.dion <at> polymtl.ca>:
bug acknowledged by developer. (Thu, 20 Jan 2022 14:28:02 GMT) Full text and rfc822 format available.

Message #34 received at 53324-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Olivier Dion <olivier.dion <at> polymtl.ca>
Cc: 53324-done <at> debbugs.gnu.org
Subject: Re: bug#53324: [PATCH] gnu: Add uftrace.
Date: Thu, 20 Jan 2022 15:27:46 +0100
[Message part 1 (text/plain, inline)]
Hi,

Olivier Dion <olivier.dion <at> polymtl.ca> skribis:

> * gnu/packages/instrumentation.scm: (uftrace): New variable.

Applied with the following tweaks.

Thanks!

Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 29c15d1deb..a58a474a38 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -283,22 +283,16 @@ (define-public uftrace
              (invoke "./configure"
                      (string-append "--prefix="
                                     (assoc-ref outputs "out"))))))))
-    (native-search-paths
-     (list (search-path-specification
-            (variable "TERMINFO_DIRS")
-            (files '("share/terminfo")))))
     (inputs
-     (list
-      capstone
-      elfutils
-      libunwind
-      ncurses))
+     (list capstone
+           elfutils
+           libunwind
+           ncurses))
     (native-inputs
-     (list
-      luajit
-      pandoc
-      pkg-config
-      python-wrapper))
+     (list luajit
+           pandoc
+           pkg-config
+           python-wrapper))
     (home-page "https://github.com/namhyung/uftrace")
     (synopsis "Function graph tracer for C/C++/Rust")
     (description "uftrace is a tool for tracing and analyzing the execution of

Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Thu, 20 Jan 2022 14:35:02 GMT) Full text and rfc822 format available.

Message #37 received at 53324-done <at> debbugs.gnu.org (full text, mbox):

From: Olivier Dion <olivier.dion <at> polymtl.ca>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 53324-done <at> debbugs.gnu.org
Subject: Re: bug#53324: [PATCH] gnu: Add uftrace.
Date: Thu, 20 Jan 2022 09:33:53 -0500
On Thu, 20 Jan 2022, Ludovic Courtès <ludo <at> gnu.org> wrote:
> Hi,
>
> Olivier Dion <olivier.dion <at> polymtl.ca> skribis:
>
>> * gnu/packages/instrumentation.scm: (uftrace): New variable.
>
> Applied with the following tweaks.
>
> Thanks!

Great, thank you!

-- 
Olivier Dion
Polymtl




Information forwarded to guix-patches <at> gnu.org:
bug#53324; Package guix-patches. (Thu, 20 Jan 2022 16:51:02 GMT) Full text and rfc822 format available.

Message #40 received at 53324 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Olivier Dion <olivier.dion <at> polymtl.ca>, 53324 <at> debbugs.gnu.org
Subject: Re: bug#53324: [PATCH] gnu: Add uftrace.
Date: Thu, 20 Jan 2022 16:50:07 +0000
[Message part 1 (text/plain, inline)]
Ludovic Courtès schreef op do 20-01-2022 om 15:10 [+0100]:
> > If 'ncurses' is used (and depropagated), you probably need to add
> > the
> > search paths of ncurses (TERMINFO_DIRS) to make sure Guix knows to
> > set
> > TERMINFO_DIRS.
> 
> IMO we shouldn’t do that: ‘TERMINFO_DIRS’ “belongs” to ncurses, and
> we
> do not add it to each and every program that depends on ncurses.
> 
> I understand that not adding ‘TERMINFO_DIRS’ in uftrace can be
> annoying
> due to <https://issues.guix.gnu.org/20255>, but so far consensus has
> been to keep search path specs where they belong.

Did you mean to refer to <https://issues.guix.gnu.org/22138> here
(‘Search paths of dependencies are not honored’)?

We do add SSL_CERT_DIR to guix even though guix it is only used through
guile+openssl (though we seem to forget to add it to many other
packages).  We sometimes add XDG_DATA_DIRS and XDG_CONFIG_DIRS to
‘leaf’ packages even though it is (usually) only used by some glib-
related things.

So aside from perhaps 22138, I don't see a problem here.  As long as
22138 isn't addressed, how else could Guix determine that some leaf
package needs TERMINFO_DIRS to be set?

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 18 Feb 2022 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 61 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.