sbcl-mcclim broke on upgrade to sbcl@2.4.0

  • Done
  • quality assurance status badge
Details
4 participants
  • Carlo Zancanaro
  • Christopher Howard
  • Guillaume Le Vaillant
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
Christopher Howard
Severity
normal
C
C
Christopher Howard wrote on 14 Feb 18:29 +0100
(name . Bug Guix)(address . bug-guix@gnu.org)
Zcz4jaCEUQHwDmJk@theoden
Hello, sbcl-mcclim library broke on the upgrade to sbcl@2.4.0. Something changed so that many applications (include :clim-examples demos) break in runtime with an error like so:

```
invalid keyword argument: :CLIPPING-REGION (valid keys are :INK,
:TEXT-STYLE).
[Condition of type SB-INT:SIMPLE-PROGRAM-ERROR]
```

The problem is not present if I time-machine back to a commit with sbcl@2.3.7.

Rather than troubleshooting this problem, I would recommend upgrading sbcl-mcclim to the latest official release, which is Version 0.9.8.

Here is my system information:

```
christopher@theoden
-------------------
OS: Guix System x86_64
Host: OptiPlex 9020 00
Kernel: 6.6.14-gnu
Uptime: 51 mins
Packages: 99 (guix-system), 238 (guix-user)
Shell: bash 5.1.16
Resolution: 1920x1080
DE: GNOME
Theme: Adwaita [GTK2/3]
Icons: Adwaita [GTK2/3]
Terminal: shepherd
CPU: Intel i5-4570 (4) @ 3.600GHz
GPU: AMD ATI Radeon HD 8490 / R5 235X OEM
GPU: Intel HD Graphics
Memory: 3059MiB / 7865MiB
```

```
Generation 56 Feb 01 2024 08:45:13 (current)
guix 7bf8b7c
branch: master
commit: 7bf8b7c33304d6e69f36190f0444576da1863efc
```

--
? Christopher Howard
? gemini://gem.librehacker.com

?????? ??? ????? ?? ????? ??? ????
G
G
Guillaume Le Vaillant wrote on 15 Feb 11:28 +0100
(name . Christopher Howard)(address . christopher@librehacker.com)(address . 69129@debbugs.gnu.org)
87frxuxbbw.fsf@kitej
Christopher Howard <christopher@librehacker.com> skribis:

Toggle quote (12 lines)
> Hello, sbcl-mcclim library broke on the upgrade to sbcl@2.4.0. Something changed so that many applications (include :clim-examples demos) break in runtime with an error like so:
>
> ```
> invalid keyword argument: :CLIPPING-REGION (valid keys are :INK,
> :TEXT-STYLE).
> [Condition of type SB-INT:SIMPLE-PROGRAM-ERROR]
> ```
>
> The problem is not present if I time-machine back to a commit with sbcl@2.3.7.
>
> Rather than troubleshooting this problem, I would recommend upgrading sbcl-mcclim to the latest official release, which is Version 0.9.8.

Hi.
I don't reproduce the issue. I tried with:

Toggle snippet (7 lines)
guix shell sbcl sbcl-mcclim -- sbcl --no-userinit

(require :asdf)
(asdf:load-system "clim-examples")
(clim-demo:demodemo)

and it worked. What command did you use to get the error?
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZc3pYw8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j+rOAD8Cfr+IyeuDnBAUt9E5syNeKZvauEjs4lXq2tG
Z5UrJJQA/3N+a+qT6aXJS+GStsRTtgGQy82EZENyKbTMSK8qAT4h
=Ih1+
-----END PGP SIGNATURE-----

C
C
Christopher Howard wrote on 15 Feb 16:31 +0100
(name . Guillaume Le Vaillant)(address . glv@posteo.net)(address . 69129@debbugs.gnu.org)
Zc4uNfJ7ZLzx4lQS@theoden
Hi, to reproduce, run demodemo as you have done, and then click/tap the Stream test button. When the new window appears, start to move your graphical cursor
over it and it will throw the error.

I observed that this is now happening with at least several other of the demodemo test applications, and it was happening in my private application as well,
which I have not yet released, on multiple computers. I haven't done much research into the exact cause of the problem, as in my mind it was more of an excuse
to request an update to the latest release of mcclim.

--
Christopher Howard
G
G
Guillaume Le Vaillant wrote on 16 Feb 20:40 +0100
(name . Christopher Howard)(address . christopher@librehacker.com)(address . 69129@debbugs.gnu.org)
87cyswgpng.fsf@kitej
Christopher Howard <christopher@librehacker.com> skribis:

Toggle quote (7 lines)
> Hi, to reproduce, run demodemo as you have done, and then click/tap the Stream test button. When the new window appears, start to move your graphical cursor
> over it and it will throw the error.
>
> I observed that this is now happening with at least several other of the demodemo test applications, and it was happening in my private application as well,
> which I have not yet released, on multiple computers. I haven't done much research into the exact cause of the problem, as in my mind it was more of an excuse
> to request an update to the latest release of mcclim.

Hi.
I tried updating mcclim to 0.9.8, but it didn't make any difference.
I also tried updating some dependencies, like clx or cl-freetype2, but
it still didn't make a difference.
I guess some debugging is going to be necessary...
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZc+7Iw8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j9lowD/Qv0oNnzFiUzyMgTnaHdJJ1aXiKb0DDBBeWJg
qrXu84cA/RrRl+U8ixnMNpVARabcbtVe1tRec1IUAW2Y3NuHsTHd
=UVmS
-----END PGP SIGNATURE-----

