[PATCH] gnu: octave: Add audio and Qt GUI support.

  • Done
  • quality assurance status badge
Details
3 participants
  • Kei Kebreau
  • ng0+guixpatches
  • ng0
Owner
unassigned
Submitted by
Kei Kebreau
Severity
normal
K
K
Kei Kebreau wrote on 26 Jan 2018 16:13
(address . guix-patches@gnu.org)(name . Kei Kebreau)(address . kkebreau@posteo.net)
20180126151311.9049-1-kkebreau@posteo.net
* 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(-)

Toggle diff (71 lines)
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
N
N
ng0+guixpatches wrote on 26 Jan 2018 19:22
(name . Kei Kebreau)(address . kkebreau@posteo.net)(address . 30259@debbugs.gnu.org)
87wp04fpjs.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me
On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
Toggle quote (5 lines)
> * 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.

Toggle quote (74 lines)
> ---
> 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"

--
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/
N
N
ng0+guixpatches wrote on 26 Jan 2018 20:20
(address . ng0+guixpatches@n0.is)
87po5wfmui.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me
On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
Toggle quote (87 lines)
> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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.

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.
--
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/
K
K
Kei Kebreau wrote on 27 Jan 2018 03:09
(address . ng0+guixpatches@n0.is)(address . 30259@debbugs.gnu.org)
87372scat2.fsf@posteo.net
ng0+guixpatches@n0.is writes:

Toggle quote (92 lines)
> On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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.

Toggle quote (7 lines)
> 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?
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlpr30kACgkQ5qXuPBlG
eg2oqw//VyaWg412zKKHQ+es1TlMJ18/Y0KKzGYM8TsZs3A30UXKZaKbTZ3/P+Qh
gH19ySleWBMHo+nNymqt1vn5CUhG8ypPsHsugjo4X0lRWUQ8SuE19HQX9JKjPXEG
Y+0Q3Qm5f/hJWdd5ecFc7SL7GbKwAdUPngWenbOpz7IGMTCrw7hIsk5+YbbcOwh5
VW/QCWkOvrjabIh7pFu1uFl/zqAGqmHqVknLxtoFxe3QW4zGUJcRW/5s0aIeg+44
8Y4tME2f4ftw/XZM7UXLRMHzoyFN/7xrEZTWx7ulQcIyX6iDxI23pIsQg/tD0DE6
AKi7L2EHmkpd9d9oxo+pPbCy5u67tVeBIcXb9rK/1dtFc8p8GPWccnU468Q7+5VY
Z6O/wIdDZNon1EnpMFrOILpi47pwdMSm6h3tkDrPuCUmaIVNkwllEqEMR2+UhAPD
9vSTySMKLOxt2ufkA+8cbHb7ndnAXprvJxulvfFWHV78AWcHSTQTcTfi1lK5GbEV
PKNwO7uubo0r8aWjkye65aGuCMz0oRLrxp008Ma7xhYxdvtP5unEzq83+nNfksIt
8h1SvGGSOevBPAMUJT13kU1NJNB9I51qmYiyg5czJYWZl61Y9Rv9mvvYPE00VOJY
RSRtKdICbEmzIN3Gb189FwJvH/B0ASYKtXxkUFGxt9zr0j41ES4=
=Jnn3
-----END PGP SIGNATURE-----

N
N
ng0+guixpatches wrote on 27 Jan 2018 10:18
(name . Kei Kebreau)(address . kkebreau@posteo.net)
877es3zmla.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me
On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
Toggle quote (16 lines)
> ng0+guixpatches@n0.is writes:
>
>> On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
>>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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.
>>>
[…]
Toggle quote (18 lines)
>> 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.
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. /
--
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/
K
K
Kei Kebreau wrote on 27 Jan 2018 22:14
(address . ng0+guixpatches@n0.is)(address . 30259@debbugs.gnu.org)
87y3kjatrn.fsf@posteo.net
ng0+guixpatches@n0.is writes:

Toggle quote (39 lines)
> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
>> ng0+guixpatches@n0.is writes:
>>
>>> On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
>>>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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!

Toggle quote (11 lines)
> 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?
From da42c35c7d779c99a198e73d2872f5cde5401134 Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kkebreau@posteo.net>
Date: Fri, 26 Jan 2018 10:08:52 -0500
Subject: [PATCH 1/2] gnu: octave: Add audio and more sparse matrix support.

* gnu/packages/maths.scm (octave)[inputs]: Add suitesparse, libsndfile, portaudio and alsa-lib.
---
gnu/packages/maths.scm | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

