Hi,
On Mon, 29 Mar 2021 at 23:37, Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (8 lines)
> zimoun <zimon.toutoune@gmail.com> skribis:
>
>> It is probably an upstream in-place replacement. This kind of thing is
>> really annoying because it means that people using substitutes do not
>> notice whereas people building from source do.
>
> Could you send a diff of the two tarballs?
Hehe! I have opened the bug because I wanted to avoid to investigate
myself. ;-)
Basically, I think it is a classical upstream in-place replacement.
From upstream:
Toggle snippet (26 lines)
$ guix build -S gprolog --no-substitutes
The following derivation will be built:
/gnu/store/yjrcalnckwmi1ah217xh85sd7ksjcxfw-gprolog-1.4.5.tar.gz.drv
building /gnu/store/yjrcalnckwmi1ah217xh85sd7ksjcxfw-gprolog-1.4.5.tar.gz.drv...
Starting download of /gnu/store/wm72f18w1gvshkz39yp12vnmnkkib79k-gprolog-1.4.5.tar.gz
From http://gprolog.org/gprolog-1.4.5.tar.gz...
downloading from http://gprolog.org/gprolog-1.4.5.tar.gz ...
gprolog-1.4.5.tar.gz 3.4MiB 556KiB/s 00:06 [##################] 100.0%
sha256 hash mismatch for /gnu/store/wm72f18w1gvshkz39yp12vnmnkkib79k-gprolog-1.4.5.tar.gz:
expected hash: 0z4cc42n3k6i35b8mr816iwsvrpxshw6d7dgz6s2h1hy0l7g1p5z
actual hash: 18mrmx44fll0g1qphadna9g6m7miw8d22lkjavah22vzc38kalyf
hash mismatch for store item '/gnu/store/wm72f18w1gvshkz39yp12vnmnkkib79k-gprolog-1.4.5.tar.gz'
build of /gnu/store/yjrcalnckwmi1ah217xh85sd7ksjcxfw-gprolog-1.4.5.tar.gz.drv failed
View build log at '/var/log/guix/drvs/yj/rcalnckwmi1ah217xh85sd7ksjcxfw-gprolog-1.4.5.tar.gz.drv.bz2'.
guix build: error: build of `/gnu/store/yjrcalnckwmi1ah217xh85sd7ksjcxfw-gprolog-1.4.5.tar.gz.drv' failed
$ guix download http://gprolog.org/gprolog-1.4.5.tar.gz
Starting download of /tmp/guix-file.aqmcFI
From http://gprolog.org/gprolog-1.4.5.tar.gz...
gprolog-1.4.5.tar.gz 3.4MiB 557KiB/s 00:06 [##################] 100.0%
/gnu/store/59hpvhs8zk66g62yisx363fkl53svcnf-gprolog-1.4.5.tar.gz
18mrmx44fll0g1qphadna9g6m7miw8d22lkjavah22vzc38kalyf
Toggle snippet (10 lines)
$ guix hash $(guix build -S gprolog)
3.6 MB will be downloaded:
/gnu/store/wm72f18w1gvshkz39yp12vnmnkkib79k-gprolog-1.4.5.tar.gz
substituting /gnu/store/wm72f18w1gvshkz39yp12vnmnkkib79k-gprolog-1.4.5.tar.gz...
downloading from https://ci.guix.gnu.org/nar/wm72f18w1gvshkz39yp12vnmnkkib79k-gprolog-1.4.5.tar.gz ...
gprolog-1.4.5.tar.gz 3.4MiB 559KiB/s 00:06 [##################] 100.0%
0z4cc42n3k6i35b8mr816iwsvrpxshw6d7dgz6s2h1hy0l7g1p5z
Then, let get the content:
Toggle snippet (7 lines)
$ tar -xf /gnu/store/59hpvhs8zk66g62yisx363fkl53svcnf-gprolog-1.4.5.tar.gz
$ mv gprolog-1.4.5 from-upstream
$ tar -xf /gnu/store/wm72f18w1gvshkz39yp12vnmnkkib79k-gprolog-1.4.5.tar.gz
$ mv gprolog-1.4.5 from-ci
and show which files are differing:
Toggle snippet (21 lines)
$ diff -r --no-dereference from-{ci,upstream}
diff -r --no-dereference from-ci/ChangeLog from-upstream/ChangeLog
diff -r --no-dereference from-ci/doc/copyright.tex from-upstream/doc/copyright.tex
Binary files from-ci/doc/gprolog.dvi and from-upstream/doc/gprolog.dvi differ
diff -r --no-dereference from-ci/doc/gprolog.html from-upstream/doc/gprolog.html
Binary files from-ci/doc/gprolog.pdf and from-upstream/doc/gprolog.pdf differ
diff -r --no-dereference from-ci/doc/gprolog.ps from-upstream/doc/gprolog.ps
diff -r --no-dereference from-ci/doc/html_node/gprolog001.html from-upstream/doc/html_node/gprolog001.html
[...]
diff -r --no-dereference from-ci/doc/html_node/gprolog073.html from-upstream/doc/html_node/gprolog073.html
diff -r --no-dereference from-ci/doc/html_node/gprolog-idx.html from-upstream/doc/html_node/gprolog-idx.html
diff -r --no-dereference from-ci/doc/html_node/index.html from-upstream/doc/html_node/index.html
diff -r --no-dereference from-ci/NEWS from-upstream/NEWS
diff -r --no-dereference from-ci/src/EnginePl/gp_config.h from-upstream/src/EnginePl/gp_config.h
diff -r --no-dereference from-ci/src/EnginePl/gprolog_cst.h from-upstream/src/EnginePl/gprolog_cst.h
diff -r --no-dereference from-ci/src/Ma2Asm/x86_64_any.c from-upstream/src/Ma2Asm/x86_64_any.c
diff -r --no-dereference from-ci/src/Wam2Ma/wam2ma.c from-upstream/src/Wam2Ma/wam2ma.c
Basically, most seems a Copyright update and a documentation
regeneration. Except this:
Toggle snippet (20 lines)
$ diff -r --no-dereference from-ci/src/Ma2Asm/x86_64_any.c from-upstream/src/Ma2Asm/x86_64_any.c
213,214c213,216
< #if defined(M_x86_64_darwin) || defined(M_x86_64_bsd) || defined(M_x86_64_linux)
< pic_code = 1; /* NB: on darwin and BSD everything is PIC code, last gcc 6 needs this for linux */
---
> #if defined(M_x86_64_darwin) || defined(M_x86_64_bsd)
> pic_code = 1; /* NB: on darwin and BSD everything is PIC code */
> #elif defined(M_x86_64_linux) && __GNUC__ >= 6 /* gcc >= 6 needs PIC for linux */
> pic_code = 1;
$ diff -r --no-dereference from-ci/src/Wam2Ma/wam2ma.c from-upstream/src/Wam2Ma/wam2ma.c
514c514,516
< Syntax_Error("multifile or multifile expected");
---
> {
> Syntax_Error("multifile or multifile expected");
> }