Subject: Re: [bug#77552] [PATCH 4/5] gnu: cbqn-bootstrap: Update to 0.9.0.

From: Lee Thompson <[email-masked]>
Date: Wed, 09 Apr 2025 19:02:30 +0100

Cayetano Santos <[email-masked]> writes:

> You exceed maximum column here.
>
> Use ‘./pre-inst-env guix lint PACKAGE’ before submitting to fix this
> kind of errors.
Okay this is my bad, though I am wondering if there's a more ergonomic
way to style/lint packages that aren't defined publicly like this one.
What I find myself doing is changing the `(define cbqn-bootstrap ...' to
`(define-public ...', running `./pre-inst-env guix style
cbqn-bootstrap', then swapping `define-public' back to `define'.  Is
there something I'm missing with this?

> +    (license license:gpl3)))
>
> Have you checked "licenses" folder ?
This paragraph from upstream about licenses:
https://github.com/dzaima/CBQN?tab=readme-ov-file#licensing talks a bit
about the licensing situation for CBQN itself. It seems obvious to me to
list out lgpl3, gpl3 and mpl2, though do you think I'd be better off
listing all the licenses under `licenses' including Boost and Apache
etc?

> Additionally, none of your sources include a license field. And yet, they are
> used in cbqn/bootstrap.This is anomalous to me.
Unless I'm mistaken I don't think there's a way to specify a license for
a plain `origin' like I've used for the `-sources' I've added.  I chose
to add Singeli and REPLXX as just `origin's instead of full packages
taking inspiration from the existing `bqn-sources'.  `bqn-sources'
currently doesn't mention its ISC license at all.

Despite this checking the build output it looks like all the following
still manage to end up in
/gnu/store/...-cbqn-0.9.0/share/doc/cbqn-0.9.0:
> LICENSE-Apache2  LICENSE-Boost  LICENSE-GPLv3  LICENSE-LGPLv3  LICENSE-MIT-sort  LICENSE-MPL2