GNU bug report logs - #78131
[PATCH electronics-team] gnu: Add libfst.

Previous Next

Package: guix-patches;

Reported by: Cayetano Santos <csantosb <at> inventati.org>

Date: Tue, 29 Apr 2025 13:55:09 UTC

Severity: normal

Tags: patch

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#78131: closed ([PATCH electronics-team] gnu: Add libfst.)
Date: Fri, 16 May 2025 13:04:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 16 May 2025 22:03:21 +0900
with message-id <87bjrshfmu.fsf <at> gmail.com>
and subject line Re: [bug#78131] [PATCH electronics-team] gnu: Add libfst.
has caused the debbugs.gnu.org bug report #78131,
regarding [PATCH electronics-team] gnu: Add libfst.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
78131: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78131
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Cayetano Santos <csantosb <at> inventati.org>
To: guix-patches <at> gnu.org
Cc: Cayetano Santos <csantosb <at> inventati.org>
Subject: [PATCH electronics-team] gnu: Add libfst.
Date: Tue, 29 Apr 2025 15:53:35 +0200
* gnu/packages/fpga.scm (libfst): New variable.

Change-Id: Idff52e52114877e0a0259c8df98b3c1bfa20c521
---
 gnu/packages/fpga.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 4fcd6a47a6..e299da75c5 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -37,6 +37,7 @@ (define-module (gnu packages fpga)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system pyproject)
   #:use-module (guix build-system qt)
@@ -336,6 +337,35 @@ (define-public icestorm
 files.")
       (license license:isc))))
 
+(define-public libfst
+  ;; no releases
+  (let ((commit "6a52070cd62ec65c29832bc95e7db493504aa7ac")
+        (revision "0"))
+    (package
+      (name "libfst")
+      (version (git-version "1.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gtkwave/libfst/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0b1r660m5aib316jjl4nhs10y7vhhqy2mvxjip3ynahig3hpi46z"))))
+      (build-system meson-build-system)
+      (native-inputs (list
+                      cmake-minimal
+                      zlib
+                      gobject-introspection
+                      pkg-config))
+      (synopsis
+       "Library to manipulate Fast Signal Trace (FST) format waveforms")
+      (description "Libfst is a small library used to read and write Fast Signal
+Trace (FST) format waveforms.")
+      (home-page "https://github.com/gtkwave/libfst/")
+      (license (list license:expat license:bsd-3)))))
+
 (define-public nextpnr-ice40
   (let* ((version "0.7")
          (tag (string-append "nextpnr-" version)))

base-commit: 881d46eb386c2de8bc6f1405972ee1e115eeb3a1
prerequisite-patch-id: d0bc54cf519652d6da310bfa99fe88c37275c298
prerequisite-patch-id: 445cfff048522cbeff4f72a4fc26088b591d0eb2
prerequisite-patch-id: cfb57a770c5842c09a09babb7e0a8db1b7af3426
prerequisite-patch-id: e8a09c6bf1ac37d125a3353a8535880866796309
prerequisite-patch-id: 3a61467968b32892273f687c17983450a368cc94
prerequisite-patch-id: 21b2f5649dd576054bd09b705eedc0d3f9a0ad40
prerequisite-patch-id: 11c1a4c6255b9ec68fc2dac4a8e6a4d3fb57c65f
prerequisite-patch-id: 6b9c8a416da71858be3d7993b265348728fbc05d
prerequisite-patch-id: 5dea2248b3d1c5f73c23e2a9baf6ddcc80bcb08d
prerequisite-patch-id: ba8b325464becfb2d07b744ea7dbc641e45d8706
prerequisite-patch-id: 01a405a7f983be361c4136012366098c34331d3d
prerequisite-patch-id: a86f79363080611b53d31c07a5811a1a8b4c836e
prerequisite-patch-id: cbd7ce8e4c113b13ace6585d10c286b74696f15f
prerequisite-patch-id: 8ed48edd220dea035ebdc7250488277a101e54b1
prerequisite-patch-id: 40d90dbaf56a83ab21d256c3b61b15ab069ca3be
prerequisite-patch-id: 26c764ced5719f25db5e6d6bbf7b8cf1b0556b75
prerequisite-patch-id: ffb488bdef37ca0e7fca5252d732c6eea9cb9272
prerequisite-patch-id: 10568bc6c8a0d9713505a3ac375ffc424b06615d
prerequisite-patch-id: a7360a53edf94070f1589ea6bddceaeaaccd3c90
prerequisite-patch-id: 48698cd40d9ef43b8b646660f2e18141681792ed
prerequisite-patch-id: cc1917ae421a9d5e5e737ab0d7d64eafb80c66ea
prerequisite-patch-id: f25b46e1e08ed9a23bafd4547b30559e87aafc83
prerequisite-patch-id: ebfbf78c71e216e14009a9c619502d515bd301e9
prerequisite-patch-id: 4debf0c53a034e80221112c95ed3572f436ed5b6
prerequisite-patch-id: 4e2979d172c82620e1f423201034aa00610ea22f
prerequisite-patch-id: c411a74b430b78540a70d5516623bd92508e1505
prerequisite-patch-id: eb5d2e8f4679f970898c2b0f1a0caf6dc941712a
prerequisite-patch-id: 1ad337c9c9741592793782f97db490bba02d3c4b
-- 
2.49.0



[Message part 3 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Cayetano Santos <csantosb <at> inventati.org>
Cc: Ekaitz Zarraga <ekaitz <at> elenq.tech>, 78131-done <at> debbugs.gnu.org
Subject: Re: [bug#78131] [PATCH electronics-team] gnu: Add libfst.
Date: Fri, 16 May 2025 22:03:21 +0900
Hi Cayetano,

Cayetano Santos <csantosb <at> inventati.org> writes:

> * gnu/packages/fpga.scm (libfst): New variable.
>
> Change-Id: Idff52e52114877e0a0259c8df98b3c1bfa20c521
> ---
>  gnu/packages/fpga.scm | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
> index 4fcd6a47a6..e299da75c5 100644
> --- a/gnu/packages/fpga.scm
> +++ b/gnu/packages/fpga.scm
> @@ -37,6 +37,7 @@ (define-module (gnu packages fpga)
>    #:use-module (guix build-system glib-or-gtk)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix build-system cmake)
> +  #:use-module (guix build-system meson)
>    #:use-module (guix build-system python)
>    #:use-module (guix build-system pyproject)
>    #:use-module (guix build-system qt)
> @@ -336,6 +337,35 @@ (define-public icestorm
>  files.")
>        (license license:isc))))
>  
> +(define-public libfst
> +  ;; no releases
> +  (let ((commit "6a52070cd62ec65c29832bc95e7db493504aa7ac")
> +        (revision "0"))
> +    (package
> +      (name "libfst")
> +      (version (git-version "1.0.0" revision commit))
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url "https://github.com/gtkwave/libfst/")
> +               (commit commit)))
> +         (file-name (git-file-name name version))
> +         (sha256
> +          (base32 "0b1r660m5aib316jjl4nhs10y7vhhqy2mvxjip3ynahig3hpi46z"))))
> +      (build-system meson-build-system)
> +      (native-inputs (list
> +                      cmake-minimal
> +                      zlib
> +                      gobject-introspection
> +                      pkg-config))
> +      (synopsis
> +       "Library to manipulate Fast Signal Trace (FST) format waveforms")
> +      (description "Libfst is a small library used to read and write Fast Signal
> +Trace (FST) format waveforms.")
> +      (home-page "https://github.com/gtkwave/libfst/")
> +      (license (list license:expat license:bsd-3)))))
> +

