GNU bug report logs - #78137
[PATCH electronics-team] gnu: gtkwave: Update to 3.4.0-0.bb978d9.

Previous Next

Package: guix-patches;

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

Date: Tue, 29 Apr 2025 14:20:06 UTC

Severity: normal

Tags: patch

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

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#78137: closed ([PATCH electronics-team] gnu: gtkwave: Update
 to 3.4.0-0.bb978d9.)
Date: Fri, 16 May 2025 13:03:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 16 May 2025 22:02:36 +0900
with message-id <87cyc8hfo3.fsf <at> gmail.com>
and subject line Re: [bug#78137] [PATCH electronics-team] gnu: gtkwave: Update to 3.4.0-0.bb978d9.
has caused the debbugs.gnu.org bug report #78137,
regarding [PATCH electronics-team] gnu: gtkwave: Update to 3.4.0-0.bb978d9.
to be marked as done.

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


-- 
78137: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78137
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: gtkwave: Update to 3.4.0-0.bb978d9.
Date: Tue, 29 Apr 2025 16:10:40 +0200
* gnu/packages/fpga.scm (gtkwave): Update to 3.4.0-0.bb978d9.

Change-Id: I38aabca14c2789ad7b3bc304b7018644dc6d0fa6
---

Update package and fetch from its new home at github, branch master. Note that branch lts comprises the v3.x series.

[source]: Switch to git-fetch, new uri.
[version]: Switch to branch master, version 3.4.
[build-system]: Switch to meson-build-system.
[native-inputs]: Add new requirements.
[inputs]: Add libfst and tcllib.
[homepage]: Update URL.

 gnu/packages/fpga.scm | 68 +++++++++++++++++++++++--------------------
 1 file changed, 36 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 4fcd6a47a6..fc44166bff 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -53,6 +53,7 @@ (define-module (gnu packages fpga)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gdb)
   #:use-module (gnu packages gettext)
@@ -77,6 +78,7 @@ (define-module (gnu packages fpga)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
@@ -434,39 +436,41 @@ (define-public nextpnr-ice40
       (license license:expat))))
 
 (define-public gtkwave
-  (package
-    (name "gtkwave")
-    (version "3.3.121")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (list (string-append "mirror://sourceforge/gtkwave/"
-                                 "gtkwave-gtk3-" version "/"
-                                 "gtkwave-gtk3-" version ".tar.gz")
-                  (string-append "https://gtkwave.sourceforge.net/"
-                                 "gtkwave-" version ".tar.gz")))
-       (sha256
-        (base32 "0ikk49zyar5aiq7pg9whi4nfzq7xm8sz7bn3b6vaylkdimw4bajl"))))
-    (build-system glib-or-gtk-build-system)
-    (native-inputs
-     (list gperf pkg-config))
-    (inputs
-     (list gtk+ tcl tk))
-    (arguments
-     (list #:configure-flags
-           #~(list "--enable-gtk3"
-                   (string-append "--with-tcl="
-                    (assoc-ref %build-inputs "tcl")
-                    "/lib")
-                   (string-append "--with-tk="
-                                  (assoc-ref %build-inputs "tk")
-                                  "/lib"))))
-    (synopsis "Waveform viewer for FPGA simulator trace files")
-    (description "This package is a waveform viewer for FPGA
+  ;; there are no releases in master branch, which includes 3.4.0
+  (let ((commit "bb978d9d667d569b9153ffa34007e300302907dc")
+        (revision "0"))
+    (package
+      (name "gtkwave")
+      (version (git-version "3.4.0" revision commit)) ; version from meson.build
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gtkwave/gtkwave")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1nv27cpz5937cb6bkhpw8w0ji6hm9xr8f0znvfwzfl1fwwypf23y"))))
+      (build-system meson-build-system)
+      (native-inputs (list desktop-file-utils
+                           flex
+                           `(,glib "bin")
+                           gobject-introspection
+                           gperf
+                           perl
+                           pkg-config
+                           tcsh))
+      (inputs (list gtk
+                    gtk+
+                    `(,gtk+ "bin")
+                    libfst
+                    tcllib))
+      (synopsis "Waveform viewer for FPGA simulator trace files")
+      (description "This package is a waveform viewer for FPGA
 simulator trace files (@dfn{FST}).")
-    (home-page "https://gtkwave.sourceforge.net/")
-    ;; Exception against free government use in tcl_np.c and tcl_np.h.
-    (license (list license:gpl2+ license:expat license:tcl/tk))))
+      (home-page "https://github.com/gtkwave/gtkwave")
+      ;; Exception against free government use in tcl_np.c and tcl_np.h.
+      (license (list license:gpl2+ license:expat license:tcl/tk)))))
 
 (define-public python-migen
   ;; XXX: The latest version tag (0.9.2) was placed in 2019, there are latest

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: 78137-done <at> debbugs.gnu.org, Ekaitz Zarraga <ekaitz <at> elenq.tech>
Subject: Re: [bug#78137] [PATCH electronics-team] gnu: gtkwave: Update to
 3.4.0-0.bb978d9.
Date: Fri, 16 May 2025 22:02:36 +0900
Hi,

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

> * gnu/packages/fpga.scm (gtkwave): Update to 3.4.0-0.bb978d9.
>
> Change-Id: I38aabca14c2789ad7b3bc304b7018644dc6d0fa6
> ---
>
> Update package and fetch from its new home at github, branch master. Note that branch lts comprises the v3.x series.
>
> [source]: Switch to git-fetch, new uri.
> [version]: Switch to branch master, version 3.4.
> [build-system]: Switch to meson-build-system.
> [native-inputs]: Add new requirements.

Please explicit the inputs added.

> [inputs]: Add libfst and tcllib.
> [homepage]: Update URL.

The change log should be part of the commit message proper.

>  gnu/packages/fpga.scm | 68 +++++++++++++++++++++++--------------------
>  1 file changed, 36 insertions(+), 32 deletions(-)
>
> diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
> index 4fcd6a47a6..fc44166bff 100644
> --- a/gnu/packages/fpga.scm
> +++ b/gnu/packages/fpga.scm
> @@ -53,6 +53,7 @@ (define-module (gnu packages fpga)
>    #:use-module (gnu packages cpp)
>    #:use-module (gnu packages elf)
>    #:use-module (gnu packages flex)
> +  #:use-module (gnu packages freedesktop)
>    #:use-module (gnu packages gawk)
>    #:use-module (gnu packages gdb)
>    #:use-module (gnu packages gettext)
> @@ -77,6 +78,7 @@ (define-module (gnu packages fpga)
>    #:use-module (gnu packages ruby)
>    #:use-module (gnu packages qt)
>    #:use-module (gnu packages readline)
> +  #:use-module (gnu packages shells)
>    #:use-module (gnu packages sphinx)
>    #:use-module (gnu packages tcl)
>    #:use-module (gnu packages texinfo)
> @@ -434,39 +436,41 @@ (define-public nextpnr-ice40
>        (license license:expat))))
>  
>  (define-public gtkwave
> -  (package
> -    (name "gtkwave")
> -    (version "3.3.121")
> -    (source
> -     (origin
> -       (method url-fetch)
> -       (uri (list (string-append "mirror://sourceforge/gtkwave/"
> -                                 "gtkwave-gtk3-" version "/"
> -                                 "gtkwave-gtk3-" version ".tar.gz")
> -                  (string-append "https://gtkwave.sourceforge.net/"
> -                                 "gtkwave-" version ".tar.gz")))
> -       (sha256
> -        (base32 "0ikk49zyar5aiq7pg9whi4nfzq7xm8sz7bn3b6vaylkdimw4bajl"))))
> -    (build-system glib-or-gtk-build-system)
> -    (native-inputs
> -     (list gperf pkg-config))
> -    (inputs
> -     (list gtk+ tcl tk))
> -    (arguments
> -     (list #:configure-flags
> -           #~(list "--enable-gtk3"
> -                   (string-append "--with-tcl="
> -                    (assoc-ref %build-inputs "tcl")
> -                    "/lib")
> -                   (string-append "--with-tk="
> -                                  (assoc-ref %build-inputs "tk")
> -                                  "/lib"))))
> -    (synopsis "Waveform viewer for FPGA simulator trace files")
> -    (description "This package is a waveform viewer for FPGA
> +  ;; there are no releases in master branch, which includes 3.4.0
> +  (let ((commit "bb978d9d667d569b9153ffa34007e300302907dc")
> +        (revision "0"))
> +    (package
> +      (name "gtkwave")
> +      (version (git-version "3.4.0" revision commit)) ; version from meson.build
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url "https://github.com/gtkwave/gtkwave")
> +               (commit commit)))
> +         (file-name (git-file-name name version))
> +         (sha256
> +          (base32 "1nv27cpz5937cb6bkhpw8w0ji6hm9xr8f0znvfwzfl1fwwypf23y"))))
> +      (build-system meson-build-system)
> +      (native-inputs (list desktop-file-utils
> +                           flex
> +                           `(,glib "bin")
> +                           gobject-introspection
> +                           gperf
> +                           perl
> +                           pkg-config
> +                           tcsh))
> +      (inputs (list gtk
> +                    gtk+
> +                    `(,gtk+ "bin")
> +                    libfst
> +                    tcllib))
> +      (synopsis "Waveform viewer for FPGA simulator trace files")
> +      (description "This package is a waveform viewer for FPGA
>  simulator trace files (@dfn{FST}).")
> -    (home-page "https://gtkwave.sourceforge.net/")
> -    ;; Exception against free government use in tcl_np.c and tcl_np.h.
> -    (license (list license:gpl2+ license:expat license:tcl/tk))))
> +      (home-page "https://github.com/gtkwave/gtkwave")
> +      ;; Exception against free government use in tcl_np.c and tcl_np.h.
> +      (license (list license:gpl2+ license:expat license:tcl/tk)))))

