guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/3] gnu: Add octave and dependencies


From: Ludovic Courtès
Subject: Re: [PATCH 3/3] gnu: Add octave and dependencies
Date: Sat, 25 Jan 2014 16:30:30 +0100
User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux)

John Darrington <address@hidden> skribis:

> * gnu/packages/maths.scm (octave gnuplot): New variables

Should be “(octave, gnuplot)”.

> +(define-public gnuplot
> +  (package
> +    (name "gnuplot")
> +    (version "4.6.3")
> +    (source
> +     (origin
> +      (method url-fetch)
> +      (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
> +                                version "/gnuplot-" version ".tar.gz"))
> +      (sha256
> +       (base32
> +        "1xd7gqdhlk7k1p9yyqf9vkk811nadc7m4si0q3nb6cpv4pxglpyz"))
> +      ))

Please move the closing parens to the previous line.

> +    (build-system gnu-build-system)
> +    (home-page "http://www.gnuplot.info";)
> +    (synopsis "command-line driven graphing utility.")

Start with a capital letter and remove the final period.

> +    (description "Gnuplot  is a portable command-line driven graphing
                            ^^
Extra space.
                            
> +    (license 
> +     license:fsf-free))) ; 
> http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright 
> +                         ;  X11 Style with the additional restriction that
> +                         ;  derived works may only be distributed as patches
> +                         ;  to the original.

‘fsf-free’ is actually a procedure, so it should be:

  (license (license:fsf-free 
"http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright";))

The comment should be kept just above.
> +    (native-inputs
> +     `(("gfortran" ,gfortran-4.8)
> +       ("perl" ,perl)
> +       ("less" ,less)
> +       ("pkg-config" ,pkg-config)
> +       ("texinfo" ,texinfo)
> +       ("ghostscript" ,ghostscript)
> +       ("gnuplot" ,gnuplot)))
> +    (propagated-inputs
> +      `(("texinfo" ,texinfo)
> +        ("less" ,less)
> +        ("ghostscript" ,ghostscript)
> +        ("gnuplot" ,gnuplot)))

Oh, seems like a case where native inputs need to be propagated.

Why do less, Texinfo, etc. need to be propagated?

If that’s because Octave expects them to be in $PATH, then maybe an
option would be to use ‘wrap-program’ to wrap the ‘octave’ program with
a shell script that initialize $PATH to contain these.

That way, we make sure Octave will run with the “right” versions of
these (those used at compile time and known to work), and the user’s
environment doesn’t end up pulling them.

An example of ‘wrap-program’ is Git (in version-control.scm.)

Other than that, looks great to me!

Thanks!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]