[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
enchant hash, fail to upgrade
From: |
Catriel |
Subject: |
enchant hash, fail to upgrade |
Date: |
Sun, 22 Sep 2019 16:22:45 -0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
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/address@hidden/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.
- enchant hash, fail to upgrade,
Catriel <=
- Re: enchant hash, fail to upgrade, Julien Lepiller, 2019/09/22
- Re: enchant hash, fail to upgrade, Catriel, 2019/09/22
- Re: enchant hash, fail to upgrade, Julien Lepiller, 2019/09/23
- Re: enchant hash, fail to upgrade, Tobias Geerinckx-Rice, 2019/09/23
- Re: enchant hash, fail to upgrade, Catriel Omar D'Elía, 2019/09/24
- Re: enchant hash, fail to upgrade, Tobias Geerinckx-Rice, 2019/09/24
- Re: enchant hash, fail to upgrade, Catriel Omar D'Elía, 2019/09/24
Re: enchant hash, fail to upgrade, Ludovic Courtès, 2019/09/24