unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
@ 2018-01-26 15:13 Kei Kebreau
  2018-01-26 18:22 ` ng0+guixpatches
  0 siblings, 1 reply; 10+ messages in thread
From: Kei Kebreau @ 2018-01-26 15:13 UTC (permalink / raw)
  To: 30259; +Cc: Kei Kebreau

* 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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-01-26 15:13 [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support Kei Kebreau
@ 2018-01-26 18:22 ` ng0+guixpatches
  2018-01-26 19:20   ` ng0+guixpatches
  0 siblings, 1 reply; 10+ messages in thread
From: ng0+guixpatches @ 2018-01-26 18:22 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: 30259

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"

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-01-26 18:22 ` ng0+guixpatches
@ 2018-01-26 19:20   ` ng0+guixpatches
  2018-01-27  2:09     ` Kei Kebreau
  0 siblings, 1 reply; 10+ messages in thread
From: ng0+guixpatches @ 2018-01-26 19:20 UTC (permalink / raw)
  To: ng0+guixpatches; +Cc: Kei Kebreau, 30259

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.

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.
-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-01-26 19:20   ` ng0+guixpatches
@ 2018-01-27  2:09     ` Kei Kebreau
  2018-01-27  9:18       ` ng0+guixpatches
  0 siblings, 1 reply; 10+ messages in thread
From: Kei Kebreau @ 2018-01-27  2:09 UTC (permalink / raw)
  To: ng0+guixpatches; +Cc: 30259

[-- Attachment #1: Type: text/plain, Size: 4462 bytes --]

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.
>>
>>> ---
>>>  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?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-01-27  2:09     ` Kei Kebreau
@ 2018-01-27  9:18       ` ng0+guixpatches
  2018-01-27 21:14         ` Kei Kebreau
  0 siblings, 1 reply; 10+ messages in thread
From: ng0+guixpatches @ 2018-01-27  9:18 UTC (permalink / raw)
  To: Kei Kebreau; +Cc: 30259

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.
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. /
-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-01-27  9:18       ` ng0+guixpatches
@ 2018-01-27 21:14         ` Kei Kebreau
  2018-01-28  0:24           ` ng0
  0 siblings, 1 reply; 10+ messages in thread
From: Kei Kebreau @ 2018-01-27 21:14 UTC (permalink / raw)
  To: ng0+guixpatches; +Cc: 30259


[-- Attachment #1.1: Type: text/plain, Size: 2135 bytes --]

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?


[-- Attachment #1.2: 0001-gnu-octave-Add-audio-and-more-sparse-matrix-support.patch --]
[-- Type: text/plain, Size: 2441 bytes --]

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(-)

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


[-- Attachment #1.3: 0002-gnu-Add-qtoctave.patch --]
[-- Type: text/plain, Size: 2035 bytes --]

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(+)

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


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-01-27 21:14         ` Kei Kebreau
@ 2018-01-28  0:24           ` ng0
  2018-03-17 15:25             ` ng0
  0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2018-01-28  0:24 UTC (permalink / raw)
  To: 30259

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.
-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-01-28  0:24           ` ng0
@ 2018-03-17 15:25             ` ng0
  2018-03-31 14:57               ` Kei Kebreau
  0 siblings, 1 reply; 10+ messages in thread
From: ng0 @ 2018-03-17 15:25 UTC (permalink / raw)
  To: 30259

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.
-- 
A88C8ADD129828D7EAC02E52E22F9BBFEE348588
https://n0.is

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-03-17 15:25             ` ng0
@ 2018-03-31 14:57               ` Kei Kebreau
  2018-03-31 18:58                 ` bug#30259: " Kei Kebreau
  0 siblings, 1 reply; 10+ messages in thread
From: Kei Kebreau @ 2018-03-31 14:57 UTC (permalink / raw)
  To: ng0; +Cc: 30259

[-- Attachment #1: Type: text/plain, Size: 2989 bytes --]

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!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#30259: [PATCH] gnu: octave: Add audio and Qt GUI support.
  2018-03-31 14:57               ` Kei Kebreau
@ 2018-03-31 18:58                 ` Kei Kebreau
  0 siblings, 0 replies; 10+ messages in thread
From: Kei Kebreau @ 2018-03-31 18:58 UTC (permalink / raw)
  To: 30259-done

[-- Attachment #1: Type: text/plain, Size: 3115 bytes --]

Kei Kebreau <kkebreau@posteo.net> writes:

> 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!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-03-31 18:59 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-26 15:13 [bug#30259] [PATCH] gnu: octave: Add audio and Qt GUI support Kei Kebreau
2018-01-26 18:22 ` ng0+guixpatches
2018-01-26 19:20   ` ng0+guixpatches
2018-01-27  2:09     ` Kei Kebreau
2018-01-27  9:18       ` ng0+guixpatches
2018-01-27 21:14         ` Kei Kebreau
2018-01-28  0:24           ` ng0
2018-03-17 15:25             ` ng0
2018-03-31 14:57               ` Kei Kebreau
2018-03-31 18:58                 ` bug#30259: " Kei Kebreau

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).