C
C
Carlo Zancanaro wrote on 17 Feb 12:24 +0100
[PATCH] gnu: sbcl-mcclim: Update to 0.9.8.
(name . Guillaume Le Vaillant)(address . glv@posteo.net)
add58588f6cbdc2cba95136d046d3f7665de6f2c.1708169064.git.carlo@zancanaro.id.au
* gnu/packages/lisp-xyz.scm (sbcl-mcclim): Update to 0.9.8, and add
sbcl-cluffer and sbcl-lorem-ipsum inputs.

Change-Id: I35bed62483973e2dd6f6f142df096abf765b4208
---

I have attempted to update sbcl-mcclim. I tested using the same steps
as Guillaume:

$ guix shell sbcl sbcl-mcclim -- sbcl --no-userinit

Then at the sbcl prompt I ran:

(require :asdf)
(asdf:load-system "clim-examples")
(clim-demo:demodemo)

Then I opened the stream test and it seemed to work properly. Testing
without this patch I could reproduce the failure, so hopefully this
fixes the real problems, too.

I didn't properly check all of the inputs, I just added the inputs
that I needed to make asdf happy and for it to build.

gnu/packages/lisp-xyz.scm | 128 +++++++++++++++++++-------------------
1 file changed, 64 insertions(+), 64 deletions(-)

Toggle diff (144 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 045a3e939a..7b145398fa 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -15481,71 +15481,71 @@ (define-public ecl-dejavu
(sbcl-package->ecl-package sbcl-cl-dejavu))
(define-public sbcl-mcclim
- (let ((commit "ece91cf035e2ccb1c6eb0bb867ae2bc45f627982")
- (revision "3"))
- (package
- (name "sbcl-mcclim")
- (version (git-version "0.9.7" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/McCLIM/McCLIM")
- (commit commit)))
- (file-name (git-file-name "cl-mcclim" version))
- (sha256
- (base32 "0prn4f0nz604ykcg8004f1vndgjm7181wrlblq6mhasphca28c2k"))))
- (build-system asdf-build-system/sbcl)
- (native-inputs
- (list sbcl-fiveam pkg-config))
- (inputs
- (list fontconfig
- freetype
- harfbuzz
- sbcl-alexandria
- sbcl-babel
- sbcl-bordeaux-threads
- sbcl-cffi
- sbcl-cl-base64
- sbcl-cl-dejavu
- sbcl-cl-freetype2
- sbcl-cl-pdf
- sbcl-cl-unicode
- sbcl-cl-vectors
- sbcl-cl-who
- sbcl-closer-mop
- sbcl-clx
- sbcl-flexi-streams
- sbcl-flexichain
- sbcl-log4cl
- sbcl-opticl
- sbcl-slime-swank
- sbcl-spatial-trees
- sbcl-trivial-features
- sbcl-trivial-garbage
- sbcl-trivial-gray-streams
- sbcl-zpb-ttf))
- (arguments
- '(#:asd-systems '("mcclim"
- "clim-examples"
- ;; clim-debugger is required by cleavir.
- "clim-debugger")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "Extensions/fontconfig/src/functions.lisp"
- (("libfontconfig\\.so")
- (search-input-file inputs "/lib/libfontconfig.so")))
- (substitute* "Extensions/harfbuzz/src/functions.lisp"
- (("libharfbuzz\\.so")
- (search-input-file inputs "/lib/libharfbuzz.so"))))))))
- (home-page "https://mcclim.common-lisp.dev/")
- (synopsis "Common Lisp GUI toolkit")
- (description
- "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
+ (package
+ (name "sbcl-mcclim")
+ (version "0.9.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/McCLIM/McCLIM")
+ (commit "0.9.8-yule")))
+ (file-name (git-file-name "cl-mcclim" version))
+ (sha256
+ (base32 "0gbi61jnnsz6fvhv18mf57jkq46bvcd0355vqdcnrni7xyi10sk8"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list sbcl-fiveam pkg-config))
+ (inputs
+ (list fontconfig
+ freetype
+ harfbuzz
+ sbcl-alexandria
+ sbcl-babel
+ sbcl-bordeaux-threads
+ sbcl-cffi
+ sbcl-cl-base64
+ sbcl-cl-dejavu
+ sbcl-cl-freetype2
+ sbcl-cl-pdf
+ sbcl-cl-unicode
+ sbcl-cl-vectors
+ sbcl-cl-who
+ sbcl-closer-mop
+ sbcl-cluffer
+ sbcl-clx
+ sbcl-flexi-streams
+ sbcl-flexichain
+ sbcl-log4cl
+ sbcl-lorem-ipsum
+ sbcl-opticl
+ sbcl-slime-swank
+ sbcl-spatial-trees
+ sbcl-trivial-features
+ sbcl-trivial-garbage
+ sbcl-trivial-gray-streams
+ sbcl-zpb-ttf))
+ (arguments
+ '(#:asd-systems '("mcclim"
+ "clim-examples"
+ ;; clim-debugger is required by cleavir.
+ "clim-debugger")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Extensions/fontconfig/src/functions.lisp"
+ (("libfontconfig\\.so")
+ (search-input-file inputs "/lib/libfontconfig.so")))
+ (substitute* "Extensions/harfbuzz/src/functions.lisp"
+ (("libharfbuzz\\.so")
+ (search-input-file inputs "/lib/libharfbuzz.so"))))))))
+ (home-page "https://mcclim.common-lisp.dev/")
+ (synopsis "Common Lisp GUI toolkit")
+ (description
+ "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
specification}, a toolkit for writing GUIs in Common Lisp.")
- (license license:lgpl2.1+))))
+ (license license:lgpl2.1+)))
(define-public cl-mcclim
(sbcl-package->cl-source-package sbcl-mcclim))

