Subject: Re: bug#25729: [PATCH] gnu: Add lush2.

From: ng0 <[email-masked]>
Date: Wed, 1 Mar 2017 12:13:40 +0000

On 17-02-28 23:50:49, Kei Kebreau wrote:
> [email-masked] writes:
> 
> > From: ng0 <[email-masked]>
> >
> > * gnu/packages/lisp.scm (lush2): New variable.
> > ---
> >  gnu/packages/lisp.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++-
> >  1 file changed, 68 insertions(+), 1 deletion(-)
> >
> > diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
> > index 80161de01..de87eaa21 100644
> > --- a/gnu/packages/lisp.scm
> > +++ b/gnu/packages/lisp.scm
> > @@ -3,7 +3,7 @@
> >  ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <[email-masked]>
> >  ;;; Copyright © 2015 Mark H Weaver <[email-masked]>
> >  ;;; Copyright © 2016 Federico Beffa <[email-masked]>
> > -;;; Copyright © 2016 ng0 <[email-masked]>
> > +;;; Copyright © 2016, 2017 ng0 <[email-masked]>
> >  ;;; Copyright © 2016 Andy Patterson <[email-masked]>
> >  ;;; Copyright © 2017 Ricardo Wurmus <[email-masked]>
> >  ;;;
> > @@ -37,16 +37,27 @@
> >    #:use-module (guix build-system asdf)
> >    #:use-module (guix build-system trivial)
> >    #:use-module (gnu packages base)
> > +  #:use-module (gnu packages compression)
> > +  #:use-module (gnu packages fontutils)
> > +  #:use-module (gnu packages maths)
> >    #:use-module (gnu packages multiprecision)
> >    #:use-module (gnu packages bdw-gc)
> >    #:use-module (gnu packages libffi)
> >    #:use-module (gnu packages libffcall)
> >    #:use-module (gnu packages readline)
> > +  #:use-module (gnu packages sdl)
> >    #:use-module (gnu packages libsigsegv)
> > +  #:use-module (gnu packages linux)
> >    #:use-module (gnu packages admin)
> >    #:use-module (gnu packages ed)
> > +  #:use-module (gnu packages gl)
> > +  #:use-module (gnu packages gcc)
> > +  #:use-module (gnu packages glib)
> > +  #:use-module (gnu packages gettext)
> >    #:use-module (gnu packages m4)
> > +  #:use-module (gnu packages pkg-config)
> >    #:use-module (gnu packages version-control)
> > +  #:use-module (gnu packages xorg)
> >    #:use-module (ice-9 match)
> >    #:use-module (srfi srfi-1))
> >  
> > @@ -530,6 +541,62 @@ The core is 12 builtin special forms and 33 builtin functions.")
> >        (home-page "https://github.com/JeffBezanson/femtolisp")
> >        (license license:bsd-3))))
> >  
> > +(define-public lush2
> > +  (package
> > +    (name "lush2")
> > +    (version "2.0.1")
> > +    (source
> > +     (origin
> > +       (method url-fetch)
> > +       (uri (string-append "http://sourceforge.net/projects/"
> > +                           "lush/files/lush2/" name
> > +                           "-" version ".tar.gz"))
> 
> I changed the URL to the "mirror://" format, and I added a snippet here
> to remove time-based reproducibility issues.

Oh. I thought this was one of the cases where my proposed SF-mirror
addition would be useful, because project_s_ is used and not project.
But if it still works, good.

> > +       (sha256
> > +        (base32
> > +         "02pkfn3nqdkm9fm44911dbcz0v3r0l53vygj8xigl6id5g3iwi4k"))))
> > +    (build-system gnu-build-system)
> > +    (arguments
> > +     `(;; We have to add these LIBS so that they are found.
> > +       #:configure-flags (list "LIBS=-lz"
> > +                               "X_EXTRA_LIBS=-lfontconfig"
> > +                               "--with-x")
> > +       #:tests? #f)) ; No make check.
> > +    (inputs
> > +     `(("alsa-lib" ,alsa-lib)
> > +       ("sdl" ,sdl)
> > +       ("sdl-image" ,sdl-image)
> > +       ("sdl-mixer" ,sdl-mixer)
> > +       ("sdl-net" ,sdl-net)
> > +       ("sdl-ttf" ,sdl-ttf)
> > +       ("lapack" ,lapack)
> > +       ("libxft" ,libxft)
> > +       ("fontconfig" ,fontconfig)
> > +       ("gsl" ,gsl)
> > +       ("openblas" ,openblas)
> > +       ("glu" ,glu)
> > +       ("mesa" ,mesa)
> > +       ("mesa-utils" ,mesa-utils)
> > +       ("binutils" ,binutils)
> > +       ("intltool" ,intltool)
> 
> I made intltool a native input according to the linter's output. Lush
> still builds fine.
> 
> > +       ("libiberty" ,libiberty)
> > +       ("readline" ,readline)
> > +       ("zlib" ,zlib)
> > +       ("gettext-minimal" ,gettext-minimal)))
> > +    (synopsis "Lisp Universal Shell")
> > +    (description
> > +     "Lush is an object-oriented Lisp interpreter/compiler with features
> > +designed to please people who want to prototype large numerical
> > +applications.  Lush includes an extensive library of
> > +vector/matrix/tensor manipulation, numerous numerical libraries
> > +(including GSL, LAPACK, and BLAS), a set of graphic functions, a
> > +simple GUI toolkit, and interfaces to various graphic and multimedia
> > +libraries such as OpenGL, SDL, Video4Linux, and ALSA (video/audio
> > +grabbing), and others.  Lush is an ideal frontend script language for
> > +programming projects written in C or other languages.  Lush also has
> > +libraries for Machine Learning, Neural Nets and statistical estimation.")
> > +    (home-page "http://lush.sourceforge.net/")
> > +    (license license:lgpl2.1)))
> 
> The copyright file had an "or later" clause, so I fixed the license.

Oh, thanks for catching this.

> > +
> >  (define-public sbcl-alexandria
> >    (let ((revision "1")
> >          (commit "926a066611b7b11cb71e26c827a271e500888c30"))
> 
> Thanks for the patch! Pushed as 05c638984dcbd02e51a8fc47431fbce405a4c614.

Thanks.