Subject: Re: [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.

From: [email-masked]
Date: Fri, 26 Jan 2018 18:22:31 +0000

On Fri, 26 Jan 2018, Kei Kebreau <[email-masked]> wrote:
> * gnu/packages/maths.scm (octave)[inputs]: Add qscintilla, qt, suitesparse,
> libsndfile, portaudio and alsa-lib.
> [native-inputs]: Add qttools.
> [arguments]: Add 'patch-qscintilla-library-name' phase.

Woo! Nice :) I've started work on the Qt GUI a while ago but
never finished it. Do you think we should split this into octave
and octave-qt (or octave-gui)? Qt is quiet huge and not everyone
will want this I think.

Building this now and getting back to you with results.

> ---
>  gnu/packages/maths.scm | 23 ++++++++++++++++++++++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
> index bce662737..172f1da07 100644
> --- a/gnu/packages/maths.scm
> +++ b/gnu/packages/maths.scm
> @@ -52,6 +52,7 @@
>    #:use-module (guix build-system ocaml)
>    #:use-module (guix build-system r)
>    #:use-module (gnu packages algebra)
> +  #:use-module (gnu packages audio)
>    #:use-module (gnu packages autotools)
>    #:use-module (gnu packages bison)
>    #:use-module (gnu packages boost)
> @@ -74,6 +75,7 @@
>    #:use-module (gnu packages image)
>    #:use-module (gnu packages java)
>    #:use-module (gnu packages less)
> +  #:use-module (gnu packages linux)
>    #:use-module (gnu packages lisp)
>    #:use-module (gnu packages logging)
>    #:use-module (gnu packages lua)
> @@ -91,8 +93,10 @@
>    #:use-module (gnu packages popt)
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages pulseaudio)
>    #:use-module (gnu packages python)
>    #:use-module (gnu packages python-web)
> +  #:use-module (gnu packages qt)
>    #:use-module (gnu packages readline)
>    #:use-module (gnu packages tbb)
>    #:use-module (gnu packages scheme)
> @@ -1310,12 +1314,19 @@ can solve two kinds of problems:
>         ("zlib" ,zlib)
>         ("curl" ,curl)
>         ("texinfo" ,texinfo)
> -       ("graphicsmagick" ,graphicsmagick)))
> +       ("graphicsmagick" ,graphicsmagick)
> +       ("qscintilla", qscintilla)
> +       ("qt", qtbase)
> +       ("suitesparse" ,suitesparse)
> +       ("libsndfile" ,libsndfile)
> +       ("portaudio" ,portaudio)
> +       ("alsa-lib" ,alsa-lib)))
>      (native-inputs
>       `(("lzip" ,lzip)
>         ("gfortran" ,gfortran)
>         ("pkg-config" ,pkg-config)
>         ("perl" ,perl)
> +       ("qttools" ,qttools) ;for lrelease
>         ;; The following inputs are not actually used in the build process.
>         ;; However, the ./configure gratuitously tests for their existence and
>         ;; assumes that programs not present at build time are also not, and
> @@ -1333,6 +1344,16 @@ can solve two kinds of problems:
>                              "/bin/sh"))
>         #:phases
>         (modify-phases %standard-phases
> +         (add-before 'configure 'patch-qscintilla-library-name
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             ;; The QScintilla library that the Octave configure script tries
> +             ;; to link with should be named libqscintilla-qt5.so, but the
> +             ;; QScintilla input provides the shared library as
> +             ;; libqscintilla2_qt5.so.
> +             (substitute* "configure"
> +               (("qscintilla2-qt5")
> +                "qscintilla2_qt5"))
> +             #t))
>           (add-after 'configure 'configure-makeinfo
>             (lambda* (#:key inputs #:allow-other-keys)
>               (substitute* "libinterp/corefcn/help.cc"

-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/