base-commit: 91d80460296e2d5a01704d0f34fb966a45a165ae
--
2.41.0
S
S
Sharlatan Hellseher wrote on 17 Feb 12:40 +0100
(address . carlo@zancanaro.id.au)(address . 69129@debbugs.gnu.org)
CAO+9K5peqzZSLBCtHELk3Z_yri3DA7YJRLpp=OHu5WTS5C9A6A@mail.gmail.com
Hi Carlo,

Thank you for the patch!

May you split it into 2 please? One just updating version and adding missing
inputs the other indent it. It would ease the review process to visually
identify what was changed.

Looking froward for v2!

Thanks,
Oleg
C
C
Carlo Zancanaro wrote on 17 Feb 13:02 +0100
[PATCH v2 1/2] gnu: sbcl-mcclim: Update to 0.9.8.
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 69129@debbugs.gnu.org)
a4361e26c1595fe43df9e1610b1cf2fed2998d76.1708171359.git.carlo@zancanaro.id.au
* gnu/packages/lisp-xyz.scm (sbcl-mcclim): Update to 0.9.8, and add
sbcl-cluffer and sbcl-lorem-ipsum inputs.

Change-Id: I35bed62483973e2dd6f6f142df096abf765b4208
---
gnu/packages/lisp-xyz.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (46 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 045a3e939a..5a8108e811 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -15481,20 +15481,19 @@ (define-public ecl-dejavu
(sbcl-package->ecl-package sbcl-cl-dejavu))
(define-public sbcl-mcclim
- (let ((commit "ece91cf035e2ccb1c6eb0bb867ae2bc45f627982")
- (revision "3"))
+ (let ((commit #f)) ; avoiding changing indentation
(package
(name "sbcl-mcclim")
- (version (git-version "0.9.7" revision commit))
+ (version "0.9.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://codeberg.org/McCLIM/McCLIM")
- (commit commit)))
+ (commit "0.9.8-yule")))
(file-name (git-file-name "cl-mcclim" version))
(sha256
- (base32 "0prn4f0nz604ykcg8004f1vndgjm7181wrlblq6mhasphca28c2k"))))
+ (base32 "0gbi61jnnsz6fvhv18mf57jkq46bvcd0355vqdcnrni7xyi10sk8"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-fiveam pkg-config))
@@ -15514,10 +15513,12 @@ (define-public sbcl-mcclim
sbcl-cl-vectors
sbcl-cl-who
sbcl-closer-mop
+ sbcl-cluffer
sbcl-clx
sbcl-flexi-streams
sbcl-flexichain
sbcl-log4cl
+ sbcl-lorem-ipsum
sbcl-opticl
sbcl-slime-swank
sbcl-spatial-trees

base-commit: 91d80460296e2d5a01704d0f34fb966a45a165ae
--
2.41.0
C
C
Carlo Zancanaro wrote on 17 Feb 13:02 +0100
[PATCH v2 2/2] gnu: sbcl-mcclim: Reformatting.
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 69129@debbugs.gnu.org)
ae04a4494b66d061d83fb8584d6bbcf852521f7f.1708171360.git.carlo@zancanaro.id.au
* gnu/packages/lisp-xyz.scm (sbcl-mcclim): Remove let and reindent.

Change-Id: Ib7faade37178aff779fbffe1cb439367b5740b91
---
gnu/packages/lisp-xyz.scm | 129 +++++++++++++++++++-------------------
1 file changed, 64 insertions(+), 65 deletions(-)