Toggle diff (52 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index bce662737..bbfd41b1e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2016, 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -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,6 +93,7 @@
#: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 readline)
@@ -1310,7 +1313,11 @@ can solve two kinds of problems:
("zlib" ,zlib)
("curl" ,curl)
("texinfo" ,texinfo)
- ("graphicsmagick" ,graphicsmagick)))
+ ("graphicsmagick" ,graphicsmagick)
+ ("suitesparse" ,suitesparse)
+ ("libsndfile" ,libsndfile)
+ ("portaudio" ,portaudio)
+ ("alsa-lib" ,alsa-lib)))
(native-inputs
`(("lzip" ,lzip)
("gfortran" ,gfortran)
--
2.16.1
From a4cb4580413f81f83a57cd046e5a0d228e9b9aff Mon Sep 17 00:00:00 2001
From: Kei Kebreau <kkebreau@posteo.net>
Date: Sat, 27 Jan 2018 16:06:13 -0500
Subject: [PATCH 2/2] gnu: Add qtoctave.

* gnu/packages/maths.scm (qtoctave): New variable.
---
gnu/packages/maths.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index bbfd41b1e..b7ae069ad 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -96,6 +96,7 @@
#: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)
@@ -1357,6 +1358,31 @@ Work may be performed both at the interactive command-line as well as via
script files.")
(license license:gpl3+)))
+(define-public qtoctave
+ (package (inherit octave)
+ (name "qtoctave")
+ (inputs
+ `(("qscintilla" ,qscintilla)
+ ("qt" ,qtbase)
+ ,@(package-inputs octave)))
+ (native-inputs
+ `(("qttools" , qttools) ;for lrelease
+ ,@(package-native-inputs octave)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments octave)
+ ((#:phases phases)
+ `(modify-phases ,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))))))))
+
(define-public opencascade-oce
(package
(name "opencascade-oce")
--
2.16.1
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlps68wACgkQ5qXuPBlG
eg3rhw//chTweQFFS+0B28gQa3FgqgaIjJXAks6ZqQ7J7pWIHPhqUw6FLmmIcUwq
Z1ykc5ETQkMEkOSq5z58vg3rnGjxJNOiLsTATcOXiX5iEr9wERt8a0dFViqMygiP
o3/yKkUzMf+qkPd8M9H0Rmhr+wnznVA4dQgKJ1rxMdxu3JrS7daUyA8pxnqf2k6k
WB7WhlKR4I40fBafwjlcE+zWTfMuPmColMHwB+JUp5+3eAs/RaSRDhaap5bHV4if
CuajhX4y94dTS/bPOV3RvQCSwEUZSxv9e6C/NnyysZN9YioTmAZNjWoWeC87Q8sJ
cPaAUNWTPO3wlNwK5zSzrNicFEmlexJV/X2fbWazHj5kcLF9pPfvAf19pIdSsnJl
SR0NOIGquitqNZHlq0Q5To14HT1BZiUFkadwXrYwAUh2LTpVyPT7Vx6AKdKHIl58
3NZCUZdraAq1/i2ygFqt4zYQ2QmRG6Wy8PNBGtLqlZcSApo0QmYn0GziTnmt/MqC
e0PDKPuUAOOqDhTX5FIf9Tz1zeFCQ37BP2ElQ3FdzoerGLBeAVcfKRefaWEJ0ZqF
MgaKEpJuabDO602iII+trZ0XJIo0en6CILo31QCMG8xB/EySr+2pN4fTGvUf69/I
GWQMs4h16Zd1WqGbaLsKYIyX0u7VLrz7JAUKSsnkoJiauDD7kAY=
=YHtQ
-----END PGP SIGNATURE-----

N
(address . 30259@debbugs.gnu.org)
87607mn846.fsf@abyayala.i-did-not-set--mail-host-address--so-tickle-me
On Sat, 27 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
Toggle quote (59 lines)
> ng0+guixpatches@n0.is writes:
>
>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
>>> ng0+guixpatches@n0.is writes:
>>>
>>>> On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
>>>>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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.
--
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/
N
(address . 30259@debbugs.gnu.org)
20180317152552.eui5w7e275sx4ohu@abyayala
ng0@n0.is transcribed 2.4K bytes:
Toggle quote (66 lines)
> On Sat, 27 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
> > ng0+guixpatches@n0.is writes:
> >
> >> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
> >>> ng0+guixpatches@n0.is writes:
> >>>
> >>>> On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
> >>>>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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.
--
A88C8ADD129828D7EAC02E52E22F9BBFEE348588
K
K
Kei Kebreau wrote on 31 Mar 2018 16:57
(name . ng0)(address . ng0@n0.is)(address . 30259@debbugs.gnu.org)
87y3i870o7.fsf@posteo.net
ng0 <ng0@n0.is> writes:

Toggle quote (72 lines)
> ng0@n0.is transcribed 2.4K bytes:
>> On Sat, 27 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
>> > ng0+guixpatches@n0.is writes:
>> >
>> >> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
>> >>> ng0+guixpatches@n0.is writes:
>> >>>
>> >>>> On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
>> >>>>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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!
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlq/odgACgkQ5qXuPBlG
eg2PCg/9FDoF+U9qK21AMVnqn66b5b0o5lZacr+gzMvkSMlyxb7fEUwSW+vJYBCQ
1I+ZBQ7KADu+LkLe5PZFzS9Hpp5G6neW1tBinxx+A3acBYKUFGISBtdqb6IQyGpf
SnXoh71EC+agkayutr6QvWNkwnDmv4XXuv/AGj/36NAkRWWQvlzxEFr5iGoso+O6
Xtm+M1L291ZCsGuR7wwfjcwzQVL3Rum6au6Qn4cD/2OKODc75iru/hEsnRr8NiNL
NTjvpWz4xUdk2iQFlbnuuT0EIP47mkOsUqB5gxjbPnoPxPqhW12zupke8jLxn1us
2Kt43a/+HNniGcCMtl8q1pgZpvuInYZYc0Y/BIMGYFqTEREooYTqncv0oVyeLH0I
3F/6nb7U58/cy/XUd3VMM43vbmJcUXL/5X7drr7h2uk91MefQ7Veio1Q87Q8Ln4y
KShU+4yAtG59ePxdGiHrrojU1KgQ1POn7JV2KVMIwGHDKSX2qjqcvf0sz9N3KZnO
hznR3rMZICpLD8WJeACSnF21qbEjD3MtppMgTGZd+x1Y6ElOZ5fHb6foR+rZ5GgD
gKs6OFELx7mt5sEM6rFJxL7pq6Vlr4nZrROa6ZyRaMHiZckBYWomnzqhURK9GPqR
NYXR6aFo+JDLXN7OHJgYxUvdUgYI4W3M/nXw0IyJHTQ+96ammx4=
=TzYI
-----END PGP SIGNATURE-----

K
K
Kei Kebreau wrote on 31 Mar 2018 20:58
(address . 30259-done@debbugs.gnu.org)
87vadc6pj5.fsf@posteo.net
Kei Kebreau <kkebreau@posteo.net> writes:

Toggle quote (77 lines)
> ng0 <ng0@n0.is> writes:
>
>> ng0@n0.is transcribed 2.4K bytes:
>>> On Sat, 27 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
>>> > ng0+guixpatches@n0.is writes:
>>> >
>>> >> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> wrote:
>>> >>> ng0+guixpatches@n0.is writes:
>>> >>>
>>> >>>> On Fri, 26 Jan 2018, ng0+guixpatches@n0.is wrote:
>>> >>>>> On Fri, 26 Jan 2018, Kei Kebreau <kkebreau@posteo.net> 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!
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEg7ZwOtzKO2lLzi2m5qXuPBlGeg0FAlq/2j8ACgkQ5qXuPBlG
eg1nJQ//XNNadQGWQPFyTvepNmnuJmgzgHrOLwtLdl8ghFrIKJpfsbVxzpcnS1QR
0Cg0c407eATe5bK2O/6BD0W7szsgQNV4+Li8vMYSQuMcwmVgs4qxRUjhOL2r9Zwn
hfKM8IkV0ayhU4UfQMs4CSjhCldZbjOGN3Uwvxb56w9CyFt3soOHowF7NnjAyjiN
l5F8e9KUUYCc31a4kuQo9JO1ABRvnSj1wINHCwQ/8+m4HqmhCq95I6hxCLsZjho1
GLKwA0exz1rjNecfpxjJeFd5gkPMmJyhqaqqYepFCVf5votXGuiWQ5XSOEY8TkbA
4F3XtqtlONxlK9/f31ZUoL1EltelzBpf1s/Q3xrgGPPceSaXgrAsAM4w9k7xkl8u
cIT3Ekf86OYrfONeUisBo6ubQO9GKLOnxyo9fYIXoBBOanvNUUwthMu0kbsP7MD6
37BtIiK7S2WrIWyOc6xJ8+OcFIKdbdLSNViU+gTi7cGdyvVC6G19NNqllEaC4bYA
alfNpcQ7evJ0nxioYdcbEm6qtHO+uCjDuuejzewl297cmbGSXEws27k+viZVPh2/
BafNctwnWypkGRte/ufEZ77Etzv0N9CI2ViRoG2F+UofrQWuYQb44OOhiElsRxqg
AI+159BuDkpzsdmsO/SlLlIpzI239yr7Z8WGFMJP8Wky783qyxw=
=fOjS
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 30259@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 30259
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch