bug#33968: errors in shepherd service constructors are not logged and lead to misleading status, hang boot

2021-05-19 Thread Maxim Cournoyer
Hi Florian,

I stumbled upon this problem with https://issues.guix.gnu.org/48521, and
had a hard time to debug it (due to the completely missing information
in any output or log from shepherd).

Worst, this caused the system to hang early on boot!

I'm raising the priority of this issue.

Thanks,

Maxim





bug#48521: opendht-service-type hangs Shepherd at boot

2021-05-19 Thread Maxim Cournoyer
Hello,

Maxim Cournoyer  writes:

> Hello,
>
> I just noticed about this problem following a reboot.  I can also
> reproduce it in 'guix system vm', simply adding the opendht-service-type
> to my operating-system declaration.
>
> The boot proceeds until 'error in finalization thread: Success' then
> hangs indefinitely.
>
> What is troubling for me is that the service is rather straightforwardly
> defined.  It uses the make-forkexec-constructor/container like so:
>
> (define (opendht-shepherd-service config)
>   "Return a  running OpenDHT."
>   (shepherd-service
>(documentation "Run an OpenDHT node.")
>(provision '(opendht dhtnode dhtproxy))
>(requirement '(user-processes syslogd))
>(start #~(make-forkexec-constructor/container
>  (list #$@(opendht-configuration->command-line-arguments config))
>  #:mappings (list (file-system-mapping
>(source "/dev/log") ;for syslog
>(target source)))
>  #:user "opendht"))
>(stop #~(make-kill-destructor
>
> I'm not sure how using such basic building blocks could lead to a hang
> in Shepherd ?

It seems Shepherd can't cope with a failing start procedure/script when
a variable was not bound.  To diagnose the problem, the best way ended
up being to extract the code of the constructor in a separate script to
run it separately.  This made the error quickly apparent: "Unbound
variable: file-system-mapping".

We should try to handle this class of errors in Shepherd and report a
useful message and *not* crash Shepherd or otherwise hang.

Pushed with commit a09cdf1f9d.

Closing.

Maxim





bug#46333: sbcl-common-lisp-jupyter does not install kernel.json

2021-05-19 Thread Sharlatan Hellseher
Hi,

I've checked the r-irkernel and it's coping existing kernelspec ,
which is not useful in this case.

As Guillaume mentioned we could tweak it before installation phase by
using cl-jupyter:install, so here is my draft:

--8<---cut here---start->8---
(arguments
 `(#:phases
   (modify-phases %standard-phases
 (add-before 'install 'generate-kernelspec
   (lambda* (#:key outputs #:allow-other-keys)
 (let* ((out (assoc-ref outputs "out"))
(kernelspec (string-append out
"/share/cl-jupyter/kernelspec")))
   (mkdir-p kernelspec)
   (invoke "sbcl"
   "--eval" "\"(require :asdf)\""
   "--eval" "\"(require :common-lisp-jupyter)\""
   "--eval"
   (string-append
"\"(cl-jupyter:install"
":bin-path" (string-append
 (assoc-ref %build-inputs "sbcl")
"/bin/sbcl")
":prefix" out ")\"")
   "--eval" "\"(exit)\""))
 #t))
 (add-after 'install 'install-kernelspec
   (lambda* (#:key outputs #:allow-other-keys)
 (let ((out (assoc-ref outputs "out"))
   (kernelspec (string-append out
"/share/cl-jupyter/kernelspec")))
   (invoke "jupyter" "kernelspec" "install"
   "--name" "cl-jupyter"
   "--prefix" out
   kernelspec)
   #t))
--8<---cut here---end--->8---

But there could be a potential blocking issue with :prefix key

https://github.com/yitzchak/common-lisp-jupyter/issues/78

On Tue, 18 May 2021 at 16:58, Guillaume Le Vaillant  wrote:
>
> Hi Jack,
>
> I guess it will be easier to just add a phase writing the "kernel.json"
> file in the right place. In this build phase, to know if the package is
> being built for SBCL or ECL, the '(%lisp-type)' function that will
> return "sbcl" or "ecl" can be used. There's an example in the
> sbcl-trivial-backtrace package.



--

… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.





bug#48521: opendht-service-type hangs Shepherd at boot

2021-05-19 Thread Maxim Cournoyer
Maxim Cournoyer  writes:

> Hello,
>
> I just noticed about this problem following a reboot.  I can also
> reproduce it in 'guix system vm', simply adding the opendht-service-type
> to my operating-system declaration.
>
> The boot proceeds until 'error in finalization thread: Success' then
> hangs indefinitely.
>
> What is troubling for me is that the service is rather straightforwardly
> defined.  It uses the make-forkexec-constructor/container like so:
>
> (define (opendht-shepherd-service config)
>   "Return a  running OpenDHT."
>   (shepherd-service
>(documentation "Run an OpenDHT node.")
>(provision '(opendht dhtnode dhtproxy))
>(requirement '(user-processes syslogd))
>(start #~(make-forkexec-constructor/container
>  (list #$@(opendht-configuration->command-line-arguments config))
>  #:mappings (list (file-system-mapping
>(source "/dev/log") ;for syslog
>(target source)))
>  #:user "opendht"))
>(stop #~(make-kill-destructor
>
> I'm not sure how using such basic building blocks could lead to a hang
> in Shepherd ?

After much trial and error, the service can be made to not hang Shepherd
with the removal of the mappings argument:

--8<---cut here---start->8---
modified   gnu/services/networking.scm
@@ -845,9 +845,9 @@ CONFIG, an  object."
(requirement '(user-processes networking syslogd))
(start #~(make-forkexec-constructor/container
  (list #$@(opendht-configuration->command-line-arguments config))
- #:mappings (list (file-system-mapping
-   (source "/dev/log") ;for syslog
-   (target source)))
+ ;; #:mappings (list (file-system-mapping
+ ;;   (source "/dev/log") ;for syslog
+ ;;   (target source)))
  #:user "opendht"))
(stop #~(make-kill-destructor
--8<---cut here---end--->8---

I have no idea why that is, but given that the tor-service-type does the
same thing, I can only conclude that it is some strange interaction
between dhtnode and syslog.

The above fixes the hang, but breaks logging to syslog.

Ideas?

Maxim





bug#48515: ell 0.40 test failure

2021-05-19 Thread Efraim Flashner
I was able to reproduce the test suite failure, but with a different
test. I was using my 3900XT, also 24 cores

PASS: unit/test-time
PASS: unit/test-dir-watch
PASS: unit/test-path
PASS: unit/test-dbus-watch
PASS: unit/test-gvariant-message
PASS: unit/test-dbus
./build-aux/test-driver: line 107: 17030 Aborted "$@" > 
$log_file 2>&1
FAIL: unit/test-dbus-properties
PASS: unit/test-dbus-message-fds
PASS: unit/test-dbus-service
PASS: unit/test-main
PASS: unit/test-pbkdf2

Testsuite summary for ell 0.40

# TOTAL: 40
# PASS:  39
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

See ./test-suite.log

make[3]: *** [Makefile:2099: test-suite.log] Error 1
make[2]: *** [Makefile:2207: check-TESTS] Error 2
make[1]: *** [Makefile:2713: check-am] Error 2
make: *** [Makefile:2715: check] Error 2

Test suite failed, dumping logs.

--- ./test-suite.log 


   ell 0.40: ./test-suite.log


# TOTAL: 40
# PASS:  39
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: unit/test-dbus-properties
===

launching dbus-daemon
dbus-daemon process 17031 created
ready
request name result=failed
TEST: Legacy properties get
TEST FAILED in get_properties_callback at unit/test-dbus-properties.c:340: 
!l_dbus_message_get_error(message, ((void *)0), ((void *)0))
Disconnected from DBus
FAIL unit/test-dbus-properties (exit status: 134)


command "make" "check" "-j" "24" failed with status 2
builder for `/gnu/store/1vjr3z3mghf77wvwj0mb5f4nwzmd4c7i-ell-0.40.drv' failed 
with exit code 1
build of /gnu/store/1vjr3z3mghf77wvwj0mb5f4nwzmd4c7i-ell-0.40.drv failed
View build log at 
'/var/log/guix/drvs/1v/jr3z3mghf77wvwj0mb5f4nwzmd4c7i-ell-0.40.drv.bz2'.
guix build: error: build of 
`/gnu/store/1vjr3z3mghf77wvwj0mb5f4nwzmd4c7i-ell-0.40.drv' failed



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


bug#48331: Emacs' describe-package doesn't work for packages managed by guix

2021-05-19 Thread Leo Prikler
That looks like it'd mess with people's installed ELPA packages.  In
general, hacks based on package-directory-list don't feel very stable. 
Consider writing a function similar in nature to `package-load-all-
descriptors' instead.

Also, this seems to rely on us not deleting the -pkg.el, but probably
won't work for packages, that don't ship it, e.g. emacs-howm.

[Adding Arun Isaac to CC.  Their commit d8796851 is the first one to
drop -pkg.el, but without explanation.]

Am Mittwoch, den 19.05.2021, 20:58 +0300 schrieb Andrew Tropin:
> From: Andrew Tropin 
> Date: Wed, 19 May 2021 20:44:22 +0300
> Subject: [PATCH] guix: build: emacs-build-system: Make package.el
> aware of
>  guix packages
> 
> After updating the package-directory-list variable, functions like
> list-packages,
> describe-package become aware of packages installed by guix.
> 
> ---
> This code is getting work done, but I'm not a very experienced elisp
> developer, so
> please review it thoroughly.
> 
>  gnu/packages/aux-files/emacs/guix-emacs.el | 10 ++
>  guix/build/emacs-build-system.scm  |  2 +-
>  2 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el
> b/gnu/packages/aux-files/emacs/guix-emacs.el
> index ca9146c535..4aa4220cda 100644
> --- a/gnu/packages/aux-files/emacs/guix-emacs.el
> +++ b/gnu/packages/aux-files/emacs/guix-emacs.el
> @@ -58,6 +58,16 @@ The files in the list do not have extensions (.el,
> .elc)."
>  (load f 'noerror))
>autoloads)))
> 
> +
> +(require 'package)
> +
> +;; Set `package-directory-list' to the value without elpa/ suffix
> +;; to match the structure of site-lisp directory of guix's emacs
> +;; build system.
> +;;;###autoload
> +(setq package-directory-list
> +  (list (string-remove-suffix "/elpa" (car package-directory-
> list
> +
>  (provide 'guix-emacs)
> 
>  ;;; guix-emacs.el ends here
> diff --git a/guix/build/emacs-build-system.scm
> b/guix/build/emacs-build-system.scm
> index e41e9a6595..7565b9a422 100644
> --- a/guix/build/emacs-build-system.scm
> +++ b/guix/build/emacs-build-system.scm
> @@ -53,7 +53,7 @@
> 
>  ;; These are the default inclusion/exclusion regexps for the install
> phase.
>  (define %default-include '("^[^/]*\\.el$" "^[^/]*\\.info$"
> "^doc/.*\\.info$"))
> -(define %default-exclude '("^\\.dir-locals\\.el$" "-pkg\\.el$"
> +(define %default-exclude '("^\\.dir-locals\\.el$"
> "^[^/]*tests?\\.el$"))
> 
>  (define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack))






bug#30093: what manual workaround?

2021-05-19 Thread tomas . almeida

Hello,

I see people mentioning here that there doesn't seem to be a general solution 
to be included in Guix for this, but I als do not understand what the 
particular solution (for my machine, for example) is supposed to be.
I'm a new user to Guix and also not technically very experienced with Linux 
OS's, so feel free to point me out something obvious I have missed.

I currently have Guix on top of Ubuntu 20.04, and I have this exact problem 
with XDG_DATA_DIRS being exported on startup of Gnome and breaking it, and i 
happend when this variable is added to ~/.guix-profile/etc/profile when 
installing certain packages; the ones detected so far where python-ipython, 
python-ipykernel and python-notebook.

As far as I unedrstand, when Ubuntu starts up, it runs /etc/profile, which in 
turn reads through all scripts inside /etc/profile.d. In that dir, we have 
guix.sh, which I will paste here:
# _GUIX_PROFILE: `guix pull` profile
_GUIX_PROFILE="$HOME/.config/guix/current"
export PATH="$_GUIX_PROFILE/bin${PATH:+:}$PATH"
# Export INFOPATH so that the updated info pages can be found
# and read by both /usr/bin/info and/or $GUIX_PROFILE/bin/info
# When INFOPATH is unset, add a trailing colon so that Emacs
# searches 'Info-default-directory-list'.
export INFOPATH="$_GUIX_PROFILE/share/info:$INFOPATH"

# GUIX_PROFILE: User's default profile
GUIX_PROFILE="$HOME/.guix-profile"
[ -L $GUIX_PROFILE ] || return
GUIX_LOCPATH="$GUIX_PROFILE/lib/locale"
export GUIX_PROFILE GUIX_LOCPATH

[ -f "$GUIX_PROFILE/etc/profile" ] && . "$GUIX_PROFILE/etc/profile"

# set XDG_DATA_DIRS to include Guix installations
export 
XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"

The culprit in this case seems to be [ -f "$GUIX_PROFILE/etc/profile" ] && . 
"$GUIX_PROFILE/etc/profile", and this is because it is getting the following 
two lines from $GUIX_PROFILE/etc/profile which are introduced by installing 
python-ipython (for example):
export 
GI_TYPELIB_PATH="${GUIX_PROFILE:-/gnu/store/22lc31mr4h00x5swzk73293pm2xpaahi-profile}/lib/girepository-1.0${GI_TYPELIB_PATH:+:}$GI_TYPELIB_PATH"
export 
XDG_DATA_DIRS="${GUIX_PROFILE:-/gnu/store/22lc31mr4h00x5swzk73293pm2xpaahi-profile}/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS"

In fact, when this happens, the last line in guix.sh is only duplicating what 
the line inside .guix-profile/etc/profile had already exported:
export 
XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}"
What is the workaround that can be used here?
I only see two possible solutions, which are unsatisfactory to me: * Refrain 
from installing packages that alter this variable; * Comment all lines inside 
guix.sh and add . "$GUIX_PROFILE/etc/profile to my .bash_rc file, focing me to 
open a terminal everytime I want to launch guix installed packages.Is there 
another alternative for this?

Eagerly awating for feedback on this, as it's completely destroying my 
workflow; I am never sure when  will install a package that wll break Ubuntu.

Thanks,
Tomás


bug#48331: Emacs' describe-package doesn't work for packages managed by guix

2021-05-19 Thread Andrew Tropin
From: Andrew Tropin 
Date: Wed, 19 May 2021 20:44:22 +0300
Subject: [PATCH] guix: build: emacs-build-system: Make package.el aware of
 guix packages

After updating the package-directory-list variable, functions like
list-packages,
describe-package become aware of packages installed by guix.

---
This code is getting work done, but I'm not a very experienced elisp
developer, so
please review it thoroughly.

 gnu/packages/aux-files/emacs/guix-emacs.el | 10 ++
 guix/build/emacs-build-system.scm  |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el
b/gnu/packages/aux-files/emacs/guix-emacs.el
index ca9146c535..4aa4220cda 100644
--- a/gnu/packages/aux-files/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -58,6 +58,16 @@ The files in the list do not have extensions (.el, .elc)."
 (load f 'noerror))
   autoloads)))

+
+(require 'package)
+
+;; Set `package-directory-list' to the value without elpa/ suffix
+;; to match the structure of site-lisp directory of guix's emacs
+;; build system.
+;;;###autoload
+(setq package-directory-list
+  (list (string-remove-suffix "/elpa" (car package-directory-list
+
 (provide 'guix-emacs)

 ;;; guix-emacs.el ends here
diff --git a/guix/build/emacs-build-system.scm
b/guix/build/emacs-build-system.scm
index e41e9a6595..7565b9a422 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -53,7 +53,7 @@

 ;; These are the default inclusion/exclusion regexps for the install phase.
 (define %default-include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$"))
-(define %default-exclude '("^\\.dir-locals\\.el$" "-pkg\\.el$"
+(define %default-exclude '("^\\.dir-locals\\.el$"
"^[^/]*tests?\\.el$"))

 (define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack))
-- 
2.31.1





bug#48331: Emacs' describe-package doesn't work for packages managed by guix

2021-05-19 Thread Andrew Tropin
> > Most other package managers seem to respect "infrastructure" provided
> > by package.el.
> I don't think that statement is well-supported by the data we have.

Agree, that was an incorrect statement. I should have said something like:
there are some popular tools like use-package configuration helper, Nix
package manager, Spacemacs configuration framework, some elisp archives
and probably something else, which utilize and follow package.el.  Not
all of them use package.el itself, but they follow conventions and
describe-package help command and some other work correctly.

> Why should we let ELPA dictate our layout?  I have not even once tried
> customizing package.el for actual use since I got Guix, because the
> elpa importer is trivial.

We don't have to.  Actually, I'm very happy with the new (current) layout we
have right now.

I would say I find the following use case very confusing for newcomers:
- Install emacs package via Guix.
- Use built-in help C-h C-h, find C-h P.
- Get it to work for built-in packages, but not for packages installed by Guix.
- Get frustrated.

I think we could avoid this at least in two ways:
1. Use elpa/ subdirectory.
2. Keep current structure, set package-directory-list to .../site-lisp
instead of .../site-lisp/elpa by default.

> Thus we're not trying to keep in line with any specific package
> manager, we just need to make things work "with Emacs" in the sense
> that packages installed via Guix should have working autoloads and one
> should be able to (require ...) them.

Yes, but at the same time I don't see reasons why not to implement one
of two options above.  We can get both: working autoloads and working
built-in help function (+newcommers won't be so frustrated).

Personally, I'm quite happy that packages got their own subdirectories
and I'm fully satisfied with current state of it, but it would be cool
if inexperienced users will be able to use at least built-in help
commands for packages out of the box without additional configuration.

Hope my original point is a little better worded now.

-- 
Best regards,
Andrew Tropin





bug#48331: Emacs' describe-package doesn't work for packages managed by guix

2021-05-19 Thread Andrew Tropin
> > M-x list-packages ;; Doesn't list treemacs

> Let me recommend Emacs-Guix (aka. 'guix.el') as a superior alternative.
> :-)

Sure) Aware of it, cool tool.

> I think it's fine that 'package.el' is unaware of Guix-managed software
> and vice-versa.

Yep, perfectly fine, but why not to make it aware, if it is relatively
easy to achieve?)





bug#48331: Emacs' describe-package doesn't work for packages managed by guix

2021-05-19 Thread Leo Prikler
Am Mittwoch, den 19.05.2021, 17:32 +0300 schrieb Andrew Tropin:
> > > Most other package managers seem to respect "infrastructure"
> > > provided by package.el.
> > I don't think that statement is well-supported by the data we have.
> 
> Agree, that was an incorrect statement. I should have said something
> like: there are some popular tools like use-package configuration
> helper, Nix package manager, Spacemacs configuration framework, some
> elisp archives and probably something else, which utilize and follow
> package.el.  Not all of them use package.el itself, but they follow
> conventions and describe-package help command and some other work
> correctly.
Is package.el really so well supported by all these tools?  I might
concede, that some of them don't throw away the package.el blurb like
guix does, but other than that, I think you'd have a hard time stuffing
a random git repo from use-package into package.el.  Am I missing
something?

> > Why should we let ELPA dictate our layout?  I have not even once
> > tried customizing package.el for actual use since I got Guix,
> > because the elpa importer is trivial.
> 
> We don't have to.  Actually, I'm very happy with the new (current)
> layout we have right now.
That's good :)

> I would say I find the following use case very confusing for
> newcomers:
> - Install emacs package via Guix.
> - Use built-in help C-h C-h, find C-h P.
> - Get it to work for built-in packages, but not for packages
> installed by Guix.
> - Get frustrated.
You mean Emacs newcomers?  Tell me something new about the first-time
Emacs experience :P

> I think we could avoid this at least in two ways:
> 1. Use elpa/ subdirectory.
> 2. Keep current structure, set package-directory-list to .../site-
> lisp instead of .../site-lisp/elpa by default.
Neither sounds very pleasant, but does (2) even work?

> > Thus we're not trying to keep in line with any specific package
> > manager, we just need to make things work "with Emacs" in the sense
> > that packages installed via Guix should have working autoloads and
> > one should be able to (require ...) them.
> 
> Yes, but at the same time I don't see reasons why not to implement
> one of two options above.  We can get both: working autoloads and
> working built-in help function (+newcommers won't be so frustrated).
Of course.  The glue code for that would go into guix-emacs.el, just
like our autoload glue.

> Personally, I'm quite happy that packages got their own
> subdirectories and I'm fully satisfied with current state of it, but
> it would be cool if inexperienced users will be able to use at least
> built-in help commands for packages out of the box without additional
> configuration.
> 
> Hope my original point is a little better worded now.
Doing something in Emacs without configuration sounds like an oxymoron,
but I get your point.  At the same time, I think that this kind of
change is a pretty large request (DPD has more than 100 lines not
counting dependencies, it's not small and neat like guix-emacs.el).

If you find a clever trick to make your troubles go away, do submit a
patch, but don't let it rely on user setup (in particular, don't rely
on "haha, the user always carries about the elpa subdirectory").

Regards,
Leo






bug#48521: opendht-service-type hangs Shepherd at boot

2021-05-19 Thread Maxim Cournoyer
Hello,

I just noticed about this problem following a reboot.  I can also
reproduce it in 'guix system vm', simply adding the opendht-service-type
to my operating-system declaration.

The boot proceeds until 'error in finalization thread: Success' then
hangs indefinitely.

What is troubling for me is that the service is rather straightforwardly
defined.  It uses the make-forkexec-constructor/container like so:

--8<---cut here---start->8---
(define (opendht-shepherd-service config)
  "Return a  running OpenDHT."
  (shepherd-service
   (documentation "Run an OpenDHT node.")
   (provision '(opendht dhtnode dhtproxy))
   (requirement '(user-processes syslogd))
   (start #~(make-forkexec-constructor/container
 (list #$@(opendht-configuration->command-line-arguments config))
 #:mappings (list (file-system-mapping
   (source "/dev/log") ;for syslog
   (target source)))
 #:user "opendht"))
   (stop #~(make-kill-destructor
--8<---cut here---end--->8---

I'm not sure how using such basic building blocks could lead to a hang
in Shepherd ?

Thanks,

Maxim





bug#48519: texlive-bin cannot be installed in a profile

2021-05-19 Thread Ricardo Wurmus



raid5atemyhomework  writes:

In recent commits, `texlive-bin` cannot be installed in a 
profile.

[…]

***Is*** this an issue?


Yes.  The problem is that the texlive-configuration profile hook 
is hooked to texlive-bin instead of texlive-base (which includes 
texlive-bin).  I’ve been meaning to change that but haven’t gotten 
around to doing this.


--
Ricardo





bug#48520: rav1e 0.3.5 is not reproducible

2021-05-19 Thread Bone Baboon via Bug reports for GNU Guix
`guix describe` outputs:

```
Generation 24   May 12 2021 18:06:24(current)
  guix d6aeebb
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: d6aeebb23639258311fdfb9dbf5f903079fde51a
```

`guix challenge /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5`
outputs:

```
/gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5 contents differ:
  local hash: 0lr47rfaq41yn3sbf86xnwpsrgvi38ifi3hx5dz3cm5iinfwaxc0
  
https://ci.guix.gnu.org/nar/lzip/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5: 
17g58f754k0n5hwiysb88cz9fg82di2j244zzh9mnv6a172y4xjb
  differing file:
/share/cargo/registry/rav1e-0.3.5.crate

1 store items were analyzed:
  - 0 (0.0%) were identical
  - 1 (100.0%) differed
  - 0 (0.0%) were inconclusive
```

`guix challenge --diff=diffoscope
/gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5` outputs:

```
/gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5 contents differ:
  local hash: 0lr47rfaq41yn3sbf86xnwpsrgvi38ifi3hx5dz3cm5iinfwaxc0
  
https://ci.guix.gnu.org/nar/lzip/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5: 
17g58f754k0n5hwiysb88cz9fg82di2j244zzh9mnv6a172y4xjb
--- /tmp/guix-directory.3zSn14
+++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5
│   --- /tmp/guix-directory.3zSn14/share
├── +++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share
│ │   --- /tmp/guix-directory.3zSn14/share/cargo
│ ├── +++ /gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share/cargo
│ │ │   --- /tmp/guix-directory.3zSn14/share/cargo/registry
│ │ ├── +++ 
/gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share/cargo/registry
│ │ │ │   --- /tmp/guix-directory.3zSn14/share/cargo/registry/rav1e-0.3.5.crate
│ │ │ ├── +++ 
/gnu/store/cdhgn2y3xzmbxfzkzzlm9fb7q70paxvz-rav1e-0.3.5/share/cargo/registry/rav1e-0.3.5.crate
│ │ │ │ ├── rav1e-0.3.5.crate-content
│ │ │ │ │ ├── file list
│ │ │ │ │ │ @@ -1,9 +1,9 @@
│ │ │ │ │ │ --rw-r--r--   00039196 2021-04-03 
18:35:22.00 rav1e-0.3.5/Cargo.lock
│ │ │ │ │ │ --rw-r--r--   000 4228 2021-04-03 
18:35:22.00 rav1e-0.3.5/Cargo.toml
│ │ │ │ │ │ +-rw-r--r--   00039196 2021-04-21 
15:38:10.00 rav1e-0.3.5/Cargo.lock
│ │ │ │ │ │ +-rw-r--r--   000 4228 2021-04-21 
15:38:10.00 rav1e-0.3.5/Cargo.toml
│ │ │ │ │ │  -rw-r--r--   0  9993 4228 2020-12-31 
14:44:40.00 rav1e-0.3.5/Cargo.toml.orig
│ │ │ │ │ │  -rw-r--r--   0  9993 1332 2020-11-16 
12:40:01.00 rav1e-0.3.5/LICENSE
│ │ │ │ │ │  -rw-r--r--   0  9993 5702 2017-09-24 
10:10:31.00 rav1e-0.3.5/PATENTS
│ │ │ │ │ │  -rw-r--r--   0  9993 5820 2020-12-31 
12:00:53.00 rav1e-0.3.5/README.md
│ │ │ │ │ │  -rw-r--r--   0  9993 4333 2020-12-31 
12:00:53.00 rav1e-0.3.5/build.rs
│ │ │ │ │ │  -rw-r--r--   0  9993  423 2020-12-31 
12:00:53.00 rav1e-0.3.5/cbindgen.toml
│ │ │ │ │ │  -rw-r--r--   0  9993 3579 2020-12-31 
12:00:53.00 rav1e-0.3.5/src/activity.rs

1 store items were analyzed:
  - 0 (0.0%) were identical
  - 1 (100.0%) differed
  - 0 (0.0%) were inconclusive
```





bug#48519: texlive-bin cannot be installed in a profile

2021-05-19 Thread raid5atemyhomework via Bug reports for GNU Guix
In recent commits, `texlive-bin` cannot be installed in a profile.  This can be 
replicated by doing:

guix pull
guix install texlive-bin

Or with a specific recent commit:

guix time-machine --commit=b7c7a61 -- install -p tmp texlive-bin

Note that it fails at the "building Tex Live configuration" phase; `guix build 
texlive-bin` builds perfectly fine, it is the installing of the package into 
*any* profile which fails.


However, in a previous commit a few weeks ago, `texlive-bin` *could* be 
installed into a profile:

guix time-machine --commit=131265e -- install -p tmp texlive-bin # Succeeds



So, doing a `git bisect` between those two commits, I got to this commit:

```git
commit a6b8794c69446730b5f12eb8eefc5ef3b99c97dc
Author: Ricardo Wurmus 
Date:   Mon May 3 15:34:46 2021 +0200

profiles: texlive-configuration: Refresh font maps.

* guix/profiles.scm (texlive-configuration): Run updmap to generate font 
maps
necessary for pdflatex and other tools.

 guix/profiles.scm | 51 ---
 1 file changed, 48 insertions(+), 3 deletions(-)
```

Its direct parent can install `texlive-bin` perfectly fine:

guix time-machine --commit=eb930be -- install -p tmp texlive-bin # Succeeds

The above commit fails:

guix time-machine --commit=a6b8794 -- install -p tmp texlive-bin # Fails


The specific error when constructing the profile is this:

```
updmap: open() failed: No such file or directory at 
/gnu/store/jy61rq7jhiqwjcmm4agr2hpk3f7ggnks-texlive-bin-20190410/bin/updmap 
line 2153.
updmap [ERROR]: The following map file(s) couldn't be found:
updmap [ERROR]: dvips35.map (in builtin)
updmap [ERROR]: pdftex35.map (in builtin)
updmap [ERROR]: ps2pk35.map (in builtin)
updmap [ERROR]: Did you run mktexlsr?

You can disable non-existent map entries using the option
  --syncwithtrees.

Backtrace:
   2 (primitive-load "/gnu/store/zxqc1b3asn8n7fd20815scdmp53?")
In ice-9/eval.scm:
619:8  1 (_ #f)
In guix/build/utils.scm:
654:6  0 (invoke _ . _)

guix/build/utils.scm:654:6: In procedure invoke:
ERROR:
  1. :
  program: 
"/gnu/store/jy61rq7jhiqwjcmm4agr2hpk3f7ggnks-texlive-bin-20190410/bin/updmap-sys"
  arguments: 
("--cnffile=/gnu/store/5bzfkhncqa507c9zmp7sljssdxr9g08f-texlive-configuration/share/texmf-config/web2c/updmap.cfg"
 
"--dvipdfmxoutputdir=/gnu/store/5bzfkhncqa507c9zmp7sljssdxr9g08f-texlive-configuration/share/texmf-dist/fonts/map/updmap/dvipdfmx/"
 
"--dvipsoutputdir=/gnu/store/5bzfkhncqa507c9zmp7sljssdxr9g08f-texlive-configuration/share/texmf-dist/fonts/map/updmap/dvips/"
 
"--pdftexoutputdir=/gnu/store/5bzfkhncqa507c9zmp7sljssdxr9g08f-texlive-configuration/share/texmf-dist/fonts/map/updmap/pdftex/")
  exit-status: 1
  term-signal: #f
  stop-signal: #f
```

I don't know how to debug this further, unfortunately.


***Is*** this an issue?  It seems I can just remove `texlive-bin` and still 
have `pdflatex` and co working on my profile.


Thanks
raid5atemyhomework