Toggle diff (143 lines)
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 5a8108e811..7b145398fa 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -15481,72 +15481,71 @@ (define-public ecl-dejavu
(sbcl-package->ecl-package sbcl-cl-dejavu))
(define-public sbcl-mcclim
- (let ((commit #f)) ; avoiding changing indentation
- (package
- (name "sbcl-mcclim")
- (version "0.9.8")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/McCLIM/McCLIM")
- (commit "0.9.8-yule")))
- (file-name (git-file-name "cl-mcclim" version))
- (sha256
- (base32 "0gbi61jnnsz6fvhv18mf57jkq46bvcd0355vqdcnrni7xyi10sk8"))))
- (build-system asdf-build-system/sbcl)
- (native-inputs
- (list sbcl-fiveam pkg-config))
- (inputs
- (list fontconfig
- freetype
- harfbuzz
- sbcl-alexandria
- sbcl-babel
- sbcl-bordeaux-threads
- sbcl-cffi
- sbcl-cl-base64
- sbcl-cl-dejavu
- sbcl-cl-freetype2
- sbcl-cl-pdf
- sbcl-cl-unicode
- sbcl-cl-vectors
- sbcl-cl-who
- sbcl-closer-mop
- sbcl-cluffer
- sbcl-clx
- sbcl-flexi-streams
- sbcl-flexichain
- sbcl-log4cl
- sbcl-lorem-ipsum
- sbcl-opticl
- sbcl-slime-swank
- sbcl-spatial-trees
- sbcl-trivial-features
- sbcl-trivial-garbage
- sbcl-trivial-gray-streams
- sbcl-zpb-ttf))
- (arguments
- '(#:asd-systems '("mcclim"
- "clim-examples"
- ;; clim-debugger is required by cleavir.
- "clim-debugger")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "Extensions/fontconfig/src/functions.lisp"
- (("libfontconfig\\.so")
- (search-input-file inputs "/lib/libfontconfig.so")))
- (substitute* "Extensions/harfbuzz/src/functions.lisp"
- (("libharfbuzz\\.so")
- (search-input-file inputs "/lib/libharfbuzz.so"))))))))
- (home-page "https://mcclim.common-lisp.dev/")
- (synopsis "Common Lisp GUI toolkit")
- (description
- "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
+ (package
+ (name "sbcl-mcclim")
+ (version "0.9.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/McCLIM/McCLIM")
+ (commit "0.9.8-yule")))
+ (file-name (git-file-name "cl-mcclim" version))
+ (sha256
+ (base32 "0gbi61jnnsz6fvhv18mf57jkq46bvcd0355vqdcnrni7xyi10sk8"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ (list sbcl-fiveam pkg-config))
+ (inputs
+ (list fontconfig
+ freetype
+ harfbuzz
+ sbcl-alexandria
+ sbcl-babel
+ sbcl-bordeaux-threads
+ sbcl-cffi
+ sbcl-cl-base64
+ sbcl-cl-dejavu
+ sbcl-cl-freetype2
+ sbcl-cl-pdf
+ sbcl-cl-unicode
+ sbcl-cl-vectors
+ sbcl-cl-who
+ sbcl-closer-mop
+ sbcl-cluffer
+ sbcl-clx
+ sbcl-flexi-streams
+ sbcl-flexichain
+ sbcl-log4cl
+ sbcl-lorem-ipsum
+ sbcl-opticl
+ sbcl-slime-swank
+ sbcl-spatial-trees
+ sbcl-trivial-features
+ sbcl-trivial-garbage
+ sbcl-trivial-gray-streams
+ sbcl-zpb-ttf))
+ (arguments
+ '(#:asd-systems '("mcclim"
+ "clim-examples"
+ ;; clim-debugger is required by cleavir.
+ "clim-debugger")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Extensions/fontconfig/src/functions.lisp"
+ (("libfontconfig\\.so")
+ (search-input-file inputs "/lib/libfontconfig.so")))
+ (substitute* "Extensions/harfbuzz/src/functions.lisp"
+ (("libharfbuzz\\.so")
+ (search-input-file inputs "/lib/libharfbuzz.so"))))))))
+ (home-page "https://mcclim.common-lisp.dev/")
+ (synopsis "Common Lisp GUI toolkit")
+ (description
+ "McCLIM is an implementation of the @emph{Common Lisp Interface Manager
specification}, a toolkit for writing GUIs in Common Lisp.")
- (license license:lgpl2.1+))))
+ (license license:lgpl2.1+)))
(define-public cl-mcclim
(sbcl-package->cl-source-package sbcl-mcclim))
--
2.41.0
S
S
Sharlatan Hellseher wrote on 17 Feb 13:58 +0100
sbcl-mcclim broke on upgrade to sbcl@2.4.0
(address . 69129-done@debbugs.gnu.org)
87zfvzl02q.fsf@gmail.com
Hi,

I've added copyright header and use version field for commit.

Pushed as 4fecd14409..3cf199dbcf to master.

--
Oleg
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmXQrV0ACgkQdtcnv/Ys
0rWq8g//ZSTxgiaoQcCI5YS/SmPGt2kBiOSjYOtifK6JPcbe4tPSTXWsTh3ltjg7
8LYY0gg27sv8/yUF62Aj/KZmL1k9v/1SNF9UjvYnGBFpDoLmotnM5lc8udhPd2/w
1bKcZPomEwxd7ptUeNOkNgdZb8cu5sKJxH4dswbTGjc5iL5gTtt3HfmZyRBPqaZK
1D2q9HqxUYcTAtFtM0kNdSUQoGLfmTzE/hW3/8qNMsLWfTKW5iUHwoWoIHajvdte
WGN5896KWIyAlSk5s8fF7ZBtFGXc7xHC6j/vUOmGFd0SjlBeQkzg7wrRq5B/OH75
NJCI429bWp5AxIQuaGn7/sgizwvM0NGqlQhJBlqrSgqR6epw81n2eBa/GAYwc4zb
IOjv+w4GzsB4b5bZ4lcopQrmk89euCwRkSIfosWnHlMv9HHRV0PJyXJBlAXnBxyN
rOfrzaqYZ+LVauUaxCX4kTRo6FozRwBF+JbEg7dzg/I2CWZA7kzuOkzlCbrVHy3g
y41OF1wCkLtTQZeW/v+h5OhvRVuPJdy4MIkhfHTg4k5NNSWgYNlipBS1bP0c5760
lGH53J0kni56GseGplO5ez6wG7+/XfF8TN4hdCOEI6iNOR09OlzE9tPb6+4DG1tP
GQZdlz4aL5LmO4YHrUwjm+LLLUJiO4wPmELRxDwA4ecHMg/q25k=
=MRpj
-----END PGP SIGNATURE-----

