Re: How would you feel about this derivative logo for Nonguix?

2024-03-06 Thread Development of GNU Guix and the GNU System distribution.
Hi Felipe,

On Wed, Mar 06 2024, Luis Felipe wrote:

> That page also mentions the reasoning behind the derivative logo.

Absolutely gorgeous! I like A1, although in a fit of disrespect I might
have placed the horns upside down like a scorpion...

Great work. The project is very lucky to have you!

Kind regards
Felix

P.S. Please do not use Nonguix if you can avoid it.



Patch review session tomorrow (Thursday 7th March)

2024-03-06 Thread Steve George
Hi,

A reminder that the first patch review session is happening tomorrow, Thursday 
7th March.

Who knows how many people will be there, or what level of experience everyone 
will have. We'll be learning what works as we try out these sessions.

Hopefully, Andreas Enge with his 'committer' hat on will be able to talk about 
how he reviews patches. I'm hoping we'll have some other experienced developers 
who will also be able to add their tips and tricks. If possible we'll break 
into groups - or just one big group - and everyone will start learning and 
doing reviews!

I've added a series of steps to do a review using plain CLI tools:

https://libreplanet.org/wiki/Group:Guix/PatchReviewSessions2024

For those that use Emacs, there is information in the manual or please add to 
the Wiki page.

You can register (on Meetup) through the Patch review page:

If you would just like to come along, it will be on this link:

https://meet.jit.si/london-guix-meetup

According to my current understanding of timezones it will be at:

18:00 UTC, 18:00 GMT (London), 19:00 CET (Paris), 13:00 EST (New York)

See you there!

Steve / Futurile



Re: doc: Removing much of Binary Installation (was: Feedback of the GNU Guix manual)

2024-03-06 Thread Vagrant Cascadian
On 2024-03-06, pelzflorian (Florian Pelz) wrote:
> I don’t feel qualified to judge, but is this the preference?  Arch wiki
> advises against the Arch AUR package: “Therefore, after updating Guix
> once, the AUR advantage really turns into a disadvantage, as there will
> be many unnecessary files in the /usr file tree that are part of the
> Guix AUR package but that are never used by Guix anymore.  Therefore,
> consider using the manual installation.” [0]
>
> The reason of existence for these distribution packages is probably
> similar to the reason why the Binary Installation section exists.

Indeed, after the first guix pull, most of the packaged files are no
longer used.

As the one who packaged and maintains guix in Debian, my main motivation
was and is to have a trust path from debian; mainly not having to
manually verify the signatures of the manual installation method (I
would hazard to guess that the percentage of people who actually do
manually verify signatures is disturbingly small).

The guix-daemon should continue to work from the packaged version,
although as guix develops more and more features; how long an old
version can be expected to continue to work remains an open question.

I cannot say I have done a *great* job at maintaining guix in Debian,
but hopefully at least a passable job. Although there are some annoying
things that probably need to be fixed:

  https://bugs.debian.org/1064748
  a.k.a.
  https://issues.guix.gnu.org/69518

... or backported to Debian stable:

  https://bugs.debian.org/1036304
  https://bugs.debian.org/1038916


I have found a fair number of issues (especially typos!) to fix in
upstream guix as a result of packaging it for Debian, so if nothing
else, it is some quality assurance! :)


live well,
  vagrant


signature.asc
Description: PGP signature


Re: doc: Removing much of Binary Installation

2024-03-06 Thread Suhail Singh
Suhail Singh  writes:

> FWIW, as an openSUSE Tumbleweed user, I believe Tumbleweed users who
> don't care if there is an easy way to uninstall Guix would be better
> served by using =guix-install.sh= as opposed to =zypper=.

Btw, for completeness, on Tumbleweed, the user needs to take some
additional steps to ensure that restoring a previous Tumbleweed snapshot
doesn't revert Guix state.  Unless I'm misremembering, these steps are
needed regardless of whether =zypper= or =guix-install.sh= was used to
install Guix.

-- 
Suhail



Re: doc: Removing much of Binary Installation

2024-03-06 Thread Suhail Singh
Matt  writes:

> I wonder if we should have similar concerns about the Debian and
> openSUSE packages?

