[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
From: |
Kei Kebreau |
Subject: |
[bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support. |
Date: |
Fri, 26 Jan 2018 21:09:13 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
address@hidden writes:
> On Fri, 26 Jan 2018, address@hidden wrote:
>> 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"
>
> Build, compiled, installed, LGTM and works for me. At least the
> minimal basics I've tested.
>
Excellent! Thanks for testing this.
> However I still think we should split it later on. I'm not sure
> if other systems just provide it in one piece or if they provide
> octave-cli, octave-qt, etc.
> In my scenario we don't have substitutes for Qt all the time and
> someone running a
> machine which isn't capable of building Qt wants to use octave.
I agree that this package should be split. Should a split be made now
while we leave the lighter CLI-only Octave package available on master,
or should it be postponed until later on?
signature.asc
Description: PGP signature