I've applied it, with the following changes:

--8<---------------cut here---------------start------------->8---
modified   gnu/packages/fpga.scm
@@ -378,14 +378,15 @@ (define-public libfst
          (sha256
           (base32 "0b1r660m5aib316jjl4nhs10y7vhhqy2mvxjip3ynahig3hpi46z"))))
       (build-system meson-build-system)
-      (native-inputs (list cmake-minimal zlib gobject-introspection pkg-config))
-      (synopsis
-       "Library to manipulate Fast Signal Trace (FST) format waveforms")
-      (description
-       "Libfst is a small library used to read and write Fast Signal
-Trace (FST) format waveforms.")
+      (native-inputs (list gobject-introspection pkg-config))
+      (inputs (list bzip2))
+      (propagated-inputs (list zlib))  ;in Requires.private of libfst.pc
+      (synopsis "Fast Signal Trace (FST) format waveforms library")
+      (description "Libfst is a small library used to read and write
+@acronym{FST, Fast Signal Trace} format waveforms.")
       (home-page "https://github.com/gtkwave/libfst/")
-      (license (list license:expat license:bsd-3)))))
+      (license (list license:expat      ;libfst and fastlz-derived sources
+                     license:bsd-2))))) ;for lz4-derived sources
 
 (define-public nextpnr
   (package
--8<---------------cut here---------------end--------------->8---

zlib being linked to, it should appear in inputs (used at runtime).
Since it's also listed as a Required package in the pkg-config file
(libfst.pc), it has to even be in propagated-inputs.

the lz4 license is bsd-2, not bsd-3

I've added bzip2 as an input.

The rest is just some cosmetic sugar.

-- 
Thanks,
Maxim


This bug report was last modified 1 day ago.

Previous Next


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