FWIW, as an openSUSE Tumbleweed user, I believe Tumbleweed users who
don't care if there is an easy way to uninstall Guix would be better
served by using =guix-install.sh= as opposed to =zypper=.  The issues of
"unnecessary files" applies to Tumbleweed as well (and I believe the
same would be true for Debian as well).

In addition, the manpages can get out of sync.  The reason for the
latter is that doing =sudo -i guix pull --fallback= doesn't generate
manpages.  However, the version of Guix installed via =zypper= does
install manpages (presumably generated via =help2man=).  As such, after
updating Guix, running something like =man guix= results in outdated
manpage being shown.  If Guix installation is done via
=guix-install.sh=, no manpage is shown which, in my opinion, is the
lesser evil.

On a related note, it would help if Guix would install manpages in
addition to infopages.  Not sure if this omission constitutes a bug or a
missing feature.

-- 
Suhail



Re: doc: Removing much of Binary Installation (was: Feedback of the GNU Guix manual)

2024-03-06 Thread Matt
  On Wed, 06 Mar 2024 18:15:05 +0100  pelzflorian (Florian Pelz)  wrote ---
 > Thank you Matt for the suggested diff.

Thank you for taking the time to review it!

 > > - Places directions for 'guix-install.sh' after directions to use 
 > > distribution-specific package managers, giving preference to those simpler 
 > > install processes over the more manual 'guix-install.sh' process
 >
 > I don’t feel qualified to judge, but is this the preference?  Arch wiki 
 > advises against the Arch AUR package: “Therefore, after updating Guix once, 
 > the AUR advantage really turns into a disadvantage, as there will be many 
 > unnecessary files in the /usr file tree that are part of the Guix AUR 
 > package but that are never used by Guix anymore.  Therefore, consider using 
 > the manual installation.” [0]
 >
 > [0] https://wiki.archlinux.org/title/Guix

Good question, I wondered about this after I submitted.

The current manual has instructions for using the Debian, Ubuntu, and openSUSE 
package managers.  These instructions are given after the recommendation for 
=guix-install.sh= along with the transition:

"If you’re running Debian or a derivative such as Ubuntu, you can instead 
install the package..."

"Instead" means "in place of something previously mentioned."  So, as written, 
installing with =guix-install.sh= and installing with those specific package 
managers have equal levels of recommendation.

Since users of foreign systems are likely familiar with the corresponding 
foreign package managers, in addition to their use being one step versus four, 
I vote that they appear first.

This is good information about the situation with Arch.  Maybe this is why Arch 
isn't mentioned?

I wonder if we should have similar concerns about the Debian and openSUSE 
packages?

 > The reason of existence for these distribution packages is probably similar 
 > to the reason why the Binary Installation section exists.
 >
 > As for the suggested diff where much of Binary Installation gets removed,
 >
 > > -@item
 > > -@cindex substitutes, authorization thereof
 > > -To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}},
 > > -@code{@value{SUBSTITUTE-SERVER-2}} or a mirror (@pxref{Substitutes}),
 > > -authorize them:
 > > -
 > > -@example
 > > -# guix archive --authorize < \
 > > - ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
 > > -# guix archive --authorize < \
 > > - ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
 > > -@end example
 > > -
 > > -@quotation Note
 > > -If you do not enable substitutes, Guix will end up building
 > > -@emph{everything} from source on your machine, making each installation
 > > -and upgrade very expensive.  @xref{On Trusting Binaries}, for a
 > > -discussion of reasons why one might want do disable substitutes.
 > > -@end quotation
 >
 > I disagree with this chunk.  This must stay.  Not enabling substitutes is an 
 > option in guix-install.sh and the Guix System installer.  Users might want 
 > to enable substitutes later on.

Excellent point.

I have updated the patch with the following:

- Add commas in appropriate places; after "For...Ubuntu-based systems", 
"Likewise", and the 'or' within the list of substitutes
- Remove ')' from after 'guix pull'
- Clarify that 'guix-install.sh' guides users through the steps.  Previously, 
it was unclear if the script ran without user input.
- Add the substitute server setup with the following changes:
  + Make explicit that the default for binary installations is to build 
everything
  + Change "for a discussion of reasons why one might want do disable 