I've taken the liberty to make these changes locally:

--8<---------------cut here---------------start------------->8---
modified   gnu/packages/fpga.scm
@@ -82,7 +82,6 @@ (define-module (gnu packages fpga)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
-  #:use-module (gnu packages shells)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
@@ -481,7 +480,9 @@ (define-public nextpnr-ice40
   (deprecated-package "nextpnr-ice40" nextpnr))
 
 (define-public gtkwave
-  ;; There are no recent tag releases
+  ;; The last release is more than 2 years old, and there are improvements in
+  ;; the master branch, such as GTK 4 support: pick the latest commit that
+  ;; passes their CI.
   (let ((commit "bb978d9d667d569b9153ffa34007e300302907dc")
         (revision "0"))
     (package
@@ -500,20 +501,17 @@ (define-public gtkwave
       (build-system meson-build-system)
+      (arguments (list #:glib-or-gtk? #t))       
       (native-inputs (list desktop-file-utils
                            flex
-                           `(,glib "bin")
+                           `(,glib "bin") ;for glib-mkenums
                            gobject-introspection
                            gperf
-                           perl
-                           pkg-config
-                           tcsh))
+                           pkg-config))
       (inputs (list gtk
                     gtk+
-                    `(,gtk+ "bin")
-                    libfst
-                    tcllib))
+                    `(,gtk "bin")
+                    libfst))
       (synopsis "Waveform viewer for FPGA simulator trace files")
-      (description "This package is a waveform viewer for FPGA
-simulator trace files (@dfn{FST}).")
+      (description "This package is a waveform viewer for @acronym{FST, FPGA
+Simulator Trace} files.")
       (home-page "https://github.com/gtkwave/gtkwave")
       ;; Exception against free government use in tcl_np.c and tcl_np.h.
       (license (list license:gpl2+ license:expat license:tcl/tk)))))
--8<---------------cut here---------------end--------------->8---

I've tried making more explicit the comment explaining why we use a
snapshot from git.

I've removed inputs that were not detected by the build systems and
apparently unused: perl, tcsh and tcllib.

I've used the #:glib-or-gtk? argument, to wrap the binaries and ensure
they could run by themselves from a pure environment.

I've fixed the description to use @acronym and not @dfn.

Adjusted the change log message a bit and pushed!

-- 
Thanks,
Maxim


This bug report was last modified 24 days ago.

Previous Next


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