--- Begin Message ---
Subject: |
[PATCH] gnu: octave: Add audio and Qt GUI support. |
Date: |
Fri, 26 Jan 2018 10:13:11 -0500 |
* 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.
---
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"
--
2.16.1
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support. |
Date: |
Sat, 31 Mar 2018 14:58:06 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Kei Kebreau <address@hidden> writes:
> ng0 <address@hidden> writes:
>
>> address@hidden transcribed 2.4K bytes:
>>> On Sat, 27 Jan 2018, Kei Kebreau <address@hidden> wrote:
>>> > address@hidden writes:
>>> >
>>> >> On Fri, 26 Jan 2018, Kei Kebreau <address@hidden> wrote:
>>> >>> 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.
>>> >>>>>
>>> >> […]
>>> >>>> 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?
>>> >>>
>>> >>
>>> >> It could be done later on, but if you think it wouldn't be too
>>> >> much work you could do it now.
>>> >
>>> > Done, I think!
>>> >
>>> >> Ideally this would leave 'octave' as it is and add
>>> >> 'octave-whatever' ... octave-qt? Debian calls the package (with
>>> >> just the Qt Gui) "qtoctave". octave-* should be reserved for
>>> >> extensions (which we don't have right now), so maybe qtoctave
>>> >> would fit into our naming scheme?
>>> >>
>>> >>
>>> >> / I think I'm going to switch the subscribed address once more,
>>> >> now that I have proper filtering I don't need the server-side
>>> >> filtering. /
>>> >
>>> > Can you (and/or any bystanders reading this) test these?
>>> >
>>> >
>>> >
>>>
>>> LGTM.
>>>
>>> qtoctave worked, the normal octave should be alright.
>>>
>>> Thank you very much for the work on this.
>>
>> Can someone push this? If nothing changed since the review I did, it's
>> good to go and just catching digital dust. Patch still applies iirc as
>> I build my active branch with it.
>
> Sorry for the delay! I've been swamped with other work. I'll be pushing
> this today as soon as I build and lint it on my computer. Thanks for
> your help!
signature.asc
Description: PGP signature
--- End Message ---