substitutes" (note the 'do' typo) to "for a discussion why this is the 
default".  This aims to state it positively and encourage people to consider 
the reasons.
- Emphasize that the substitute authorization code is an example and may need 
modification


v02-refactor-binary-installation-section.diff
Description: Binary data


Re: How would you feel about this derivative logo for Nonguix?

2024-03-06 Thread Ryan Prior
On Wednesday, March 6th, 2024 at 11:37 AM, Luis Felipe  
wrote:

> 
> 
> Hi,
> 
> Nonguix would like to have a logo [...] I couldn't help it and suggested to 
> reuse the GNU Guix logo

I like this. There's a clear visual continuity, but with warnings and (in 
options B-D) part of the Guix horns covered up as well, emphasizing the "non."

I had read rms's "install fest devil" idea and immediately thought of it when I 
saw your options, even without making the connection that the red line was a 
tail (I thought it was an arrow pointing left?) - it might be an obscure 
reference to many but I think your execution was spot on in that regard.

Not that my say-so carries any weight, but one thumbs up from me.

Cheers,
Ryan



How would you feel about this derivative logo for Nonguix?

2024-03-06 Thread Luis Felipe

Hi,

Nonguix would like to have a logo. @jonsger contacted me asking if I'd 
be interested in helping them with that, based on logo ideas from the 
community. I don't use nonguix myself, so I thought I wouldn't have the 
motivation to design a logo. But I couldn't help it and suggested to 
reuse the GNU Guix logo (which is a free cultural work after all) and 
proposed the following designs:


https://gitlab.com/nonguix/nonguix/-/issues/317

That page also mentions the reasoning behind the derivative logo.

I don't see any issue if Nonguix uses such a logo (specially variant 
D2), but what do you think about it? They don't want to upset the GNU 
Guix community.


Cheers,

--
Luis Felipe López Acevedo
https://luis-felipe.gitlab.io/



OpenPGP_0x0AB0D067012F08C3.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Emacs and tree-sitter grammars

2024-03-06 Thread Aleksandr Vityazev


All versions of Emacs except emacs-minimal are built with tree-sitter
support. But no grammar is added to propagated-inputs. Emacs version
29.1 ships with the following major modes:

typescript-ts-mode
c-ts-mode
c++-ts-mode
java-ts-mode
python-ts-mode
css-ts-mode
json-ts-mode
csharp-ts-mode
bash-ts-mode
dockerfile-ts-mode
cmake-ts-mode
go-ts-mode
yaml-ts-mode
rust-ts-mode
ruby-ts-mode

In version 30.0.50 more added:
html-ts-mode
heex-ts-mode
elixir-ts-mode
lua-ts-mode

Maybe grammars for these modes should be added to propagated-inputs?

-- 
Best regards,
Aleksandr Vityazev



doc: Removing much of Binary Installation (was: Feedback of the GNU Guix manual)

2024-03-06 Thread pelzflorian (Florian Pelz)
Thank you Matt for the suggested diff.

Yes, I agree some simplification as you suggested would be beneficial,
so that the description of Binary Installation looks as simple as it
really is.  (In particular, I have witnessed people, to whom I had
suggested Guix, fail at trying Guix because they tried Guix System on a
not libre-friendly laptop, when they could/should have tried Binary
Installation.)

> - Places
> directions for 'guix-install.sh' after directions to use
> distribution-specific package managers, giving preference to those
> simpler install processes over the more manual 'guix-install.sh'
> process

I don’t feel qualified to judge, but is this the preference?  Arch wiki
advises against the Arch AUR package: “Therefore, after updating Guix
once, the AUR advantage really turns into a disadvantage, as there will
be many unnecessary files in the /usr file tree that are part of the
Guix AUR package but that are never used by Guix anymore.  Therefore,
consider using the manual installation.” [0]

The reason of existence for these distribution packages is probably
similar to the reason why the Binary Installation section exists.

As for the suggested diff where much of Binary Installation gets
removed,

