Patchwork gnu: maxima: Update to 5.39.0.

login
register
mail settings
Submitter Kei Yamashita
Date Dec. 17, 2016, 9:09 p.m.
Message ID <871sx64614.fsf@openmailbox.org>
Download mbox | patch
Permalink /patch/18541/
State New
Headers show

Comments

Kei Yamashita - Dec. 17, 2016, 9:09 p.m.
This was supposed to be a simple version bump for Maxima, but it has
come to my attention that Maxima hasn't built reproducibily for quite a
while now (since version 5.36.1 according to my tests, possibly
further). Is there any particular reason why? I can't seem to pinpoint
the cause.
From 0c43d0a7838d3b1133265dc4137451cc8986c02d Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kei@openmailbox.org>
Date: Sat, 17 Dec 2016 16:03:46 -0500
Subject: [PATCH] gnu: maxima: Update to 5.39.0.

* gnu/packages/maths.scm (maxima): Update to 5.39.0.
---
 gnu/packages/maths.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Marius Bakke - Dec. 18, 2016, 3:41 p.m.
Kei Kebreau <kei@openmailbox.org> writes:

> This was supposed to be a simple version bump for Maxima, but it has
> come to my attention that Maxima hasn't built reproducibily for quite a
> while now (since version 5.36.1 according to my tests, possibly
> further). Is there any particular reason why? I can't seem to pinpoint
> the cause.

The patch looks good. Are you sure it was reproducible before?

I've found 'diffoscope' to be useful when troubleshooting
reproducibility problems. E.g. by running it on two cancelled builds, or
by installing to different output paths with a superficial change to the
expression. It will show sections that differs which may aid locating
the offending code.

For C family programs, a "hail mary" grep for __DATE__ or __TIME__ can
be enough. Tobias suggested making those return a fixed value, which I
think could be worthwhile, at least for the build environment.
Kei Yamashita - Dec. 18, 2016, 5:59 p.m.
Marius Bakke <mbakke@fastmail.com> writes:

> Kei Kebreau <kei@openmailbox.org> writes:
>
>> This was supposed to be a simple version bump for Maxima, but it has
>> come to my attention that Maxima hasn't built reproducibily for quite a
>> while now (since version 5.36.1 according to my tests, possibly
>> further). Is there any particular reason why? I can't seem to pinpoint
>> the cause.
>
> The patch looks good. Are you sure it was reproducible before?
>

That's the thing; I'm not sure! I'll being investigating, though.

> I've found 'diffoscope' to be useful when troubleshooting
> reproducibility problems. E.g. by running it on two cancelled builds, or
> by installing to different output paths with a superficial change to the
> expression. It will show sections that differs which may aid locating
> the offending code.
>

Yes. I see that diffoscope complains about missing 'xxd'. That may be
useful to package (unless we already have it and I'm just oblivious).

> For C family programs, a "hail mary" grep for __DATE__ or __TIME__ can
> be enough. Tobias suggested making those return a fixed value, which I
> think could be worthwhile, at least for the build environment.

Cool. I'll remember this tip.

Patch pushed as 4a652c78d425bfd76c2baba510ecd255b22b4714.
Marius Bakke - Dec. 18, 2016, 6:34 p.m.
Kei Kebreau <kei@openmailbox.org> writes:

>> I've found 'diffoscope' to be useful when troubleshooting
>> reproducibility problems. E.g. by running it on two cancelled builds, or
>> by installing to different output paths with a superficial change to the
>> expression. It will show sections that differs which may aid locating
>> the offending code.
>>
>
> Yes. I see that diffoscope complains about missing 'xxd'. That may be
> useful to package (unless we already have it and I'm just oblivious).

'xxd' is distributed with the 'vim' package. Is the error fatal? Perhaps
we should patch diffoscope with the absolute path to xxd.
Leo Famulari - Dec. 18, 2016, 6:35 p.m.
On Sun, Dec 18, 2016 at 12:59:33PM -0500, Kei Kebreau wrote:
> Yes. I see that diffoscope complains about missing 'xxd'. That may be
> useful to package (unless we already have it and I'm just oblivious).

Does it break diffoscope or is it just a warning? Either way, we should
try to build diffoscope with all its optional dependencies.
Leo Famulari - Dec. 18, 2016, 7:10 p.m.
On Sun, Dec 18, 2016 at 07:34:32PM +0100, Marius Bakke wrote:
> Kei Kebreau <kei@openmailbox.org> writes:
> 
> >> I've found 'diffoscope' to be useful when troubleshooting
> >> reproducibility problems. E.g. by running it on two cancelled builds, or
> >> by installing to different output paths with a superficial change to the
> >> expression. It will show sections that differs which may aid locating
> >> the offending code.
> >>
> >
> > Yes. I see that diffoscope complains about missing 'xxd'. That may be
> > useful to package (unless we already have it and I'm just oblivious).
> 
> 'xxd' is distributed with the 'vim' package. Is the error fatal? Perhaps
> we should patch diffoscope with the absolute path to xxd.

The warning message in the source code is:

"xxd not available in path. Falling back to Python hexlify."

So, I guess the built-in hexlify is a fine fall-back for now.
Kei Yamashita - Dec. 19, 2016, 4:50 a.m.
Leo Famulari <leo@famulari.name> writes:

> On Sun, Dec 18, 2016 at 12:59:33PM -0500, Kei Kebreau wrote:
>> Yes. I see that diffoscope complains about missing 'xxd'. That may be
>> useful to package (unless we already have it and I'm just oblivious).
>
> Does it break diffoscope or is it just a warning? Either way, we should
> try to build diffoscope with all its optional dependencies.

I see that you've already answered your question. To both of you, I
expect that using xxd provides some benefit. For what it's worth, in
Debian xxd/vim-common is recommended when installing diffoscope.

Patch

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ce7eecfa7..7ce00c8dc 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1857,7 +1857,7 @@  to BMP, JPEG or PNG image formats.")
 (define-public maxima
   (package
     (name "maxima")
-    (version "5.38.1")
+    (version "5.39.0")
     (source
      (origin
        (method url-fetch)
@@ -1865,7 +1865,7 @@  to BMP, JPEG or PNG image formats.")
                            version "-source/" name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1p6646rvq43hk09msyp0dk50cqpkh07mf4x0bc2fqisqmcv6b1hf"))
+         "1cvignn5y6qzrby6qb885yc8zdcdqdr1d50vcvc3gapw2f0gk3zm"))
        (patches (search-patches "maxima-defsystem-mkdir.patch"))))
     (build-system gnu-build-system)
     (inputs