unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* enchant hash, fail to upgrade
@ 2019-09-22 19:22 Catriel
  2019-09-22 21:30 ` Julien Lepiller
  2019-09-24 16:19 ` Ludovic Courtès
  0 siblings, 2 replies; 12+ messages in thread
From: Catriel @ 2019-09-22 19:22 UTC (permalink / raw)
  To: help-guix


Hi!

after a minor nuisanse (*) with guix pull, I stumble upon an error:

$guix upgrade --fallback
guix upgrade: aviso: paquete 'libstdc++' ya no existe
guix upgrade: el paquete 'sbcl-next' ha sido reemplazado por 'next'
substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
construyendo /gnu/store/g6srxnikawk7snkzxk6vxmms1aldidww-libgnomekbd-3.26.1.tar.xz.drv...
/gnu/store/g6srxnikawk7snkzxk6vxmms1aldidww-libgnomekbd-3.26.1.tar.xz.drv construido satisfactoriamente
construyendo /gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv...
la construcción de /gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv falló
Muestra el registro de construcción en '/var/log/guix/drvs/3d/fjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv.bz2'.
construyendo /gnu/store/7gsxkb7qivmw6kw4aizfxnx5r6m6i2lh-gnupg-2.2.17.tar.bz2.drv...
-guix upgrade: error: build of `/gnu/store/9xsx8j5b5j3khlicg91nrv6v84c3nssa-arc-theme-20181022.drv' failed

(sorry about the language)

it's saying that
/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv
failed.

the log doesn't output anything usefull, it just shows that the file was
downloaded.

So I try to build it from the derivation for more info:

guix build /gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv 
Se construirá la siguiente derivación:
   /gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv
construyendo
/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv...
...
sha256 hash mismatch for output path `/gnu/store/wsyfm5avik0wvh82gyxw9acbixp0ygbp-enchant-2.2.5.tar.gz'
  expected: 0iqwzs11i9fvqdxv5kn0svcn2mzymn657qf3j66lg8dx1nh4xkpz
  actual:   0r41qjz3104h5raiwlw5ywwybafbxdjz12j1bnq3kq60jlr6d2pf


And there it goes, the sha256 it's wrong, either in the .scm definition
or upstream.

I choose to trust upstream and try to define a package with the same
name and version but different sha256.

After

guix download --no-check-certificate https://github.com/AbiWord/enchant/releases/download/v2.2.5/enchant-2.2.5.tar.gz

to get the hash (**) and file

and defining enchant.scm with:

(use-modules (guix packages)
             (guix download)
             (gnu packages enchant)
             (gnu packages wm))

(package
 (inherit enchant)
 (name "enchant")
 (version "2.2.5")
 (source (origin
          (method url-fetch)
          (uri (string-append "https://github.com/AbiWord/enchant/releases"
                              "/download/v" version "/enchant-"
                              version ".tar.gz"))
          (sha256
           (base32
            "0r41qjz3104h5raiwlw5ywwybafbxdjz12j1bnq3kq60jlr6d2pf")))))

and then

guix package -f enchant.scm

I succefully install enchant, with the same version and name.

Then happily enjoying my wit to circumvent this issue until more proper
fixing takes place, I try to do a package upgrade again 'guix package -u'

but as a knowingly reader might predict, it just tries to build again
the enchant definition on guix repos. No matter that the package have
the same version and name, the package has another hash, another place
on the store, it's just a different input for the packages that use
enchant. So my hacky solution it's a no-solution that poped up in my
mind because habits from a non functional world die hard... but they
will... eventually.

So the questions are:

* How do I patch a package definition when I find a bug?

* Do I have to use guixsd or guix from source? (I'm currently using a
  guix binary installation on a foreign distro)

* I know that I can define a package with modifications. Say, modify
  emacs to display mario bros on background.. cuz... that would be
  really usefull.  But how to modify a package definition that it's not
  a leaf in the dependency graph? I never installed enchant, it's just a
  dependency. Say I find a bug or want to mess around with some lib and
  break things for fun. Just to break it, travel back in time with guix,
  and break it again in just another way. Do I have to redefine all the
  packages that use that dependency or there is an automatic way to do
  it?

(*) I was suffering from the same problem in this thread
    https://www.mail-archive.com/help-guix@gnu.org/msg04879.html
    and tried Ludovic suggestion. Maybe I remove more links that Ludovic
    suggests, but after some manual tinkering it just works.

(**) How does guix download calculates the hash? if I do a
     $sha256sum tarball.tar.gz it outputs other hash.

Thanks in advance!
COD.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-09-25 17:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-22 19:22 enchant hash, fail to upgrade Catriel
2019-09-22 21:30 ` Julien Lepiller
2019-09-22 22:38   ` Catriel
2019-09-23 10:11     ` Julien Lepiller
2019-09-23 16:09       ` Tobias Geerinckx-Rice
2019-09-24 18:44         ` Catriel Omar D'Elía
2019-09-24 19:25           ` Tobias Geerinckx-Rice
2019-09-24 15:32       ` Catriel Omar D'Elía
2019-09-24 16:19 ` Ludovic Courtès
2019-09-24 19:18   ` Catriel Omar D'Elía
2019-09-24 19:51     ` Tobias Geerinckx-Rice
2019-09-25 17:43       ` Catriel Omar D'Elía

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).