bug#58813: [PATCH v2] doc: Document how to use Patman for patches submission.

2023-03-08 Thread Simon Tournier
Hi Liliana,

On Wed, 08 Mar 2023 at 06:29, Liliana Marie Prikler  
wrote:
> Am Dienstag, dem 07.03.2023 um 18:39 +0100 schrieb Simon Tournier:

>> I still think this documentation for configuring ’patman’ about
>> “Patch management” is helpful.  I think it could be part of the
>> manual.  If not for reasons I am missing, at least this documentation
>> should be included in the Cookbook.
>
> There are two discussions here:
>
> 1. Should we "mandate" the use of patman?
> 2. Should we describe how to use patman for submitting patches to Guix?
>
> I think most agree with the latter, but disagree with the former. 
> Thus, whatever steps you add for the use with patman must be easily
> enough replicated by people not using it, or else we risk low adoption
> of best practices.

Well, I am not sure to understand “mandate”.  There is many tools that
appears in the Guix manual that are not “mandatory” but just
recommendations.  For instance, Emacs, emacs-geiser, emacs-debbugs, etc.
And even Git is not mandatory, maybe some people prefer Dulwich
(pure-Python implementation) or maybe others use ’gix’ (pure-Rust
implementation).  It would be fun to deal with Guix patches using gix. ;-)

So, I read “mandate” as recommend, hoping that I am not missing the
meaning you put behind the quoted mandate. :-)

About #1, I understand and I agree that the manual cannot recommend all
the tools on Earth and we have to make choices in order to keep it
clear, especially when newcomers is facing in the front of how to deal
with patches.

That’s why I also proposed to move this dedicated section about “Patch
management using patman” to the cookbook. :-)  It somehow answers #1 and
the item #2 is almost done.

Well, I do not have a strong opinion.  On a side note, because I am
lazy, if there is no pre-configuration that I can adapt, I will not try
patman.

Cheers,
simon





bug#62051: Early detection of derivations with unreadable builder scripts

2023-03-08 Thread Christopher Baines
Currently it's quite easy to end up with packages that have builder
scripts that can't be read by Guile.

This is part of the following builder script:

  (cons "--enable-mpi-java" #)

from: /gnu/store/yngxnpcs4s6y8acxf4nwx5pcpj0j6q6i-java-openmpi-4.1.4-builder

And when attempting to build that derivation, you get the following
error.

  ice-9/read.scm:126:4: In procedure read-expr*:
  
/gnu/store/yngxnpcs4s6y8acxf4nwx5pcpj0j6q6i-java-openmpi-4.1.4-builder:1:3820: 
Unknown # object: "#<"


It would be nice if Guix could detect this category of problems and
raise an error at the time the derivation is created, rather than the
error occuring only when you build the derivation.

This would be helpful particularly for the Guix Data Service since
currently it ends up storing these useless derivations, often many times
since the builder includes some often changing string (7f366e0cd930 in
the example above), so this is a common cause of spurious changes
between revisions (as often noted on qa.guix.gnu.org).


signature.asc
Description: PGP signature


bug#62055: `guix pull` fails on freshly installed Guix on Debian aarch64

2023-03-08 Thread Wicki Gabriel (wicg)
Hello

guix​ instructed me to share the following information with you.  I've 
installed Debian 11.6 on a raspberry pi 3B+, did apt install guix​, but failed 
after a guix pull​. Before posting here i tried the same steps again just to 
make sure i didn't stumble on a Heisenbug

~
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Authenticating channel 'guix', commits 9edb3f6 to 6e4b997 (16 new commits)...
Building from this channel:
  guix  https://git.savannah.gnu.org/git/guix.git 6e4b997
Computing Guix derivation for 'aarch64-linux'... |^/substitute: hint: Consider 
installing the `glibc-utf8-locales' or `glibc-locales' package and
substitute: defining `GUIX_LOCPATH', along these lines:
substitute:
substitute:  guix install glibc-utf8-locales
substitute:  export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
substitute:
substitute: See the "Application Setup" section in the manual, for more info.
substitute:
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%   
  |substitute: updating substitutes from 
'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package 
and
defining `GUIX_LOCPATH', along these lines:

 guix install glibc-utf8-locales
 export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"

See the "Application Setup" section in the manual, for more info.

downloading from 
https://ci.guix.gnu.org/nar/lzip/xfxwm36a4rf80rbcm7gry4vxqgh3m6ba-glibc-utf8-locales-2.33
 ...
 glibc-utf8-locales-2.33  382KiB   366KiB/s 00:01 
[##] 100.0%
hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package 
and
defining `GUIX_LOCPATH', along these lines:

 guix install glibc-utf8-locales
 export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"

See the "Application Setup" section in the manual, for more info.

downloading from 
https://ci.guix.gnu.org/nar/lzip/77wy23nvrgnwf8j1fmkax9zx8a9fkqj6-bash-static-5.1.8
 ...
 bash-static-5.1.8  547KiB  74KiB/s 00:07 
[##] 100.0%

hint: Consider installing the `glibc-utf8-locales' or `glibc-locales' package 
and
defining `GUIX_LOCPATH', along these lines:

 guix install glibc-utf8-locales
 export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"

See the "Application Setup" section in the manual, for more info.

downloading from 
https://ci.guix.gnu.org/nar/lzip/wc9xqvi9a3dg6d0c9k4fcmnlbrcdpbix-guile-lib-0.2.7
 ...
 guile-lib-0.2.7  367KiB   808KiB/s 00:00 
[##] 100.0|

hint: Consider installing the `glibc-utf8-locales'

bug#58813: [PATCH v2] doc: Document how to use Patman for patches submission.

2023-03-08 Thread Maxim Cournoyer
Hi Simon,

Simon Tournier  writes:

> Hi Liliana,
>
> On Wed, 08 Mar 2023 at 06:29, Liliana Marie Prikler 
>  wrote:
>> Am Dienstag, dem 07.03.2023 um 18:39 +0100 schrieb Simon Tournier:
>
>>> I still think this documentation for configuring ’patman’ about
>>> “Patch management” is helpful.  I think it could be part of the
>>> manual.  If not for reasons I am missing, at least this documentation
>>> should be included in the Cookbook.
>>
>> There are two discussions here:
>>
>> 1. Should we "mandate" the use of patman?

I don't think this was ever in the discussion.  The patch series I sent
only hinted at a tool that can provide some further automation.  It's
not mandated (as in, required) at all.  git send-email works just fine
when manually pasting the output of 'etc/teams.scm cc-members
the.patch', and will continue to even if we mention the tool 'patman' in
conjunction.

[...]

> Well, I do not have a strong opinion.  On a side note, because I am
> lazy, if there is no pre-configuration that I can adapt, I will not try
> patman.

It's already there; see the .patman file at the root of the repo.
There's really not much to patman, it's a simple tool that does what it
does well (and already exists).

-- 
Thanks,
Maxim





bug#58813: [PATCH v2] doc: Document how to use Patman for patches submission.

2023-03-08 Thread Simon Tournier
Hi Maxim,

On Wed, 8 Mar 2023 at 17:26, Maxim Cournoyer  wrote:

> > Well, I do not have a strong opinion.  On a side note, because I am
> > lazy, if there is no pre-configuration that I can adapt, I will not try
> > patman.
>
> It's already there; see the .patman file at the root of the repo.
> There's really not much to patman, it's a simple tool that does what it
> does well (and already exists).

Yeah not much, still (1) someone needs to be aware of this not much
and (2) I find a value with the (not much) example of usage.

Anyway.  I understand if there is no consensus for the manual, so if
you do not bother, I will adapt the patch for the Cookbook.

Cheers,
simon





bug#52257: Replace pumpa origin

2023-03-08 Thread zimoun
Hi,

On Thu, 02 Mar 2023 at 02:11, Sarthak Shah  wrote:

> I've sent a patch to guix-patc...@gnu.org that should fix this.
> This is my first commit to the project, so please let me know if I've
> made any mistakes.

For reference, the patch is #61906 [1].

1: 


Cheers,
simon





bug#52257: Replace pumpa origin

2023-03-08 Thread Sarthak Shah
Hello,
I have sent a revised patch to #61906
 which has been altered per
suggestion.
Please let me know if any further changes are needed.


bug#62059: guix style looses comments

2023-03-08 Thread Maxim Cournoyer
Hello,

Consider this package:

--8<---cut here---start->8---
(define-public ruby-webrick
  (package
(name "ruby-webrick")
(version "1.8.1")
(source (origin
  (method git-fetch)
  (uri (git-reference
(url "https://github.com/ruby/webrick";)
(commit (string-append "v" version
  (file-name (git-file-name name version))
  (sha256
   (base32
"1xb0mk3cghdir65nmj0mblprbf21blli7267b6yyvxclh307yp6s"
(build-system ruby-build-system)
(arguments (list #:phases #~(modify-phases %standard-phases
  (add-after 'extract-gemspec 
'delete-problematic-tests
(lambda _
  ;; The httresponse tests fail for
  ;; unknown reasons (see:
  ;; 
https://github.com/ruby/webrick/issues/112).
  (delete-file 
"test/webrick/test_httpresponse.rb"))
(home-page "https://github.com/ruby/webrick";)
(synopsis "HTTP server toolkit")
(description "WEBrick is an HTTP server toolkit that can be configured as an
HTTPS server, a proxy server, and a virtual-host server.")
(license license:bsd-2)))
--8<---cut here---end--->8---

After running ./pre-inst-env guix style ruby-webrick, it produces:

--8<---cut here---start->8---
(define-public ruby-webrick
  (package
(name "ruby-webrick")
(version "1.8.1")
(source (origin
  (method git-fetch)
  (uri (git-reference
(url "https://github.com/ruby/webrick";)
(commit (string-append "v" version
  (file-name (git-file-name name version))
  (sha256
   (base32
"1xb0mk3cghdir65nmj0mblprbf21blli7267b6yyvxclh307yp6s"
(build-system ruby-build-system)
(arguments
 (list #:phases #~(modify-phases %standard-phases
(add-after 'extract-gemspec 'delete-problematic-tests
  (lambda _
(delete-file 
"test/webrick/test_httpresponse.rb"))
(home-page "https://github.com/ruby/webrick";)
(synopsis "HTTP server toolkit")
(description
 "WEBrick is an HTTP server toolkit that can be configured as an
HTTPS server, a proxy server, and a virtual-host server.")
(license license:bsd-2)))
--8<---cut here---end--->8---

I.e., it lost the comment in the phase.  It also causes the longest line
to be 82 chars, while it could have easily broken the line to make it
fit under 80.

-- 
Thanks,
Maxim





bug#62023: compute-guix-derivation failed to compute the derivation for Guix

2023-03-08 Thread Maxim Cournoyer
Hi,

Adroit  writes:

> The output explicitly says "you found a bug".

Yes, thanks for reaching out.  Sadly this is something that comes up
often; a user with a failing connection can end up receiving such
advice.  We should open another bug to track this (there are many such
reports but I don't think there's a report about improving the message).

> Are you suggesting that a crash, with backtrace, is the intended
> behavior when a substitute server happens to be offline?

That's indeed a bug.  Error messages should be clear, not a backtrace
soup :-).  It seems the real underlying error is a network timeout; it's
already been reported in https://issues.guix.gnu.org/60547.

> The problem also occurs when using --no-substitutes and --fallback, so
> I'm not even sure the server is the root cause - you can see from
> first few lines (where I curl) of output that the server is indeed
> online. I also checked the web interface. The only issue I can think
> of is Guix not respecting the Gnome proxy, but in that case all of the
> servers would be seen as offline.

I'm not sure what's going on with the network, but what tipped me that
the problem was caused by a channel was this:

--8<---cut here---start->8---
substitutes.nonguix.org: host not found: Name or service not
--8<---cut here---end--->8---

But looking more closely it seems no substitutes could be fetched at all
even from the official build farms, so it looks like your networking was
not working at that time.  Did you retry it since?  Did it work?

-- 
Thanks,
Maxim