Closed
C
C
Carlo Zancanaro wrote on 18 Feb 04:14 +0100
(name . Sharlatan Hellseher)(address . sharlatanus@gmail.com)(address . 69129@debbugs.gnu.org)
878r3ixy3x.fsf@zancanaro.id.au
On Sat, Feb 17 2024, Sharlatan Hellseher wrote:
Toggle quote (2 lines)
> I've added copyright header and use version field for commit.

Thanks for that. I feel like this work was entirely mechanical, so I
would have been fine without a copyright header, but I appreciate it.

I'm curious about the version/commit change, though. Given the -yule
suffix on the tag name changes with each version we will still need to
manually update the origin's commit. It feels like unnecessary
indirection to me. What is the benefit to referencing the package's
version in the origin like this?

Carlo
S
S
Sharlatan Hellseher wrote on 18 Feb 15:35 +0100
sbcl-mcclim broke on upgrade to sbcl@2.4.0
(name . Carlo Zancanaro)(address . carlo@zancanaro.id.au)(address . 69129@debbugs.gnu.org)
87r0h9lu1y.fsf@gmail.com
Hi Carlo,

Toggle quote (2 lines)
> I feel like this work was entirely mechanical, so I would have been
> fine without a copyright header, but I appreciate it.
I think it's reasonable to include copyright to highlight the efforts
contributed ;-). If you check the commit history it usually includes
copyright header for package updates and adjustments.

Toggle quote (5 lines)
> I'm curious about the version/commit change, though. Given the -yule
> suffix on the tag name changes with each version we will still need to
> manually update the origin's commit. It feels like unnecessary
> indirection to me. What is the benefit to referencing the package's
> version in the origin like this?
I've done some research on how it looks like in scale, trying to stick
to some constancy, which is hard to determine... so I've decided to keep
version following semantic style and commit as combination of semantic
version and suffix.

