[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
From: |
ng0+guixpatches |
Subject: |
[bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support. |
Date: |
Fri, 26 Jan 2018 18:22:31 +0000 |
On Fri, 26 Jan 2018, Kei Kebreau <address@hidden> 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/