GNU bug report logs - #28000
[PATCH] gnu: octave: Build with texinfo.

Previous Next

Package: guix-patches;

Reported by: Arun Isaac <arunisaac <at> systemreboot.net>

Date: Mon, 7 Aug 2017 10:45:02 UTC

Severity: normal

Tags: patch

Done: Arun Isaac <arunisaac <at> systemreboot.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 28000 in the body.
You can then email your comments to 28000 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Mon, 07 Aug 2017 10:45:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Arun Isaac <arunisaac <at> systemreboot.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 07 Aug 2017 10:45:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: guix-patches <at> gnu.org
Cc: Arun Isaac <arunisaac <at> systemreboot.net>
Subject: [PATCH] gnu: octave: Build with texinfo.
Date: Mon,  7 Aug 2017 16:13:17 +0530
texinfo is required for the built-in documentation.

* gnu/packages/maths.scm (octave)[inputs]: Add texinfo.
[native-inputs]: Remove texinfo.
---
 gnu/packages/maths.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e19c8edc8..44de8a4e6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1026,7 +1026,7 @@ can solve two kinds of problems:
     (license license:bsd-3)))
 
 ;; For a fully featured Octave, users  are strongly recommended also to install
-;; the following packages: texinfo, less, ghostscript, gnuplot.
+;; the following packages: less, ghostscript, gnuplot.
 (define-public octave
   (package
     (name "octave")
@@ -1058,6 +1058,7 @@ can solve two kinds of problems:
        ("glu" ,glu)
        ("zlib" ,zlib)
        ("curl" ,curl)
+       ("texinfo" ,texinfo)
        ("graphicsmagick" ,graphicsmagick)))
     (native-inputs
      `(("lzip" ,lzip)
@@ -1072,7 +1073,6 @@ can solve two kinds of problems:
        ;; will still run without them, albeit without the features they
        ;; provide.
        ("less" ,less)
-       ("texinfo" ,texinfo)
        ("ghostscript" ,ghostscript)
        ("gnuplot" ,gnuplot)))
     (arguments
-- 
2.13.4





Information forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Mon, 07 Aug 2017 22:14:01 GMT) Full text and rfc822 format available.

Message #8 received at 28000 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Arun Isaac <arunisaac <at> systemreboot.net>, 28000 <at> debbugs.gnu.org
Subject: Re: [bug#28000] [PATCH] gnu: octave: Build with texinfo.
Date: Tue, 08 Aug 2017 00:13:28 +0200
[Message part 1 (text/plain, inline)]
Arun Isaac <arunisaac <at> systemreboot.net> writes:

> texinfo is required for the built-in documentation.
>
> * gnu/packages/maths.scm (octave)[inputs]: Add texinfo.
> [native-inputs]: Remove texinfo.

If I read this right, Octave references texinfo at runtime, so it's
moved to inputs for correctness? The commit message is a bit confusing,
since it already has texinfo available :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Mon, 07 Aug 2017 22:19:01 GMT) Full text and rfc822 format available.

Message #11 received at 28000 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: 28000 <at> debbugs.gnu.org
Subject: [Mail Delivery System] Undelivered Mail Returned to Sender
Date: Tue, 08 Aug 2017 00:18:28 +0200
Arun, the previous email bounced at my mail server:

Diagnostic-Code: X-Postfix; Host or domain name not found. Name service error
    for name=hrrol.systemreboot.net type=A: Host not found

...in case you wonder where the replies are.




Information forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Tue, 26 Sep 2017 13:24:01 GMT) Full text and rfc822 format available.

Message #14 received at 28000 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 28000 <at> debbugs.gnu.org
Subject: Re: [bug#28000] [PATCH] gnu: octave: Build with texinfo.
Date: Tue, 26 Sep 2017 18:53:06 +0530
Indeed, I was waiting for a response to this patch, and am seeing your
reply only now, after almost 2 months! It looks like I'm having trouble
with my DNS configuration. :-(


>> texinfo is required for the built-in documentation.
>>
>> * gnu/packages/maths.scm (octave)[inputs]: Add texinfo.
>> [native-inputs]: Remove texinfo.
>
>If I read this right, Octave references texinfo at runtime, so it's
>moved to inputs for correctness? The commit message is a bit confusing,
>since it already has texinfo available :-)

Currently, there is a comment above the octave package definition saying
that users should install texinfo manually in their profile. My patch
allows the user to not have to do that. This is the meaning I was trying
to convey with the commit message. What other commit message would you
suggest?




Information forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Wed, 27 Sep 2017 21:15:01 GMT) Full text and rfc822 format available.

Message #17 received at 28000 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Arun Isaac <arunisaac <at> systemreboot.net>
Cc: 28000 <at> debbugs.gnu.org
Subject: Re: [bug#28000] [PATCH] gnu: octave: Build with texinfo.
Date: Wed, 27 Sep 2017 23:14:50 +0200
[Message part 1 (text/plain, inline)]
Arun Isaac <arunisaac <at> systemreboot.net> writes:

> Indeed, I was waiting for a response to this patch, and am seeing your
> reply only now, after almost 2 months! It looks like I'm having trouble
> with my DNS configuration. :-(
>
>
>>> texinfo is required for the built-in documentation.
>>>
>>> * gnu/packages/maths.scm (octave)[inputs]: Add texinfo.
>>> [native-inputs]: Remove texinfo.
>>
>>If I read this right, Octave references texinfo at runtime, so it's
>>moved to inputs for correctness? The commit message is a bit confusing,
>>since it already has texinfo available :-)
>
> Currently, there is a comment above the octave package definition saying
> that users should install texinfo manually in their profile. My patch
> allows the user to not have to do that. This is the meaning I was trying
> to convey with the commit message. What other commit message would you
> suggest?

I think the comment may be referring to some of the command-line
utilities from Texinfo, e.g. for PDF exports.  There are no new
texinfo references in "octave" after this patch:

--8<---------------cut here---------------start------------->8---
$ grep -R /gnu/store/gfsiaw6rn29ii8cpjnix05a7r588k9yv-texinfo-6.3 $(./pre-inst-env guix build octave)
Binary file /gnu/store/pkg54952yx7dgv4cwjiwpfq5l9lyv90y-octave-4.2.1/lib/octave/4.2.1/liboctinterp.so.4.0.0 matches
Binary file /gnu/store/pkg54952yx7dgv4cwjiwpfq5l9lyv90y-octave-4.2.1/lib/octave/4.2.1/liboctinterp.so.4 matches
Binary file /gnu/store/pkg54952yx7dgv4cwjiwpfq5l9lyv90y-octave-4.2.1/lib/octave/4.2.1/liboctinterp.so matches
Binary file /gnu/store/pkg54952yx7dgv4cwjiwpfq5l9lyv90y-octave-4.2.1/bin/mkoctfile matches
Binary file /gnu/store/pkg54952yx7dgv4cwjiwpfq5l9lyv90y-octave-4.2.1/bin/mkoctfile-4.2.1 matches
--8<---------------cut here---------------end--------------->8---

However, native-inputs should not be referenced at all, so the patch
LGTM apart from the comment update.  Or maybe it's simply outdated?

Side note: Why is it referring to a different texinfo than the one from
`guix build texinfo`.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Fri, 29 Sep 2017 14:56:02 GMT) Full text and rfc822 format available.

Message #20 received at 28000 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 28000 <at> debbugs.gnu.org
Subject: Re: [bug#28000] [PATCH] gnu: octave: Build with texinfo.
Date: Fri, 29 Sep 2017 20:25:06 +0530
Oops! I just realized that my patch doesn't work. Let me explain.

Octave uses makeinfo to render the built-in function documentation. So,
it complains when it is not able to find makeinfo. This is shown below:

octave:1> help sin
sh: makeinfo: command not found
warning: help: Texinfo formatting filter exited abnormally; raw Texinfo source of help text follows...
'sin' is a built-in function from the file libinterp/corefcn/mappers.cc

Moving texinfo to inputs does not fix this. I wrongly thought it did
because when I tested octave within the following environment, the
built-in documentation worked.

$ guix environment guix
$ ./pre-inst-env guix environment --ad-hoc octave

However, this was only because texinfo, having been pulled in by the
guix environment, was in the profile.

Now, I'll try to patch the octave source code so that it references the
makeinfo executable in the store. I will send a new patch when I'm done.




Information forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Sat, 30 Sep 2017 09:26:02 GMT) Full text and rfc822 format available.

Message #23 received at 28000 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: 28000 <at> debbugs.gnu.org, mbakke <at> fastmail.com
Cc: Arun Isaac <arunisaac <at> systemreboot.net>
Subject: [PATCH] gnu: octave: Reference makeinfo with absolute path.
Date: Sat, 30 Sep 2017 14:55:28 +0530
* gnu/packages/maths.scm (octave)[arguments]: Add configure-makeinfo phase.
[inputs]: Add texinfo.
[native-inputs]: Remove texinfo.
---
 gnu/packages/maths.scm | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index f326f6af7..5c2ab05d1 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1126,7 +1126,7 @@ can solve two kinds of problems:
     (license license:bsd-3)))
 
 ;; For a fully featured Octave, users  are strongly recommended also to install
-;; the following packages: texinfo, less, ghostscript, gnuplot.
+;; the following packages: less, ghostscript, gnuplot.
 (define-public octave
   (package
     (name "octave")
@@ -1158,6 +1158,7 @@ can solve two kinds of problems:
        ("glu" ,glu)
        ("zlib" ,zlib)
        ("curl" ,curl)
+       ("texinfo" ,texinfo)
        ("graphicsmagick" ,graphicsmagick)))
     (native-inputs
      `(("lzip" ,lzip)
@@ -1172,14 +1173,23 @@ can solve two kinds of problems:
        ;; will still run without them, albeit without the features they
        ;; provide.
        ("less" ,less)
-       ("texinfo" ,texinfo)
        ("ghostscript" ,ghostscript)
        ("gnuplot" ,gnuplot)))
     (arguments
      `(#:configure-flags
        (list (string-append "--with-shell="
                             (assoc-ref %build-inputs "bash")
-                            "/bin/sh"))))
+                            "/bin/sh"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'configure-makeinfo
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "libinterp/corefcn/help.cc"
+               (("Vmakeinfo_program = \"makeinfo\"")
+                (string-append "Vmakeinfo_program = \""
+                               (assoc-ref inputs "texinfo")
+                               "/bin/makeinfo\"")))
+             #t)))))
     (home-page "https://www.gnu.org/software/octave/")
     (synopsis "High-level language for numerical computation")
     (description "GNU Octave is a high-level interpreted language that is
-- 
2.14.1





Information forwarded to guix-patches <at> gnu.org:
bug#28000; Package guix-patches. (Wed, 04 Oct 2017 14:39:01 GMT) Full text and rfc822 format available.

Message #26 received at 28000 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Arun Isaac <arunisaac <at> systemreboot.net>
Cc: mbakke <at> fastmail.com, 28000 <at> debbugs.gnu.org
Subject: Re: [bug#28000] [PATCH] gnu: octave: Reference makeinfo with absolute
 path.
Date: Wed, 04 Oct 2017 16:37:48 +0200
Arun Isaac <arunisaac <at> systemreboot.net> skribis:

> * gnu/packages/maths.scm (octave)[arguments]: Add configure-makeinfo phase.
> [inputs]: Add texinfo.
> [native-inputs]: Remove texinfo.

LGTM, thank you!

Ludo’.




Reply sent to Arun Isaac <arunisaac <at> systemreboot.net>:
You have taken responsibility. (Thu, 05 Oct 2017 22:11:01 GMT) Full text and rfc822 format available.

Notification sent to Arun Isaac <arunisaac <at> systemreboot.net>:
bug acknowledged by developer. (Thu, 05 Oct 2017 22:11:04 GMT) Full text and rfc822 format available.

Message #31 received at 28000-done <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: mbakke <at> fastmail.com, 28000-done <at> debbugs.gnu.org
Subject: Re: [bug#28000] [PATCH] gnu: octave: Reference makeinfo with
 absolute path.
Date: Fri, 06 Oct 2017 03:39:48 +0530
Pushed, thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 03 Nov 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 175 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.