How commit is compiled:
Toggle snippet (324 lines)
grep "commit.*string-append.*version" gnu/packages/*scm | awk -F: '{print $2}' | sed -e 's/^[ \t]*//' | sort | uniq -c | sort -rn
2780 (commit (string-append "v" version))))
46 (commit (string-append "v" version))
38 (commit (string-append "release-" version))))
20 (commit (string-append name "-" version))))
12 (commit (string-append "V" version))))
9 (commit (string-append "v." version))))
9 (commit (string-append "rocm-" version))))
8 (commit (string-append "version-" version))))
7 (commit (string-append version))))
7 (commit (string-append "go" version))))
6 (commit (string-append "r" version))))
6 (commit (string-append "android-" version))))
5 (commit (string-append "release_" version))))
5 (commit (string-append "releases/" version))))
4 (commit (string-append "VERSION_" version))))
4 (commit (string-append "upstream/" version))))
4 (commit (string-append "Release_" version))))
3 (commit (string-append "rel-" version))))
3 (commit (string-append "release/" version))))
3 (commit (string-append "jb" version))))
3 (commit (string-append "debian/" version))))
3 (commit (string-append "apache-arrow-" version))))
2 (commit (string-append "wsjtx-" version))))
2 (commit (string-append "v" version "-stable"))))
2 (commit (string-append "v_" version))))
2 (commit (string-append "v" upstream-version))))
2 (commit (string-append "v" (string-join (string-split version #\.)
2 (commit (string-append "ver." version))))
2 (commit (string-append "version_" version))))
2 (commit (string-append version "-stable"))))
2 (commit (string-append "rel" version))))
2 (commit (string-append "RELEASE_" version))))
2 (commit (string-append "Release-" version))))
2 (commit (string-append "release_" version))
2 (commit (string-append "ppp-" version))))
2 (commit (string-append "plexus-utils-" version))))
2 (commit (string-append "plexus-containers-" version))))
2 (commit (string-append "plexus-components-" version))))
2 (commit (string-append "plexus-cipher-" version))))
2 (commit (string-append "mbedtls-" version))))
2 (commit (string-append "llvmorg-" version))))
2 (commit (string-append "jline-parent-" version))))
2 (commit (string-append "edk2-stable" version))))
2 (commit (string-append "easymock-" version))))
2 (commit (string-append "cling-v" %cling-version))))
2 (commit (string-append "biojava-" version))))
2 (commit (string-append "aether-" version))))
1 (commit (string-append "Zstd-v" version))))
1 (commit (string-append "Zlib-v" version))))
1 (commit (string-append "z3-" version))))
1 (commit (string-append "yosys-" version))))
1 (commit (string-append "XSLT-v" version))))
1 (commit (string-append "Xorg_xtrans-v" version))))
1 (commit (string-append "Xorg_xkeyboard_config-v" version))))
1 (commit (string-append "Xorg_xkbcomp-v" version))))
1 (commit (string-append "Xorg_xcb_util_wm-v" version))))
1 (commit (string-append "Xorg_xcb_util-v" version))))
1 (commit (string-append "Xorg_xcb_util_renderutil-v" version))))
1 (commit (string-append "Xorg_xcb_util_keysyms-v" version))))
1 (commit (string-append "Xorg_xcb_util_image-v" version))))
1 (commit (string-append "Xorg_libXrender-v" version))))
1 (commit (string-append "Xorg_libXrandr-v" version))))
1 (commit (string-append "Xorg_libxkbfile-v" version))))
1 (commit (string-append "Xorg_libXi-v" version))))
1 (commit (string-append "Xorg_libXinerama-v" version))))
1 (commit (string-append "Xorg_libXfixes-v" version))))
1 (commit (string-append "Xorg_libXext-v" version))))
1 (commit (string-append "Xorg_libXdmcp-v" version))))
1 (commit (string-append "Xorg_libXcursor-v" version))))
1 (commit (string-append "Xorg_libxcb-v" version))))
1 (commit (string-append "Xorg_libXau-v" version))))
1 (commit (string-append "Xorg_libX11-v" version))))
1 (commit (string-append "Xorg_libpthread_stubs-v" version))))
1 (commit (string-append "XOM_" version))))
1 (commit (string-append "XML2-v" version))))
1 (commit (string-append "xkcdpass-" version))))
1 (commit (string-append "xkbcommon-v" version))))
1 (commit (string-append "xcompmgr-" version))))
1 (commit (string-append "x265-v" version))))
1 (commit (string-append "x264-v" version))))
1 (commit (string-append "wyhash_v" version))))
1 (commit (string-append "woodstox-core-" version))))
1 (commit (string-append "WCS-v" version))))
1 (commit (string-append "Wayland-v" version))))
1 (commit (string-append "Wayland_protocols-v" version))))
1 (commit (string-append "WAMR-" version))))
1 (commit (string-append "v" version "(stable)"))))
1 (commit (string-append "v" version "_release"))))
1 (commit (string-append "v" version "_rdkit"))))
1 (commit (string-append "v" version "-oss"))))
1 (commit (string-append "v" (version-major+minor version)))))
1 (commit (string-append "v" version "-debian"))))
1 (commit (string-append "V_" version))))
1 (commit (string-append"v" version))))
1 (commit (string-append "v-" version))))
1 (commit (string-append "v"version))))
1 (commit (string-append "v" version))))
1 (commit (string-append "v" suitesparse-version))))
1 (commit (string-append "V" (string-replace-substring version "." "_")))))
1 (commit (string-append "v" %ruby-rails-version))))
1 (commit (string-append version "-yule"))))
1 (commit (string-append "VERSION_" version))
1 (commit (string-append "Version_" version))))
1 (commit (string-append "Version-" version))))
1 (commit (string-append "Version-" version))
1 (commit (string-append "Version" version))))
1 (commit (string-append version "-release-20210531143054"))))
1 (commit (string-append version "-release-20210412001032"))))
1 (commit (string-append version "-RELEASE"))))
1 (commit (string-append version "R"))))
1 (commit (string-append version "-opt"))))
1 (commit (string-append version "-Matrix"))))
1 (commit (string-append version "_Linux"))
1 (commit (string-append version "-freebsdport"))))
1 (commit (string-append version "-dev"))))
1 (commit (string-append "uuu_" version))))
1 (commit (string-append "usbguard-" version))))
1 (commit (string-append "usb4java-" version))))
1 (commit (string-append "txt2man-" version))))
1 (commit (string-append "txr-" version))))
1 (commit (string-append "Trinity-v" version))
1 (commit (string-append "trayer-" version))))
1 (commit (string-append "tp-smapi/" version))))
1 (commit (string-append "tools.macro-" version))))
1 (commit (string-append "tools.cli-" version))))
1 (commit (string-append "tlpui-" version))))
1 (commit (string-append "tlf-" version))))
1 (commit (string-append "tilda-" version))))
1 (commit (string-append "tennix-" version))))
1 (commit (string-append "Tamzen-" version))))
1 (commit (string-append tag-prefix version))))
1 (commit (string-append "swift-" version "-RELEASE"))))
1 (commit (string-append "Sundials-v" version))))
1 (commit (string-append "stable-" version))))
1 (commit (string-append "soapy-sdr-" version))))
1 (commit (string-append "soapy-rtl-sdr-" version))))
1 (commit (string-append "soapy-airspy-" version))))
1 (commit (string-append "soapy-airspyhf-" version))))
1 (commit (string-append "snappy-" version))))
1 (commit (string-append "snappy-java-" version))))
1 (commit (string-append "sf-v" version))))
1 (commit (string-append "sf_" version))))
1 (commit (string-append "sec-dispatcher-" version))))
1 (commit (string-append "saveplace-pdf-view-" version))))
1 (commit (string-append "salmon-v" version))))
1 (commit (string-append "R" version))))
1 (commit (string-append "rocm-" %rocm-version))))
1 (commit (string-append "reptyr-" version))))
1 (commit (string-append "rel_" version))))
1 (commit (string-append "rel." version))))
1 (commit (string-append "Release_v" version))))
1 (commit (string-append "release/v" version))))
1 (commit (string-append "release-v" version))))
1 (commit (string-append "RELEASE-" version))))
1 (commit (string-append "Release" version))))
1 (commit (string-append "release." version))))
1 (commit (string-append "releases/v" version))))
1 (commit (string-append release-date "-Release-" version))))
1 (commit (string-append "release/" api-version))))
1 (commit (string-append "r1rv" (substring version 2 4)))))
1 (commit (string-append "Qt5Base-v" version))))
1 (commit (string-append "qgit-" version))))
1 (commit (string-append "q5go-" version))))
1 (commit (string-append "python/v" version))))
1 (commit (string-append "pygraphviz-" version))))
1 (commit (string-append "pw-" version))))
1 (commit (string-append "p" version))))
1 (commit (string-append "psm-v" version))))
1 (commit (string-append "poco-" version "-release"))))
1 (commit (string-append "plexus-" version))))
1 (commit (string-append "plexus-sec-dispatcher-" version))))
1 (commit (string-append "plexus-languages-" version))))
1 (commit (string-append "plexus-io-" version))))
1 (commit (string-append "plexus-interpolation-" version))))
1 (commit (string-append "plexus-compiler-" version))))
1 (commit (string-append "plexus-classworlds-" version))))
1 (commit (string-append "plexus-build-api-" version))))
1 (commit (string-append "Pixman-v" version))))
1 (commit (string-append "piccolo2d-complete-" version))))
1 (commit (string-append "PCRE-v" version))))
1 (commit (string-append "pam_u2f-" version))))
1 (commit (string-append "Pacemaker-" version))))
1 (commit (string-append "OTP-" version))))
1 (commit (string-append "oss-parent-" version))))
1 (commit (string-append "Opus-v" version))))
1 (commit (string-append "OpenSSL-v" version))))
1 (commit (string-append "OpenSceneGraph-" version))))
1 (commit (string-append "openmw-" version))))
1 (commit (string-append "Ogg-v" version))))
1 (commit (string-append "noto-monthly-release-" version))))
1 (commit (string-append "nightly/" %jami-nightly-version))))
1 (commit (string-append "MyGUI" version))))
1 (commit (string-append "modello-" version))))
1 (commit (string-append "MeshLab-" version))
1 (commit (string-append "MbedTLS-v" version))))
1 (commit (string-append "maven-" version))))
1 (commit (string-append "maven-resources-plugin-" version))))
1 (commit (string-append "maven-resolver-" version))))
1 (commit (string-append "maven-plugins-" version))))
1 (commit (string-append "maven-parent-" version))))
1 (commit (string-append "maven-jar-plugin-" version))))
1 (commit (string-append "maven-compiler-plugin-" version))))
1 (commit (string-append "mathcomp-" version))))
1 (commit (string-append "mapdb-" version))))
1 (commit (string-append "LZO-v" version))))
1 (commit (string-append "lzfse-" version))))
1 (commit (string-append "lyrebird-" version))))
1 (commit (string-append "lxcfs-" version))))
1 (commit (string-append "LUFA-" version))))
1 (commit (string-append "lrcalc-" version))))
1 (commit (string-append "LMDB_" version))))
1 (commit (string-append "Link-" version))))
1 (commit (string-append "libxklavier-" version))))
1 (commit (string-append "libvorbis-v" version))))
1 (commit (string-append "LibVNCServer-" version))))
1 (commit (string-append "Libuuid-v" version))))
1 (commit (string-append "liburing-" version))))
1 (commit (string-append "libu2f-server-" version))))
1 (commit (string-append "Libtiff-v" version))))
1 (commit (string-append "libspnav-" version))))
1 (commit (string-append "librttopo-" version))))
1 (commit (string-append "libpng-v" version))))
1 (commit (string-append "libnfs-" version))))
1 (commit (string-append "Libmount-v" version))))
1 (commit (string-append "Libiconv-v" version))))
1 (commit (string-append "Libgpg_error-v" version))))
1 (commit (string-append "Libglvnd-v" version))))
1 (commit (string-append "Libgcrypt-v" version))))
1 (commit (string-append "Libffi-v" version))))
1 (commit (string-append "libfdk_aac-v" version))))
1 (commit (string-append "libass-v" version))))
1 (commit (string-append "LAME-v" version))))
1 (commit (string-append "kismet-" version "-R1"))))
1 (commit (string-append "JUnitParams-" version))))
1 (commit (string-append "jsoup-" version))))
1 (commit (string-append "JpegTurbo-v" version))))
1 (commit (string-append "jetty-test-helper-" version))))
1 (commit (string-append "jettison-" version))))
1 (commit (string-append "JDOM-" version))))
1 (commit (string-append "jdk-" version*
1 (commit (string-append "jblas-" version))))
1 (commit (string-append "javaparser-parent-" version))))
1 (commit (string-append "JavaEWAH-" version))))
1 (commit (string-append "jansi-" version))))
1 (commit (string-append "jansi-project-" version))))
1 (commit (string-append "JAMMv" version))))
1 (commit (string-append "jackson-dataformat-xml-" version))))
1 (commit (string-append "iso-codes-" version))))
1 (commit (string-append "interval-" version))))
1 (commit (string-append "interleave-" version))))
1 (commit (string-append "intel-" name "-" version))))
1 (commit (string-append "input-wacom-" version))))
1 (commit (string-append "IMB-v" version))))
1 (commit (string-append "ImageMagick-v" version))))
1 (commit (string-append "hidapi-" version))))
1 (commit (string-append "HdrHistogram-" version))))
1 (commit (string-append "hamcrest-java-" version))))
1 (commit (string-append "haddock-" version "-release"))))
1 (commit (string-append "g" version))))
1 (commit (string-append "Gumbo-v" version))))
1 (commit (string-append "guile-dbi-" version))))
1 (commit (string-append "gson-parent-" version))))
1 (commit (string-append "GR-v" version))))
1 (commit (string-append "gperftools-" version))))
1 (commit (string-append "gopls/v" version))))
1 (commit (string-append "google-" version))))
1 (commit (string-append "glu-" version))))
1 (commit (string-append "Glib-v" version))))
1 (commit (string-append "GLFW-v" version))))
1 (commit (string-append "git-" version))))
1 (commit (string-append "Gettext-v" version))))
1 (commit (string-append "gappalib-coq-" version))))
1 (commit (string-append "FriBidi-v" version))))
1 (commit (string-append "FreeType2-v" version))))
1 (commit (string-append "forge-parent-" version))))
1 (commit (string-append "Fontconfig-v" version))))
1 (commit (string-append "flocq-" version))))
1 (commit (string-append "findnewest-" version))))
1 (commit (string-append "FFMPEG-v" version))))
1 (commit (string-append "fest-util-" version))))
1 (commit (string-append "fest-test-" version))))
1 (commit (string-append "fest-assert-core-" version))))
1 (commit (string-append "Expat-v" version))))
1 (commit (string-append "evtest-" version))))
1 (commit (string-append "et-v" version))))
1 (commit (string-append "ERFA-v" version))))
1 (commit (string-append "efilinux-" version))))
1 (commit (string-append "doxia-" version))))
1 (commit (string-append "ddskk-" version "_" code-name))))
1 (commit (string-append "data.xml-" version))))
1 (commit (string-append "data.codec-" version))))
1 (commit (string-append "cudd-" version))))
1 (commit (string-append "csmith-" version))))
1 (commit (string-append "crispy-doom-" version))))
1 (commit (string-append "core.match-" version))))
1 (commit (string-append "coquelicot-" version))))
1 (commit (string-append "coq-stdpp-" version))))
1 (commit (string-append "CompilerSupportLibraries-v" version))))
1 (commit (string-append "colobot-gold-" version))
1 (commit (string-append "Coin-" version))
1 (commit (string-append "cl-yacc-" version))))
1 (commit (string-append "cj" version))))
1 (commit (string-append "Chipmunk-" version))))
1 (commit (string-append "CFITSIO-v" version))))
1 (commit (string-append "cardpeek-" version))))
1 (commit (string-append "Cairo-v" version))))
1 (commit (string-append "Bzip2-v" version))))
1 (commit (string-append "boost-" version))))
1 (commit (string-append "BCHunlimited" version))))
1 (commit (string-append "bash-" version))))
1 (commit (string-append "AvalonToolkit_" version))))
1 (commit (string-append "Audacity-" version))))
1 (commit (string-append "assertj-core-" version))))
1 (commit (string-append "args4j-site-" version))))
1 (commit (string-append "argparse4j-" version))))
1 (commit (string-append "apache-" version))))
1 (commit (string-append "algo.monads-" version))))
1 (commit (string-append "algo.generic-" version))))
1 (commit (string-append "389-ds-base-" version))))
1 (commit (string-append "1.1-" version "-RELEASE"))))
1 (commit (apply string-append "mame" (string-split version #\.)))))

How store file name is compiled:

Toggle snippet (15 lines)
grep "file-name.*git-file-name.*" gnu/packages/*scm | awk -F: '{print $2}' | sed -e 's/^[ \t]*//' | sort | uniq -c | sort -rn
6118 (file-name (git-file-name name version))
351 (file-name (git-file-name name version))))
18 (file-name (git-file-name name commit))
4 (file-name (git-file-name "libgit2" version))
3 (file-name (git-file-name name commit))))
2 (file-name (git-file-name "proc-parse" version))))
2 (file-name (git-file-name "opencv_3rdparty" commit))
2 (file-name (git-file-name name version)))))))
2 (file-name (git-file-name name version))))))
2 (file-name (git-file-name "java-sonatype-spice-parent-pom" version))
2 (file-name (git-file-name "java-asm" version))
2 (file-name (git-file-name "gnuzilla"
2 (file
This message was truncated. Download the full message here.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmEeB3micIcJkGAhndtcnv/Ys0rUFAmXSFZkACgkQdtcnv/Ys
0rX3Wg/8CWCBagOKCCeqjMZWLWOD2e7XAad1B/5m1rzE9cOlwEdwLSt/hf/6TgK2
81GwpRmPkxa4gJyPwlhRWMnQBDDeRMExo6/uR1mKWN+2ybjtGBeyNp5wABdp+D8R
KsQ/ymr1wAvLTSWat2DBQ48trcUXooSwK3iu62R4vpta8s1TLnhko6wWCR9jpjgu
IQSqRCt7xbhUUYmlaXEFKsz7wIVC9ZLazg0484qgkdS+t27WrihLvPNYSXi9y3UR
lSvgON8rbcJxj8BOXM9aBNykc6Pe8vzR1nSFn6XDWJVVSLDqNsHK5ev7CrY66DCx
w+2AnBt58DEskkRvRCOzuljHKQYm6Da9IAJwuif2NOwbcXfnp772H1hyvttxdghZ
2vpf0rMoU5ZVRHG2+uRdKMacinMd5t4aglMOiSbwKXWLCRL2iHmdoEV7qnsq0s/H
QutjLhTAji68y3D/IIiuT8b+8dpg+2QwD1t+4avc3jI/fGa3qg756Rn20OfLCCAm
o7e/RR/m9a84aPH6xmKt/5i8TPm0FdNdFTzn2WDa7HFJz1pXOIv4iAQnBOnC6BHr
IFMMPQ8w/8cZmcsv2j9DPtBypjshvkonMXJkKS9sBJTS15Mv3rTcEaUJC+x6JyHv
eVq256FrOT3Pgr4axiLuANUVMmTXMGFsYcAE/A+DfT2EyGsxpho=
=NWyN
-----END PGP SIGNATURE-----

?