> -@item
> -@cindex substitutes, authorization thereof
> -To use substitutes from @code{@value{SUBSTITUTE-SERVER-1}},
> -@code{@value{SUBSTITUTE-SERVER-2}} or a mirror (@pxref{Substitutes}),
> -authorize them:
> -
> -@example
> -# guix archive --authorize < \
> - ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-1}.pub
> -# guix archive --authorize < \
> - ~root/.config/guix/current/share/guix/@value{SUBSTITUTE-SERVER-2}.pub
> -@end example
> -
> -@quotation Note
> -If you do not enable substitutes, Guix will end up building
> -@emph{everything} from source on your machine, making each installation
> -and upgrade very expensive.  @xref{On Trusting Binaries}, for a
> -discussion of reasons why one might want do disable substitutes.
> -@end quotation

I disagree with this chunk.  This must stay.  Not enabling substitutes
is an option in guix-install.sh and the Guix System installer.  Users
might want to enable substitutes later on.

Regards,
Florian

[0] https://wiki.archlinux.org/title/Guix




Re: You're invited to the first patch review session!

2024-03-06 Thread Tomas Volf
On 2024-03-06 11:36:29 +, Etienne B. Roesch wrote:
> That's the link I have https://meet.jit.si/london-guix-meetup

Great, thank you very much, looking forward to tomorrow. :)

Tomas

--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.


signature.asc
Description: PGP signature


Re: You're invited to the first patch review session!

2024-03-06 Thread Etienne B. Roesch
That's the link I have https://meet.jit.si/london-guix-meetup

Etienne

On Wed, Mar 6, 2024 at 11:28 AM Tomas Volf <~@wolfsden.cz> wrote:

> Hi,
>
> On 2024-03-06 10:40:14 +0100, Andreas Enge wrote:
> >
> > Looking forward to tomorrow,
> >
>
> I would just like to point out that the link to the jitsi meeting is not
> on the
> wiki page and was not shared here neither (for those of us who have issues
> with
> meetup.com).  I think it was said before the link would be shared
> somewhere, so
> please take this as a reminder (since it is tomorrow already).
>
> Have a nice day,
> Tomas Volf
>
> --
> There are only two hard things in Computer Science:
> cache invalidation, naming things and off-by-one errors.
>


Re: You're invited to the first patch review session!

2024-03-06 Thread Tomas Volf
Hi,

On 2024-03-06 10:40:14 +0100, Andreas Enge wrote:
>
> Looking forward to tomorrow,
>

I would just like to point out that the link to the jitsi meeting is not on the
wiki page and was not shared here neither (for those of us who have issues with
meetup.com).  I think it was said before the link would be shared somewhere, so
please take this as a reminder (since it is tomorrow already).

Have a nice day,
Tomas Volf

--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.


signature.asc
Description: PGP signature


G-exps: thunk instead of top-level references?

2024-03-06 Thread Hartmut Goebel

  
  
Hi Ludio,
I'd like to get some advice:

In commit 84c3aafb5a18ad278bbb36df7b70849fe05789c8 "trytond:
  Avoid top-level references to other modules" your turned a
  top-level variable which defines into a thunk:



  -(define %standard-trytond-native-inputs
+(define (%standard-trytond-native-inputs)
   `(("python-dateutil" ,python-dateutil)
  

and the users:

   (native-inputs
- `(,@%standard-trytond-native-inputs
+ `(,@(%standard-trytond-native-inputs)
    ("trytond-purchase" ,trytond-purchase)))
  



I'm about to change the uses into G-exprs (see below) and wonder
  whether "%standard-trytond-native-inputs" should still be a thunk
  or can be turned pack into a top-level variable.

  -(define
(%standard-trytond-native-inputs)
  
  -
 `(("python-dateutil" ,python-dateutil)
  
  +(define
%standard-trytond-native-inputs
  
  +  (list
  python-dateutil
  
  

  and uses


  -    (native-inputs
(%standard-trytond-native-inputs))
+    (native-inputs
+ (cons* trytond-account-payment-clearing
+    %standard-trytond-native-inputs))
 
  

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |

  




Re: You're invited to the first patch review session!

2024-03-06 Thread Andreas Enge
Hello,

Am Tue, Mar 05, 2024 at 07:19:46PM + schrieb Etienne B. Roesch:
> Anything we need to have prepared by Thursday?
> I imagine a ubuntu vm running with vanilla guix installed is installed?

you should have a means of running Guix, and so that your store gets
populated with recent basic things, I would also suggest to run a
"guix pull". It can be a virtual machine, a full Guix system, or simply
a "foreign" distribution with Guix as a package manager.
(I am not sure what you mean by "is installed"; I do not think Steve
plans to install a machine shared between the participants, please
bring your own!)

Then you should clone the git repository as the basis to apply patches,
as explained here:
   https://guix.gnu.org/en/manual/devel/en/html_node/Contributing.html
I think reading the first two subsections 22.1 and 22.2 is enough to
get started.

Notice that building Guix takes a rather long time; on my oldish laptop
with two cores, about half an hour. So this should be done before.

Looking forward to tomorrow,

Andreas




Re: rust-team branch merged

2024-03-06 Thread Efraim Flashner
On Mon, Feb 26, 2024 at 09:24:29PM -0500, Jason Conroy wrote:
> Hello Efraim,
> 
> Thanks for investigating this - a Rust development workflow using only
> Guix-native crates is something I've been waiting for!
> 
> I was experimenting with your patches and it seems that they do pull in the
> source crates for requested packages, but not their dependencies (example
> below). Is there something I'm missing?

When you say they pull in the source crates do you mean the sources of
the other rust packages needed by rust-rand? I didn't test that, but I
assumed it wouldn't.

Currently if you were to pull in rust-rand-0.8 and rust-rand-0.7 then
you'd have both rand-0.*.crate files in the registry but only one of
them would be listed in share/cargo/registry/index/ra/nd/rand. I need to
adjust the generation of that file to combine multiple sources if they
exist, and sort them (I'm not sure it's necessary, but wouldn't be
surprised if we hit undefined behaviour if they were listed multiple
times or out of order).  I also need to figure out something with a
config.toml to see if it's possible to generate one that could be
included from another one, since you can't add 'local-registry =
$GUIX_PROFILE/...' in a toml file.

> Cheers,
> Jason
> 
> $ guix shell --pure bash findutils rust-rand -- bash -c 'find -L
> $GUIX_ENVIRONMENT/share/cargo'
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo/registry
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo/registry/index
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo/registry/index/ra
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo/registry/index/ra/nd
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo/registry/index/ra/nd/rand
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo/registry/rand-0.8.5.crate
> /gnu/store/zf88v65rbg2di4qhgdbvhfcjf31rdzby-profile/share/cargo/registry/config.json
> 
> On Thu, Dec 14, 2023 at 10:10 AM Efraim Flashner 
> wrote:
> 
> > On Wed, Dec 13, 2023 at 10:34:11AM +0200, Efraim Flashner wrote:
> > > * Compiled rust packages currently have a 'package' phase, which runs
> > > the command used to crate a 'crate tarball', and is installed in
> > > %output/share/cargo/registry, with unpacked sources in
> > > %output/share/cargo/src.  In theory it should be possible to use these
> > > for local rust development.  The benefits include everything that comes
> > > with being a guix package, including pre-patched shebangs.  Currently no
> > > index file is created in $GUIX_ENVIRONMENT/share/cargo/registry/index,
> > > which is likely necessary to actually make use of this.  Additionally, I
> > > am unsure how to use '$GUIX_ENVIRONMENT' in ~/.cargo/config so that it
> > > is expanded and not taken as a literal string.
> >
> > In the Guix London meetup someone mentioned that they were interested in
> > playing around with using Guix for rust development.  I've adjusted the
> > cargo-build-system to produce the registry index files and I added a
> > profile hook to generate the config.json to locate the packaged crates.
> >
> > toml files can't process environment variables (which is probably a good
> > thing ...) but that means its a little harder to test out.
> >
> > with the two patches applied create an environment with the crates you
> > want and get the location of GUIX_ENVIRONMENT:
> > `env | grep GUIX_ENVIRONMENT | cut -f2 -d=`
> >
> > in ~/.cargo/config:
> > [source.crates-io]
> > local-registry = '/share/cargo/registry'
> >
> > 'cargo build' should pull from the local crates in the GUIX_ENVIRONMENT.
> > I'm not sure what happens if it doesn't have those crates available and
> > would need to get them from crates.io.
> >
> >

-- 
Efraim Flashner  רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature