[PATCH] gnu: Add babeltrace.

DoneSubmitted by Olivier Dion.
Details
4 participants
  • Sarah Morgensen
  • Ludovic Courtès
  • Maxim Cournoyer
  • Olivier Dion
Owner
unassigned
Severity
normal
O
O
Olivier Dion wrote on 23 Sep 14:41 +0200
(address . guix-patches@gnu.org)(name . Olivier Dion)(address . olivier.dion@polymtl.ca)
20210923124113.3269-1-olivier.dion@polymtl.ca
* gnu/packages/linux.scm (babeltrace): New variable.
Signed-off-by: Olivier Dion <olivier.dion@polymtl.ca>--- gnu/packages/linux.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
Toggle diff (55 lines)diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scmindex 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
S
S
Sarah Morgensen wrote on 23 Sep 21:30 +0200
(name . Olivier Dion)(address . olivier.dion@polymtl.ca)(address . 50757@debbugs.gnu.org)
86k0j7ks3l.fsf@mgsn.dev
Hello,
Thank you for your patch. This looks like an interesting tool! Itest-compiled this, and I have a couple comments.
Olivier Dion <olivier.dion@polymtl.ca> writes:
Toggle quote (4 lines)> * gnu/packages/linux.scm (babeltrace): New variable.>> Signed-off-by: Olivier Dion <olivier.dion@polymtl.ca>
"We" don't used signed-off-by like this (signed-off-by is used by thecommitter who is pushing your patch); you can leave it out.
Toggle quote (25 lines)> ---> 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?
Toggle quote (12 lines)> + (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 usesit for the libraries and headers only, so it should probably be in 'inputs'.
Toggle quote (7 lines)> +> + (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 probablybe a regular input as well.
Toggle quote (12 lines)> + ("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.")
Toggle snippet (6 lines)$ ./pre-inst-env guix lint babeltrace/home/sarah/guix-apply/gnu/packages/linux.scm:8170:17: babeltrace@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@2.0.3: no period allowed at the end of the synopsis/home/sarah/guix-apply/gnu/packages/linux.scm:8169:14: babeltrace@2.0.3: synopsis should not start with the package name
Synopses should reduce to a noun; open-source is implied by itsinclusion in Guix; the pronunciation is more suited to the description,but may not be necessary at all.
Consider: "Trace manipulation toolkit" or "Trace manipulation toolkitwith Python bindings" (depending on what the focus should be on)
In the description, it may be worth mentioning that it provides thecommand-line tool "@command{babeltrace2}"; consider referencing themanual page for wording.
You could even start with something like:
"Babeltrace 2 is a framework for viewing, converting, transforming, andanalyzing traces. It is also the reference parser implementation of theCommon Trace Format (CTF), produced by tools such as LTTng and barectf.This package provides a library with a C API, Python 3 bindings, and thecommand-line tool @command{babeltrace2}."
That's just an example though! It could definitly be improved.
Hope that helps,--Sarah
L
L
Ludovic Courtès wrote on 13 Oct 10:52 +0200
control message for bug #50757
(address . control@debbugs.gnu.org)
87wnmhs3vx.fsf@gnu.org
tags 50757 + moreinfoquit
O
O
Olivier Dion wrote on 17 Oct 17:19 +0200
[PATCH] gnu: Add babeltrace.
(address . 50757@debbugs.gnu.org)(name . Sarah Morgensen)(address . iskarian@mgsn.dev)
87sfwzbrwl.fsf@laura
Hi!
Sorry for the late reply, I've never received the ML messages! I had tocheck the web interface to see your comments.
I will apply them soon and CC you on v2 of this patch :-)
Regards,Olivier
-- Olivier DionPolymtl
O
O
Olivier Dion wrote on 21 Nov 19:31 +0100
[PATCH v2] gnu: Add babeltrace.
(address . 50757@debbugs.gnu.org)(name . Olivier Dion)(address . olivier.dion@polymtl.ca)
e7d66e7c057ec525488578aec8853c730a14a04f.1637519461.git.olivier.dion@polymtl.ca
* gnu/packages/linux.scm (babeltrace): New variable.--- gnu/packages/linux.scm | 56 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+)
Toggle diff (76 lines)diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scmindex 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
M
M
Maxim Cournoyer wrote on 22 Nov 03:31 +0100
Re: bug#50757: [PATCH] gnu: Add babeltrace.
(name . Olivier Dion)(address . olivier.dion@polymtl.ca)(address . 50757-done@debbugs.gnu.org)
87v90kc45b.fsf_-_@gmail.com
Hey Olivier!
Olivier Dion <olivier.dion@polymtl.ca> writes:
Toggle quote (80 lines)> * 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 as82f8ac4c291e80ef94ee57ff1e0f62f1307c0afb.
Happy hacking!
Maxim
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send email to 50757@debbugs.gnu.org