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

From: Cayetano Santos <[email-masked]>
Date: Thu, 10 Apr 2025 09:40:42 +0200

>Wed 09 Apr 2025 at 19:02, Lee Thompson <[email-masked]> wrote:

> 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?

In my case, I usually do the same.

>> +    (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?

I think so. You may get inspiration from iverilog and similar packages.

>> 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.

I guess that once the (non-license) source is included in a package, its
license must appear in the package itself.

> 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

Yes, the builder detects the licenses folder and assumes all of its
contents as licenses, so it takes them all; they still need to be
mentioned in the package.