GNU bug report logs - #50757
[PATCH] gnu: Add babeltrace.

Previous Next

Package: guix-patches;

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

Date: Thu, 23 Sep 2021 13:12:02 UTC

Severity: normal

Tags: moreinfo, patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

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 50757 in the body.
You can then email your comments to 50757 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#50757; Package guix-patches. (Thu, 23 Sep 2021 13:12:02 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. (Thu, 23 Sep 2021 13:12:02 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 babeltrace.
Date: Thu, 23 Sep 2021 08:41:13 -0400
* gnu/packages/linux.scm (babeltrace): New variable.

Signed-off-by: Olivier Dion <olivier.dion <at> polymtl.ca>
---
 gnu/packages/linux.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9bb90e599e..dcfea9cc6c 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -131,6 +131,7 @@
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages slang)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
@@ -8051,6 +8052,40 @@ enable and disable specific instrumentation points, and writes event records
 to ring buffers shared with a consumer daemon.")
     (license license:lgpl2.1+)))
 
+(define-public babeltrace
+  (package
+    (name "babeltrace")
+    (version "2.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.efficios.com/files/babeltrace/babeltrace2-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32 "1804pyq7fz6rkcz4r1abkkn0pfnss13m6fd8if32s42l4lajadm5"))))
+
+    (build-system gnu-build-system)
+
+    (propagated-inputs
+     `(("elfutils" ,elfutils)))
+
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("bison" ,bison)
+       ("flex" ,flex)
+       ("glib" ,glib)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-3)
+       ("python-sphinx" ,python-sphinx)
+       ("xmltoman" ,xmltoman)))
+
+    (home-page "https://babeltrace.org/")
+    (synopsis "Babeltrace /ˈbæbəltreɪs/ is an open-source trace manipulation toolkit.")
+    (description "Babeltrace 2 is the reference parser implementation of the
+Common Trace Format (CTF), a versatile trace format produced by various
+tracers and tools such as LTTng and barectf. The Babeltrace 2 library and its
+Python bindings can read and write CTF traces.")
+    (license license:expat)))
+
 (define-public kexec-tools
   (package
     (name "kexec-tools")
-- 
2.33.0





Information forwarded to guix-patches <at> gnu.org:
bug#50757; Package guix-patches. (Thu, 23 Sep 2021 19:31:01 GMT) Full text and rfc822 format available.

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

From: Sarah Morgensen <iskarian <at> mgsn.dev>
To: Olivier Dion <olivier.dion <at> polymtl.ca>
Cc: 50757 <at> debbugs.gnu.org
Subject: Re: [bug#50757] [PATCH] gnu: Add babeltrace.
Date: Thu, 23 Sep 2021 12:30:06 -0700
Hello,

Thank you for your patch.  This looks like an interesting tool!  I
test-compiled this, and I have a couple comments.

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

> * gnu/packages/linux.scm (babeltrace): New variable.
>
> Signed-off-by: Olivier Dion <olivier.dion <at> polymtl.ca>

"We" don't used signed-off-by like this (signed-off-by is used by the
committer who is pushing your patch); you can leave it out.

> ---
>  gnu/packages/linux.scm | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 9bb90e599e..dcfea9cc6c 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -131,6 +131,7 @@
>    #:use-module (gnu packages sdl)
>    #:use-module (gnu packages serialization)
>    #:use-module (gnu packages slang)
> +  #:use-module (gnu packages sphinx)
>    #:use-module (gnu packages sqlite)
>    #:use-module (gnu packages texinfo)
>    #:use-module (gnu packages tls)
> @@ -8051,6 +8052,40 @@ enable and disable specific instrumentation points, and writes event records
>  to ring buffers shared with a consumer daemon.")
>      (license license:lgpl2.1+)))
>  
> +(define-public babeltrace
> +  (package
> +    (name "babeltrace")
> +    (version "2.0.3")

2.0.4 is available; is there a particular reason for using 2.0.3?

> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://www.efficios.com/files/babeltrace/babeltrace2-"
> +                                  version ".tar.bz2"))
> +              (sha256
> +               (base32 "1804pyq7fz6rkcz4r1abkkn0pfnss13m6fd8if32s42l4lajadm5"))))
> +
> +    (build-system gnu-build-system)
> +
> +    (propagated-inputs
> +     `(("elfutils" ,elfutils)))

Is there a reason why this is propagated?  It seems like babeltrace uses
it for the libraries and headers only, so it should probably be in 'inputs'.

> +
> +    (native-inputs
> +     `(("asciidoc" ,asciidoc)
> +       ("bison" ,bison)
> +       ("flex" ,flex)
> +       ("glib" ,glib)

  guix gc --references /gnu/store/mm02i199mwwqgazk6fphz6rka8ga4fh6-babeltrace-2.0.3

says that babeltrace retains a reference to glib, so it should probably
be a regular input as well.

> +       ("pkg-config" ,pkg-config)
> +       ("python" ,python-3)
> +       ("python-sphinx" ,python-sphinx)
> +       ("xmltoman" ,xmltoman)))
> +
> +    (home-page "https://babeltrace.org/")
> +    (synopsis "Babeltrace /ˈbæbəltreɪs/ is an open-source trace manipulation toolkit.")
> +    (description "Babeltrace 2 is the reference parser implementation of the
> +Common Trace Format (CTF), a versatile trace format produced by various
> +tracers and tools such as LTTng and barectf. The Babeltrace 2 library and its
> +Python bindings can read and write CTF traces.")

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix lint babeltrace
/home/sarah/guix-apply/gnu/packages/linux.scm:8170:17: babeltrace <at> 2.0.3: sentences in description should be followed by two spaces; possible infraction at 174
/home/sarah/guix-apply/gnu/packages/linux.scm:8169:14: babeltrace <at> 2.0.3: no period allowed at the end of the synopsis
/home/sarah/guix-apply/gnu/packages/linux.scm:8169:14: babeltrace <at> 2.0.3: synopsis should not start with the package name
--8<---------------cut here---------------end--------------->8---

Synopses should reduce to a noun; open-source is implied by its
inclusion in Guix; the pronunciation is more suited to the description,
but may not be necessary at all.

Consider: "Trace manipulation toolkit" or "Trace manipulation toolkit
with Python bindings" (depending on what the focus should be on)

In the description, it may be worth mentioning that it provides the
command-line tool "@command{babeltrace2}"; consider referencing the
manual page for wording.

You could even start with something like:

"Babeltrace 2 is a framework for viewing, converting, transforming, and
analyzing traces.  It is also the reference parser implementation of the
Common Trace Format (CTF), produced by tools such as LTTng and barectf.
This package provides a library with a C API, Python 3 bindings, and the
command-line tool @command{babeltrace2}."

That's just an example though!  It could definitly be improved.

Hope that helps,
--
Sarah




Added tag(s) moreinfo. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Wed, 13 Oct 2021 08:53:03 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#50757; Package guix-patches. (Sun, 17 Oct 2021 15:20:01 GMT) Full text and rfc822 format available.

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

From: Olivier Dion <olivier.dion <at> polymtl.ca>
To: 50757 <at> debbugs.gnu.org
Cc: Sarah Morgensen <iskarian <at> mgsn.dev>
Subject: [PATCH] gnu: Add babeltrace.
Date: Sun, 17 Oct 2021 11:19:22 -0400
Hi!

Sorry for the late reply, I've never received the ML messages!  I had to
check the web interface to see your comments.

I will apply them soon and CC you on v2 of this patch :-)

Regards,
Olivier

-- 
Olivier Dion
Polymtl





Information forwarded to guix-patches <at> gnu.org:
bug#50757; Package guix-patches. (Sun, 21 Nov 2021 18:32:01 GMT) Full text and rfc822 format available.

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

From: Olivier Dion <olivier.dion <at> polymtl.ca>
To: 50757 <at> debbugs.gnu.org
Cc: Olivier Dion <olivier.dion <at> polymtl.ca>
Subject: [PATCH v2] gnu: Add babeltrace.
Date: Sun, 21 Nov 2021 13:31:42 -0500
* gnu/packages/linux.scm (babeltrace): New variable.
---
 gnu/packages/linux.scm | 56 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4d167dc522..81589955cc 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -131,6 +131,7 @@ (define-module (gnu packages linux)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages slang)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
@@ -8199,6 +8200,61 @@ (define-public lttng-tools
 @code{lttng-relayd} for network streaming.")
     (license (list  license:gpl2 license:lgpl2.1))))
 
+(define-public babeltrace
+  (package
+    (name "babeltrace")
+    (version "2.0.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.efficios.com/files/babeltrace/babeltrace2-"
+                                  version ".tar.bz2"))
+              (sha256
+               (base32 "1jlv925pr7hykc48mdvbmqm4ipy1r11xwzapa6fdpdfshmk12kvp"))))
+
+    (build-system gnu-build-system)
+
+    (arguments
+     `(;; FIXME - When Python's bindings are enabled, tests do not pass.
+       #:configure-flags '("--enable-debug-info"
+                           "--enable-man-pages"
+                           "--disable-python-bindings"
+                           "--disable-python-plugins")
+       #:phases
+       (modify-phases %standard-phases
+         ;; These are recommended in the project's README for a development
+         ;; build configuration.
+         (add-before 'configure 'set-environment-variables
+           (lambda _
+             (setenv "BABELTRACE_DEV_MODE" "1")
+             (setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE"))))))
+    (inputs
+     `(("glib" ,glib)))
+    ;; NOTE - elfutils is used for the LTTng debug information filter
+    ;; component class.  This can be moved to `native-inputs` if
+    ;; `--enable-debug-info` is replaced by `--disable-debug-info` in
+    ;; `#:configure-flags`.
+    (propagated-inputs
+     `(("elfutils" ,elfutils)))
+    ;; NOTE - python-3 is set here for generating the bindings.  Users need to
+    ;; install python-3 in their profile in order to use these bindings.
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("bison" ,bison)
+       ("flex" ,flex)
+       ("pkg-config" ,pkg-config)
+       ("python-3" ,python-3)
+       ("python-sphinx" ,python-sphinx)
+       ("swig", swig)
+       ("xmltoman" ,xmltoman)))
+    (home-page "https://babeltrace.org/")
+    (synopsis "Trace manipulation toolkit")
+    (description "Babeltrace 2 is a framework for viewing, converting,
+transforming, and analyzing traces.  It is also the reference parser
+implementation of the Common Trace Format (CTF), produced by tools such as
+LTTng and barectf.  This package provides a library with a C API, Python 3
+bindings, and the command-line tool @command{babeltrace2}.")
+    (license license:expat)))
+
 (define-public kexec-tools
   (package
     (name "kexec-tools")
-- 
2.34.0





Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Mon, 22 Nov 2021 02:32:02 GMT) Full text and rfc822 format available.

Notification sent to Olivier Dion <olivier.dion <at> polymtl.ca>:
bug acknowledged by developer. (Mon, 22 Nov 2021 02:32:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Olivier Dion <olivier.dion <at> polymtl.ca>
Cc: 50757-done <at> debbugs.gnu.org
Subject: Re: bug#50757: [PATCH] gnu: Add babeltrace.
Date: Sun, 21 Nov 2021 21:31:28 -0500
Hey Olivier!

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

> * gnu/packages/linux.scm (babeltrace): New variable.
> ---
>  gnu/packages/linux.scm | 56 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 4d167dc522..81589955cc 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -131,6 +131,7 @@ (define-module (gnu packages linux)
>    #:use-module (gnu packages sdl)
>    #:use-module (gnu packages serialization)
>    #:use-module (gnu packages slang)
> +  #:use-module (gnu packages sphinx)
>    #:use-module (gnu packages sqlite)
>    #:use-module (gnu packages texinfo)
>    #:use-module (gnu packages tls)
> @@ -8199,6 +8200,61 @@ (define-public lttng-tools
>  @code{lttng-relayd} for network streaming.")
>      (license (list  license:gpl2 license:lgpl2.1))))
>  
> +(define-public babeltrace
> +  (package
> +    (name "babeltrace")
> +    (version "2.0.4")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://www.efficios.com/files/babeltrace/babeltrace2-"
> +                                  version ".tar.bz2"))
> +              (sha256
> +               (base32 "1jlv925pr7hykc48mdvbmqm4ipy1r11xwzapa6fdpdfshmk12kvp"))))
> +
> +    (build-system gnu-build-system)
> +
> +    (arguments
> +     `(;; FIXME - When Python's bindings are enabled, tests do not pass.
> +       #:configure-flags '("--enable-debug-info"
> +                           "--enable-man-pages"
> +                           "--disable-python-bindings"
> +                           "--disable-python-plugins")
> +       #:phases
> +       (modify-phases %standard-phases
> +         ;; These are recommended in the project's README for a development
> +         ;; build configuration.
> +         (add-before 'configure 'set-environment-variables
> +           (lambda _
> +             (setenv "BABELTRACE_DEV_MODE" "1")
> +             (setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE"))))))
> +    (inputs
> +     `(("glib" ,glib)))
> +    ;; NOTE - elfutils is used for the LTTng debug information filter
> +    ;; component class.  This can be moved to `native-inputs` if
> +    ;; `--enable-debug-info` is replaced by `--disable-debug-info` in
> +    ;; `#:configure-flags`.
> +    (propagated-inputs
> +     `(("elfutils" ,elfutils)))
> +    ;; NOTE - python-3 is set here for generating the bindings.  Users need to
> +    ;; install python-3 in their profile in order to use these bindings.
> +    (native-inputs
> +     `(("asciidoc" ,asciidoc)
> +       ("bison" ,bison)
> +       ("flex" ,flex)
> +       ("pkg-config" ,pkg-config)
> +       ("python-3" ,python-3)
> +       ("python-sphinx" ,python-sphinx)
> +       ("swig", swig)
> +       ("xmltoman" ,xmltoman)))
> +    (home-page "https://babeltrace.org/")
> +    (synopsis "Trace manipulation toolkit")
> +    (description "Babeltrace 2 is a framework for viewing, converting,
> +transforming, and analyzing traces.  It is also the reference parser
> +implementation of the Common Trace Format (CTF), produced by tools such as
> +LTTng and barectf.  This package provides a library with a C API, Python 3
> +bindings, and the command-line tool @command{babeltrace2}.")
> +    (license license:expat)))
> +
>  (define-public kexec-tools
>    (package
>      (name "kexec-tools")

Thanks for this, and to Sarah for the nice review!

I've pushed this as-is to master as
82f8ac4c291e80ef94ee57ff1e0f62f1307c0afb.

Happy hacking!

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 20 Dec 2021 12:24:12 GMT) Full text and rfc822 format available.

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

Previous Next


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