Re: [PATCH] gnu: Add qscintilla.

2016-10-03 Thread Ludovic Courtès
Kei Kebreau  skribis:

> From ae862b8a51d15f165dc9b40dc46c2e209736f3a8 Mon Sep 17 00:00:00 2001
> From: Kei Kebreau 
> Date: Mon, 19 Sep 2016 10:11:20 -0400
> Subject: [PATCH] gnu: Add qscintilla-qt4.
>
> * gnu/packages/maths.scm (qscintilla-qt4): New variable.
> ---
>  gnu/packages/maths.scm | 11 +++
>  1 file changed, 11 insertions(+)
>
> diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
> index 44a24ef..829fc7a 100644
> --- a/gnu/packages/maths.scm
> +++ b/gnu/packages/maths.scm
> @@ -77,6 +77,7 @@
>#:use-module (gnu packages perl)
>#:use-module (gnu packages pkg-config)
>#:use-module (gnu packages python)
> +  #:use-module (gnu packages qt)
>#:use-module (gnu packages readline)
>#:use-module (gnu packages tbb)
>#:use-module (gnu packages shells)
> @@ -747,6 +748,16 @@ Work may be performed both at the interactive 
> command-line as well as via
>  script files.")
>  (license license:gpl3+)))
>  
> +;; required for Octave until its GUI is updated to Qt 5
> +(define qscintilla-qt4
> +  (package
> +(inherit qscintilla)
> +(name "qscintilla-qt4")
> +(native-inputs
> + `(("python-pyqt" ,python-pyqt-4)
> +   ("qt" ,qt-4))) ; for qmake
> +(synopsis "Qt4 port of the Scintilla editing component")))

In general we must not have packages that inherit from packages coming
from another module.

This restriction stems from the fact that there are circular
dependencies among (gnu packages …) modules.  Here, running the
top-level of (gnu packages maths) requires evaluating the top-level of
(gnu packages qt), which in turn presumably requires evaluating the
top-level of (gnu packages maths).  Boom.

The solution would be to move this package variant in the same module as
qscintilla itself.  Is it OK?

HTH,
Ludo’.



Re: [PATCH] gnu: Add qscintilla.

2016-09-25 Thread Kei Kebreau
Leo Famulari  writes:

> On Sat, Sep 24, 2016 at 01:13:33AM -0400, Kei Kebreau wrote:
>> Leo Famulari  writes:
>> > I was getting failures reminiscent of an ABI break. But, I can't
>> > reproduce it now.
>> >
>> > Kei, maybe you should try applying the patches to a fresh Git checkout?
>> > If they work like that, then I think it's okay to push, assuming the
>> > qscintilla URL is fixed.
>> 
>> No luck...
>
> Hm, how about if you apply the first patch, `make`, then apply the
> second patch, and `make` again? Or some dance like that. Maybe deleting
> one of qt.go or maths.go in between. Something like that worked for me
> but I don't remember all the steps.
>
> Of course that is not acceptable for code pushed to the master branch,
> but if you figure out how to reproduce a "successful" case, it will make
> this easier to debug.

I found a lead on our problem!

Applying the qscintilla patch and building it with `guix build` works
fine.

Applying the qscintilla-qt4 patch (not even the octave one) and building
octave with `guix build` gives me the following:

  In unknown file:
 ?: 0 [memoize-variable-access! # #]

  ERROR: In procedure memoize-variable-access!:
  ERROR: Unbound variable: fftw

I doubt that anything is wrong with the fftw package, because I'm only
given the error when I define qscintilla-qt4 (public or not). Should I
be doing something like what is done with the curl package,
i.e. defining the replacement variable? I'm kind of confused by this situation.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-25 Thread Leo Famulari
On Sat, Sep 24, 2016 at 01:13:33AM -0400, Kei Kebreau wrote:
> Leo Famulari  writes:
> > I was getting failures reminiscent of an ABI break. But, I can't
> > reproduce it now.
> >
> > Kei, maybe you should try applying the patches to a fresh Git checkout?
> > If they work like that, then I think it's okay to push, assuming the
> > qscintilla URL is fixed.
> 
> No luck...

Hm, how about if you apply the first patch, `make`, then apply the
second patch, and `make` again? Or some dance like that. Maybe deleting
one of qt.go or maths.go in between. Something like that worked for me
but I don't remember all the steps.

Of course that is not acceptable for code pushed to the master branch,
but if you figure out how to reproduce a "successful" case, it will make
this easier to debug.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-23 Thread Kei Kebreau
Leo Famulari  writes:

> On Thu, Sep 22, 2016 at 09:02:20PM +0200, Ricardo Wurmus wrote:
>> 
>> Leo Famulari  writes:
>> 
>> > I'm not sure yet about the other problem. I tried to define 'hi', which
>> > inherits from 'hello', and I got a similar error.
>> 
>> I don’t understand this.  What is the problem here?
>> 
>> I’m successfully inheriting from packages in other modules.  For
>> example, we have a separate module for bioinformatics variants.  The
>> module uses the upstream bioinformatics module and adds its own variants
>> of existing packages using inheritance.
>
> I was getting failures reminiscent of an ABI break. But, I can't
> reproduce it now.
>
> Kei, maybe you should try applying the patches to a fresh Git checkout?
> If they work like that, then I think it's okay to push, assuming the
> qscintilla URL is fixed.

No luck...


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-23 Thread Leo Famulari
On Thu, Sep 22, 2016 at 09:02:20PM +0200, Ricardo Wurmus wrote:
> 
> Leo Famulari  writes:
> 
> > I'm not sure yet about the other problem. I tried to define 'hi', which
> > inherits from 'hello', and I got a similar error.
> 
> I don’t understand this.  What is the problem here?
> 
> I’m successfully inheriting from packages in other modules.  For
> example, we have a separate module for bioinformatics variants.  The
> module uses the upstream bioinformatics module and adds its own variants
> of existing packages using inheritance.

I was getting failures reminiscent of an ABI break. But, I can't
reproduce it now.

Kei, maybe you should try applying the patches to a fresh Git checkout?
If they work like that, then I think it's okay to push, assuming the
qscintilla URL is fixed.



Re: [PATCH] gnu: Add qscintilla.

2016-09-22 Thread Ricardo Wurmus

Leo Famulari  writes:

> I'm not sure yet about the other problem. I tried to define 'hi', which
> inherits from 'hello', and I got a similar error.

I don’t understand this.  What is the problem here?

I’m successfully inheriting from packages in other modules.  For
example, we have a separate module for bioinformatics variants.  The
module uses the upstream bioinformatics module and adds its own variants
of existing packages using inheritance.

~~ Ricardo




Re: [PATCH] gnu: Add qscintilla.

2016-09-19 Thread Leo Famulari
On Mon, Sep 19, 2016 at 05:45:35PM -0400, Kei Kebreau wrote:
> * gnu/packages/qt.scm (qscintilla): New variable.

> +  (uri (string-append 
> "mirror://sourceforge/QScintilla2/QScintilla-"
> +  version "/QScintilla_gpl-" version 
> ".tar.gz"))

This URI returns 404. It needs 'pyqt' inserted after 'sourceforge':

s!sourceforge/Qscintilla2!sourceforge/pyqt/Qscintilla2!

I'm not sure yet about the other problem. I tried to define 'hi', which
inherits from 'hello', and I got a similar error.



Re: [PATCH] gnu: Add qscintilla.

2016-09-19 Thread Kei Kebreau
Leo Famulari  writes:

> On Mon, Sep 19, 2016 at 10:47:56AM -0400, Kei Kebreau wrote:
>> Using
>> 
>>   #:use-module (gnu packages qt)
>> 
>> and
>> 
>>   (define qscintilla-qt4
>> (package
>>   (inherit qscintilla)
>>   ...))
>> 
>> gives me an unbound variable error. Any idea what's going wrong here?
>
> Can you send the patch that gives the error?

Sure thing. It's the combination of these two patches.
From f60fc09f3f200276b2789a5e305efd5df17666d2 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Mon, 19 Sep 2016 10:09:33 -0400
Subject: [PATCH] gnu: Add qscintilla.

* gnu/packages/qt.scm (qscintilla): New variable.
---
 gnu/packages/qt.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a482d75..b6a649f 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,45 @@ contain over 620 classes.")
   "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly 
requested.")
 (license license:bsd-3)))
+
+(define-public qscintilla
+  (package
+(name "qscintilla")
+(version "2.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"mirror://sourceforge/QScintilla2/QScintilla-"
+  version "/QScintilla_gpl-" version 
".tar.gz"))
+  (sha256
+   (base32
+"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+   (lambda _ (chdir "Qt4Qt5") #t))
+ (replace 'configure
+   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qt (assoc-ref inputs "qt")))
+   (substitute* (find-files "." "Makefile")
+ (((string-append "INSTALL_ROOT)" qt))
+   (string-append "INSTALL_ROOT)" out
+ #t)
+(native-inputs
+ `(("python-pyqt" ,python-pyqt)
+   ("qt" ,qtbase))) ; for qmake
+(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
+(synopsis "Qt5 port of the Scintilla editing component")
+(description
+ "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
control.
+As well as features found in standard text editing components, QScintilla
+includes features especially useful when editing and debugging source code.
+These include support for syntax styling, error indicators, code completion and
+call tips.")
+(license (list license:bsd-2 ; Python/configure.py
+   license:expat ; src/ and include/
+   license:gpl3
-- 
2.10.0

From ae862b8a51d15f165dc9b40dc46c2e209736f3a8 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Mon, 19 Sep 2016 10:11:20 -0400
Subject: [PATCH] gnu: Add qscintilla-qt4.

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

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 44a24ef..829fc7a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -77,6 +77,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages shells)
@@ -747,6 +748,16 @@ Work may be performed both at the interactive command-line 
as well as via
 script files.")
 (license license:gpl3+)))
 
+;; required for Octave until its GUI is updated to Qt 5
+(define qscintilla-qt4
+  (package
+(inherit qscintilla)
+(name "qscintilla-qt4")
+(native-inputs
+ `(("python-pyqt" ,python-pyqt-4)
+   ("qt" ,qt-4))) ; for qmake
+(synopsis "Qt4 port of the Scintilla editing component")))
+
 (define-public gmsh
   (package
 (name "gmsh")
-- 
2.10.0



signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-19 Thread Leo Famulari
On Mon, Sep 19, 2016 at 10:47:56AM -0400, Kei Kebreau wrote:
> Using
> 
>   #:use-module (gnu packages qt)
> 
> and
> 
>   (define qscintilla-qt4
> (package
>   (inherit qscintilla)
>   ...))
> 
> gives me an unbound variable error. Any idea what's going wrong here?

Can you send the patch that gives the error?


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-19 Thread Kei Kebreau
Ricardo Wurmus  writes:

> Kei Kebreau  writes:
>
>> (how do I inherit a package from another module?)
>
> Just like inheriting from any other package: you declare that the module
> containing the package variable be used, and then inherit from the
> package variable.
>
> ~~ Ricardo

Using

  #:use-module (gnu packages qt)

and

  (define qscintilla-qt4
(package
  (inherit qscintilla)
  ...))

gives me an unbound variable error. Any idea what's going wrong here?


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-19 Thread Andreas Enge
On Mon, Sep 19, 2016 at 09:18:45AM -0400, Kei Kebreau wrote:
> To get this right: qscintilla will be defined publicly in qt.scm,
> qscintilla-qt4 will be defined privately in maths.scm (how do I inherit
> a package from another module?), and Octave will include qscintilla-qt4
> and qt-4 as inputs.

Sounds good!

It should be enough to include
  #:use-module (gnu packages qt)
in maths.scm for inheritance.

Andreas




Re: [PATCH] gnu: Add qscintilla.

2016-09-19 Thread Ricardo Wurmus

Kei Kebreau  writes:

> (how do I inherit a package from another module?)

Just like inheriting from any other package: you declare that the module
containing the package variable be used, and then inherit from the
package variable.

~~ Ricardo




Re: [PATCH] gnu: Add qscintilla.

2016-09-19 Thread Kei Kebreau
Efraim Flashner  writes:

> On Sun, Sep 18, 2016 at 04:56:34PM -0400, Leo Famulari wrote:
>> On Sun, Sep 18, 2016 at 04:10:15PM -0400, Kei Kebreau wrote:
>> > Andreas Enge  writes:
>> > > On Tue, Sep 13, 2016 at 04:37:35PM -0400, Kei Kebreau wrote:
>> > >> In this case, should I leave qtscintilla-qt4 as a public
>> > >> package in qt.scm
>> > >> instead of maths.scm as Leo suggested?
>> > >
>> > > since it is used for only one package and relies on the deprecated qt@4,
>> > > I would leave it private, regardless its name.
>> > 
>> > It seems that there are conflicting opinions here. :)
>> > If no one minds, I can support this feature out-of-tree until GNU Octave
>> > updates its UI to use Qt 5.
>> > 
>> > Opinions?
>> 
>> I don't think we need to keep it out of tree.
>> 
>> I agree with Andreas that we should discourage use of Qt 4, but I don't
>> think we should not use it at all, or else I would have suggested
>> removing all Qt 4 related software.
>> 
>> I think that if there is a reason to export the package at this time, we
>> should do so. Otherwise, I think we should keep it private. If we need
>> to export it later, we can.
>> 
>> Efraim, do you have a use for a Qt 4 variant of qscintilla?
>
> Nope.

To get this right: qscintilla will be defined publicly in qt.scm,
qscintilla-qt4 will be defined privately in maths.scm (how do I inherit
a package from another module?), and Octave will include qscintilla-qt4
and qt-4 as inputs.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-18 Thread Efraim Flashner
On Sun, Sep 18, 2016 at 04:56:34PM -0400, Leo Famulari wrote:
> On Sun, Sep 18, 2016 at 04:10:15PM -0400, Kei Kebreau wrote:
> > Andreas Enge  writes:
> > > On Tue, Sep 13, 2016 at 04:37:35PM -0400, Kei Kebreau wrote:
> > >> In this case, should I leave qtscintilla-qt4 as a public package in 
> > >> qt.scm
> > >> instead of maths.scm as Leo suggested?
> > >
> > > since it is used for only one package and relies on the deprecated qt@4,
> > > I would leave it private, regardless its name.
> > 
> > It seems that there are conflicting opinions here. :)
> > If no one minds, I can support this feature out-of-tree until GNU Octave
> > updates its UI to use Qt 5.
> > 
> > Opinions?
> 
> I don't think we need to keep it out of tree.
> 
> I agree with Andreas that we should discourage use of Qt 4, but I don't
> think we should not use it at all, or else I would have suggested
> removing all Qt 4 related software.
> 
> I think that if there is a reason to export the package at this time, we
> should do so. Otherwise, I think we should keep it private. If we need
> to export it later, we can.
> 
> Efraim, do you have a use for a Qt 4 variant of qscintilla?

Nope.


-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-18 Thread Leo Famulari
On Sun, Sep 18, 2016 at 04:10:15PM -0400, Kei Kebreau wrote:
> Andreas Enge  writes:
> > On Tue, Sep 13, 2016 at 04:37:35PM -0400, Kei Kebreau wrote:
> >> In this case, should I leave qtscintilla-qt4 as a public package in qt.scm
> >> instead of maths.scm as Leo suggested?
> >
> > since it is used for only one package and relies on the deprecated qt@4,
> > I would leave it private, regardless its name.
> 
> It seems that there are conflicting opinions here. :)
> If no one minds, I can support this feature out-of-tree until GNU Octave
> updates its UI to use Qt 5.
> 
> Opinions?

I don't think we need to keep it out of tree.

I agree with Andreas that we should discourage use of Qt 4, but I don't
think we should not use it at all, or else I would have suggested
removing all Qt 4 related software.

I think that if there is a reason to export the package at this time, we
should do so. Otherwise, I think we should keep it private. If we need
to export it later, we can.

Efraim, do you have a use for a Qt 4 variant of qscintilla?


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-18 Thread Kei Kebreau
Andreas Enge  writes:

> Hello,
>
> On Tue, Sep 13, 2016 at 04:37:35PM -0400, Kei Kebreau wrote:
>> In this case, should I leave qtscintilla-qt4 as a public package in qt.scm
>> instead of maths.scm as Leo suggested?
>
> since it is used for only one package and relies on the deprecated qt@4,
> I would leave it private, regardless its name.
>
> Andreas

It seems that there are conflicting opinions here. :)
If no one minds, I can support this feature out-of-tree until GNU Octave
updates its UI to use Qt 5.

Opinions?


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-18 Thread Andreas Enge
Hello,

On Tue, Sep 13, 2016 at 04:37:35PM -0400, Kei Kebreau wrote:
> In this case, should I leave qtscintilla-qt4 as a public package in qt.scm
> instead of maths.scm as Leo suggested?

since it is used for only one package and relies on the deprecated qt@4,
I would leave it private, regardless its name.

Andreas




Re: [PATCH] gnu: Add qscintilla.

2016-09-15 Thread Kei Kebreau
Kei Kebreau  writes:

> Efraim Flashner  writes:
>
>> On September 14, 2016 11:37:46 PM GMT+03:00, Kei Kebreau
>>  wrote:
>>>Leo Famulari  writes:
>>>
 On Wed, Sep 14, 2016 at 02:11:44PM -0400, Kei Kebreau wrote:
> Leo Famulari  writes:
> 
> > On Tue, Sep 13, 2016 at 08:48:43PM +, Efraim Flashner wrote:
> >> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
> >>  wrote:
> >> >In this case, should I leave qtscintilla-qt4 as a public package
>>>in
> >> >qt.scm
> >> >instead of maths.scm as Leo suggested?
> >> 
> >> That's where I would leave it. You could also leave a note,
>>>saying
> >> that it was for octave, and if they switch to qt5 then we can get
>>>rid
> >> of it. We still have an old vte package I added for a terminal
>>>since
> >> all the bug reports around it haven't been cleared yet, and
>>>that's
> >> with the other versions of vte.  -- 
> >
> > Sounds like a plan!
> 
> Alright then! I have all three patches here. Tell me if I did
>>>anything
> funny. The order of application is "Add qscintilla, Add
>>>qscintilla-qt4,
> Enable Octave's Qt 4 GUI." :)

 The patches "Add qscintilla" and "Add qscintilla-qt4" both add both
 packages.
>>>
>>>Fixed it.
>>
>> If you switch ("qtbase" ,qtbase) to ("qt" ,qtbase) can you remove the
>> whole argument block from qscintilla?
>
> I can! Nice catch.

Forgot to use the qt module in the GNU Octave patch...

From f00730e07e56b3095f921ea1ab3f8b2b1d46a9ab Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Thu, 15 Sep 2016 10:23:59 -0400
Subject: [PATCH] gnu: octave: Enable Octave's Qt 4 GUI.

* gnu/packages/maths.scm (octave)[inputs]: Add qscintilla-qt4 and qt-4.
---
 gnu/packages/maths.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 44a24ef..ccb43b1 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -77,6 +77,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages shells)
@@ -717,6 +718,8 @@ can solve two kinds of problems:
("libxft" ,libxft)
("mesa" ,mesa)
("glu" ,glu)
+   ("qscintilla" ,qscintilla-qt4)
+   ("qt" ,qt-4)
("zlib" ,zlib)))
 (native-inputs
  `(("gfortran" ,gfortran)
-- 
2.10.0



signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-15 Thread Kei Kebreau
Efraim Flashner  writes:

> On September 14, 2016 11:37:46 PM GMT+03:00, Kei Kebreau
>  wrote:
>>Leo Famulari  writes:
>>
>>> On Wed, Sep 14, 2016 at 02:11:44PM -0400, Kei Kebreau wrote:
>>>> Leo Famulari  writes:
>>>> 
>>>> > On Tue, Sep 13, 2016 at 08:48:43PM +, Efraim Flashner wrote:
>>>> >> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
>>>> >>  wrote:
>>>> >> >In this case, should I leave qtscintilla-qt4 as a public package
>>in
>>>> >> >qt.scm
>>>> >> >instead of maths.scm as Leo suggested?
>>>> >> 
>>>> >> That's where I would leave it. You could also leave a note,
>>saying
>>>> >> that it was for octave, and if they switch to qt5 then we can get
>>rid
>>>> >> of it. We still have an old vte package I added for a terminal
>>since
>>>> >> all the bug reports around it haven't been cleared yet, and
>>that's
>>>> >> with the other versions of vte.  -- 
>>>> >
>>>> > Sounds like a plan!
>>>> 
>>>> Alright then! I have all three patches here. Tell me if I did
>>anything
>>>> funny. The order of application is "Add qscintilla, Add
>>qscintilla-qt4,
>>>> Enable Octave's Qt 4 GUI." :)
>>>
>>> The patches "Add qscintilla" and "Add qscintilla-qt4" both add both
>>> packages.
>>
>>Fixed it.
>
> If you switch ("qtbase" ,qtbase) to ("qt" ,qtbase) can you remove the
> whole argument block from qscintilla?

I can! Nice catch.

From 7a263e397cc06a87c15d80ec7a41442d25247f19 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Thu, 15 Sep 2016 10:15:55 -0400
Subject: [PATCH] gnu: Add qscintilla.

* gnu/packages/qt.scm (qscintilla): New variable.
---
 gnu/packages/qt.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a482d75..b6a649f 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,45 @@ contain over 620 classes.")
   "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly 
requested.")
 (license license:bsd-3)))
+
+(define-public qscintilla
+  (package
+(name "qscintilla")
+(version "2.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"mirror://sourceforge/QScintilla2/QScintilla-"
+  version "/QScintilla_gpl-" version 
".tar.gz"))
+  (sha256
+   (base32
+"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+   (lambda _ (chdir "Qt4Qt5") #t))
+ (replace 'configure
+   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qt (assoc-ref inputs "qt")))
+   (substitute* (find-files "." "Makefile")
+ (((string-append "INSTALL_ROOT)" qt))
+   (string-append "INSTALL_ROOT)" out
+ #t)
+(native-inputs
+ `(("python-pyqt" ,python-pyqt)
+   ("qt" ,qtbase))) ; for qmake
+(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
+    (synopsis "Qt5 port of the Scintilla editing component")
+(description
+ "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
control.
+As well as features found in standard text editing components, QScintilla
+includes features especially useful when editing and debugging source code.
+These include support for syntax styling, error indicators, code completion and
+call tips.")
+(license (list license:bsd-2 ; Python/configure.py
+   license:expat ; src/ and include/
+   license:gpl3
-- 
2.10.0

From c79f95135b3fb569d5677e349fcd9f7d69ee157f Mon Sep 17 00:00:00 2001
From: Ke

Re: [PATCH] gnu: Add qscintilla.

2016-09-14 Thread Efraim Flashner


On September 14, 2016 11:37:46 PM GMT+03:00, Kei Kebreau  
wrote:
>Leo Famulari  writes:
>
>> On Wed, Sep 14, 2016 at 02:11:44PM -0400, Kei Kebreau wrote:
>>> Leo Famulari  writes:
>>> 
>>> > On Tue, Sep 13, 2016 at 08:48:43PM +, Efraim Flashner wrote:
>>> >> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
>>> >>  wrote:
>>> >> >In this case, should I leave qtscintilla-qt4 as a public package
>in
>>> >> >qt.scm
>>> >> >instead of maths.scm as Leo suggested?
>>> >> 
>>> >> That's where I would leave it. You could also leave a note,
>saying
>>> >> that it was for octave, and if they switch to qt5 then we can get
>rid
>>> >> of it. We still have an old vte package I added for a terminal
>since
>>> >> all the bug reports around it haven't been cleared yet, and
>that's
>>> >> with the other versions of vte.  -- 
>>> >
>>> > Sounds like a plan!
>>> 
>>> Alright then! I have all three patches here. Tell me if I did
>anything
>>> funny. The order of application is "Add qscintilla, Add
>qscintilla-qt4,
>>> Enable Octave's Qt 4 GUI." :)
>>
>> The patches "Add qscintilla" and "Add qscintilla-qt4" both add both
>> packages.
>
>Fixed it.

If you switch ("qtbase" ,qtbase) to ("qt" ,qtbase) can you remove the whole 
argument block from qscintilla?
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [PATCH] gnu: Add qscintilla.

2016-09-14 Thread Kei Kebreau
Leo Famulari  writes:

> On Wed, Sep 14, 2016 at 02:11:44PM -0400, Kei Kebreau wrote:
>> Leo Famulari  writes:
>> 
>> > On Tue, Sep 13, 2016 at 08:48:43PM +, Efraim Flashner wrote:
>> >> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
>> >>  wrote:
>> >> >In this case, should I leave qtscintilla-qt4 as a public package in
>> >> >qt.scm
>> >> >instead of maths.scm as Leo suggested?
>> >> 
>> >> That's where I would leave it. You could also leave a note, saying
>> >> that it was for octave, and if they switch to qt5 then we can get rid
>> >> of it. We still have an old vte package I added for a terminal since
>> >> all the bug reports around it haven't been cleared yet, and that's
>> >> with the other versions of vte.  -- 
>> >
>> > Sounds like a plan!
>> 
>> Alright then! I have all three patches here. Tell me if I did anything
>> funny. The order of application is "Add qscintilla, Add qscintilla-qt4,
>> Enable Octave's Qt 4 GUI." :)
>
> The patches "Add qscintilla" and "Add qscintilla-qt4" both add both
> packages.

Fixed it.
From cb95955eaea1210af6ef197f4157583f24cf4eac Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Wed, 14 Sep 2016 16:34:41 -0400
Subject: [PATCH] gnu: Add qscintilla.

* gnu/packages/qt.scm (qscintilla): New variable.
---
 gnu/packages/qt.scm | 43 +++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a482d75..444a10e 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,45 @@ contain over 620 classes.")
   "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly 
requested.")
 (license license:bsd-3)))
+
+(define-public qscintilla
+  (package
+(name "qscintilla")
+(version "2.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"mirror://sourceforge/QScintilla2/QScintilla-"
+  version "/QScintilla_gpl-" version 
".tar.gz"))
+  (sha256
+   (base32
+"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+   (lambda _ (chdir "Qt4Qt5") #t))
+ (replace 'configure
+   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qtbase (assoc-ref inputs "qtbase")))
+   (substitute* (find-files "." "Makefile")
+ (((string-append "INSTALL_ROOT)" qtbase))
+   (string-append "INSTALL_ROOT)" out
+ #t)
+(native-inputs
+ `(("python-pyqt" ,python-pyqt)
+   ("qtbase" ,qtbase))) ; for qmake
+(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
+(synopsis "Qt5 port of the Scintilla editing component")
+(description
+ "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
control.
+As well as features found in standard text editing components, QScintilla
+includes features especially useful when editing and debugging source code.
+These include support for syntax styling, error indicators, code completion and
+call tips.")
+(license (list license:bsd-2 ; Python/configure.py
+   license:expat ; src/ and include/
+   license:gpl3
-- 
2.10.0

From 7a327145738107e5d4016b6dbb0c33830b4cb715 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Wed, 14 Sep 2016 16:35:43 -0400
Subject: [PATCH] gnu: Add qscintilla-qt4.

* gnu/packages/qt.scm (qscintilla-qt4): New variable.
---
 gnu/packages/qt.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 444a10e..de3e656 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1155,3 +1155,28 @@ call tips.")
 (license (list license:bsd-2 ; Python/configure.py
license:expat ; src/ and include/

Re: [PATCH] gnu: Add qscintilla.

2016-09-14 Thread Leo Famulari
On Wed, Sep 14, 2016 at 02:11:44PM -0400, Kei Kebreau wrote:
> Leo Famulari  writes:
> 
> > On Tue, Sep 13, 2016 at 08:48:43PM +, Efraim Flashner wrote:
> >> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
> >>  wrote:
> >> >In this case, should I leave qtscintilla-qt4 as a public package in
> >> >qt.scm
> >> >instead of maths.scm as Leo suggested?
> >> 
> >> That's where I would leave it. You could also leave a note, saying
> >> that it was for octave, and if they switch to qt5 then we can get rid
> >> of it. We still have an old vte package I added for a terminal since
> >> all the bug reports around it haven't been cleared yet, and that's
> >> with the other versions of vte.  -- 
> >
> > Sounds like a plan!
> 
> Alright then! I have all three patches here. Tell me if I did anything
> funny. The order of application is "Add qscintilla, Add qscintilla-qt4,
> Enable Octave's Qt 4 GUI." :)

The patches "Add qscintilla" and "Add qscintilla-qt4" both add both
packages.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-14 Thread Kei Kebreau
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 08:48:43PM +, Efraim Flashner wrote:
>> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
>>  wrote:
>> >In this case, should I leave qtscintilla-qt4 as a public package in
>> >qt.scm
>> >instead of maths.scm as Leo suggested?
>> 
>> That's where I would leave it. You could also leave a note, saying
>> that it was for octave, and if they switch to qt5 then we can get rid
>> of it. We still have an old vte package I added for a terminal since
>> all the bug reports around it haven't been cleared yet, and that's
>> with the other versions of vte.  -- 
>
> Sounds like a plan!

Alright then! I have all three patches here. Tell me if I did anything
funny. The order of application is "Add qscintilla, Add qscintilla-qt4,
Enable Octave's Qt 4 GUI." :)

From 9304e67ff085853ebbd5d7f1c976171de498bf5b Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Wed, 14 Sep 2016 13:56:33 -0400
Subject: [PATCH] gnu: Add qscintilla.

* gnu/packages/qt.scm (qscintilla): New variable.
---
 gnu/packages/qt.scm | 68 +
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a482d75..de3e656 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,70 @@ contain over 620 classes.")
   "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly 
requested.")
 (license license:bsd-3)))
+
+(define-public qscintilla
+  (package
+(name "qscintilla")
+(version "2.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"mirror://sourceforge/QScintilla2/QScintilla-"
+  version "/QScintilla_gpl-" version 
".tar.gz"))
+  (sha256
+   (base32
+"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+   (lambda _ (chdir "Qt4Qt5") #t))
+ (replace 'configure
+   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qtbase (assoc-ref inputs "qtbase")))
+   (substitute* (find-files "." "Makefile")
+ (((string-append "INSTALL_ROOT)" qtbase))
+   (string-append "INSTALL_ROOT)" out
+ #t)
+(native-inputs
+ `(("python-pyqt" ,python-pyqt)
+   ("qtbase" ,qtbase))) ; for qmake
+(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
+(synopsis "Qt5 port of the Scintilla editing component")
+(description
+ "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
control.
+As well as features found in standard text editing components, QScintilla
+includes features especially useful when editing and debugging source code.
+These include support for syntax styling, error indicators, code completion and
+call tips.")
+(license (list license:bsd-2 ; Python/configure.py
+   license:expat ; src/ and include/
+   license:gpl3
+
+;; required for Octave until its GUI is updated to Qt 5
+(define-public qscintilla-qt4
+  (package
+(inherit qscintilla)
+(name "qscintilla-qt4")
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+   (lambda _ (chdir "Qt4Qt5") #t))
+ (replace 'configure
+   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qt (assoc-ref inputs "qt")))
+   (substitute* (find-files "." "Makefile")
+     (((string-append "INSTALL_ROOT)" qt))
+   (string-append "INSTALL_ROOT)" out
+ #t)
+(native-inputs
+ `(("python-pyqt" ,p

Re: [PATCH] gnu: Add qscintilla.

2016-09-14 Thread Leo Famulari
On Tue, Sep 13, 2016 at 08:48:43PM +, Efraim Flashner wrote:
> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau 
>  wrote:
> >In this case, should I leave qtscintilla-qt4 as a public package in
> >qt.scm
> >instead of maths.scm as Leo suggested?
> 
> That's where I would leave it. You could also leave a note, saying
> that it was for octave, and if they switch to qt5 then we can get rid
> of it. We still have an old vte package I added for a terminal since
> all the bug reports around it haven't been cleared yet, and that's
> with the other versions of vte.  -- 

Sounds like a plan!



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Efraim Flashner


On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau  
wrote:
>Efraim Flashner  writes:
>
>> On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>>> Leo Famulari  writes:
>>> 
>>> > On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
>>> >> Kei Kebreau  writes:
>>> >> > A component necessary for GNU Octave's GUI.
>>> >> > How does it look?
>>> >> Not sure how packaging Qt packages goes, but I've discovered that
>>> >> GNU Octave's GUI only builds with Qt4 support. I've changed the
>patch to
>>> >> adjust this. Should I leave the old patch as is and add a qt4
>package
>>> >> that inherits from it?
>>> >
>>> > Since Qt 4 is no longer supported upstream, we are trying to
>remove
>>> > users of the qt-4 package so that we can eventually remove the
>qt-4
>>> > package itself.
>>> >
>>> > With that in mind, how about a qscintilla-for-octave package? This
>>> > package can inherit from a qscintilla that uses qtbase, and I
>think it
>>> > should be declared privately [using (define) instead of
>(define-public].
>>> >
>>> >> + (replace 'configure
>>> >> +   (lambda _
>>> >> + (chdir "Qt4Qt5")
>>> >> + (zero? (system* "qmake" "qscintilla.pro"
>>> >
>>> > I would change directory in a separate 'chdir' phase.
>>> >
>>> >> +   (substitute* (find-files "." "Makefile")
>>> >> + (((string-append "INSTALL_ROOT)" qt))
>>> >> +  (string-append "INSTALL_ROOT)" out)
>>> >  ^
>>> > Inconsistent indentation. Also, this phase should return #t, since
>the
>>> > return value of substitute* is unspecified.
>>> >
>>> >> +(synopsis "Qt5 port of the Scintilla editing component")
>>> >
>>> > Make sure to adjust the Qt name as appropriate :)
>>> 
>>> Like below? And how could I then access qscintilla-for-octave from
>>> maths.scm if it isn't defined publicly?
>>> 
>>> (define-public qscintilla
>>>   (package
>>> (name "qscintilla")
>>> (version "2.9.3")
>>> (source (origin
>>>   (method url-fetch)
>>>   (uri (string-append
>"mirror://sourceforge/QScintilla2/QScintilla-"
>>>   version "/QScintilla_gpl-" version
>".tar.gz"))
>>>   (sha256
>>>(base32
>>>
>"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
>>> (build-system gnu-build-system)
>>> (arguments
>>>  `(#:phases
>>>(modify-phases %standard-phases
>>>  (add-before 'configure 'change-directory
>>>(lambda _ (chdir "Qt4Qt5") #t))
>>>  (replace 'configure
>>>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>>>  (add-before 'install 'fix-Makefiles
>>>(lambda* (#:key inputs outputs #:allow-other-keys)
>>>  (let ((out(assoc-ref outputs "out"))
>>>(qtbase (assoc-ref inputs "qtbase")))
>>>(substitute* (find-files "." "Makefile")
>>>  (((string-append "INSTALL_ROOT)" qtbase))
>>>(string-append "INSTALL_ROOT)" out
>>>  #t)
>>> (native-inputs
>>>  `(("python-pyqt" ,python-pyqt)
>>>("qtbase" ,qtbase))) ; for qmake
>>> (home-page
>"https://www.riverbankcomputing.com/software/qscintilla/intro";)
>>> (synopsis "Qt5 port of the Scintilla editing component")
>>> (description
>>>  "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++
>editor control.
>>> As well as features found in standard text editing components,
>QScintilla
>>> includes features especially useful when editing and debugging
>source code.
>>> These include support for syntax styling, error indicators, code
>completion and
>>> call tips.")
>>> (license (list license:bsd-2 ; Python/configure.py
>>>license:expat ; src/ and include/
>>>license:gpl3
>>> 
>>> (define qtscintilla-for-octave
>>
>> This should be qtscintilla-qt4, we might have a use for it outside of
>> octave
>>
>
>In this case, should I leave qtscintilla-qt4 as a public package in
>qt.scm
>instead of maths.scm as Leo suggested?

That's where I would leave it. You could also leave a note, saying that it was 
for octave, and if they switch to qt5 then we can get rid of it. We still have 
an old vte package I added for a terminal since all the bug reports around it 
haven't been cleared yet, and that's with the other versions of vte.
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Efraim Flashner  writes:

> On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>> Leo Famulari  writes:
>> 
>> > On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
>> >> Kei Kebreau  writes:
>> >> > A component necessary for GNU Octave's GUI.
>> >> > How does it look?
>> >> Not sure how packaging Qt packages goes, but I've discovered that
>> >> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
>> >> adjust this. Should I leave the old patch as is and add a qt4 package
>> >> that inherits from it?
>> >
>> > Since Qt 4 is no longer supported upstream, we are trying to remove
>> > users of the qt-4 package so that we can eventually remove the qt-4
>> > package itself.
>> >
>> > With that in mind, how about a qscintilla-for-octave package? This
>> > package can inherit from a qscintilla that uses qtbase, and I think it
>> > should be declared privately [using (define) instead of (define-public].
>> >
>> >> + (replace 'configure
>> >> +   (lambda _
>> >> + (chdir "Qt4Qt5")
>> >> + (zero? (system* "qmake" "qscintilla.pro"
>> >
>> > I would change directory in a separate 'chdir' phase.
>> >
>> >> +   (substitute* (find-files "." "Makefile")
>> >> + (((string-append "INSTALL_ROOT)" qt))
>> >> +  (string-append "INSTALL_ROOT)" out)
>> >  ^
>> > Inconsistent indentation. Also, this phase should return #t, since the
>> > return value of substitute* is unspecified.
>> >
>> >> +(synopsis "Qt5 port of the Scintilla editing component")
>> >
>> > Make sure to adjust the Qt name as appropriate :)
>> 
>> Like below? And how could I then access qscintilla-for-octave from
>> maths.scm if it isn't defined publicly?
>> 
>> (define-public qscintilla
>>   (package
>> (name "qscintilla")
>> (version "2.9.3")
>> (source (origin
>>   (method url-fetch)
>>   (uri (string-append 
>> "mirror://sourceforge/QScintilla2/QScintilla-"
>>   version "/QScintilla_gpl-" version 
>> ".tar.gz"))
>>   (sha256
>>(base32
>> "0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
>> (build-system gnu-build-system)
>> (arguments
>>  `(#:phases
>>(modify-phases %standard-phases
>>  (add-before 'configure 'change-directory
>>(lambda _ (chdir "Qt4Qt5") #t))
>>  (replace 'configure
>>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>>  (add-before 'install 'fix-Makefiles
>>(lambda* (#:key inputs outputs #:allow-other-keys)
>>  (let ((out(assoc-ref outputs "out"))
>>(qtbase (assoc-ref inputs "qtbase")))
>>(substitute* (find-files "." "Makefile")
>>  (((string-append "INSTALL_ROOT)" qtbase))
>>(string-append "INSTALL_ROOT)" out
>>  #t)
>> (native-inputs
>>  `(("python-pyqt" ,python-pyqt)
>>("qtbase" ,qtbase))) ; for qmake
>> (home-page 
>> "https://www.riverbankcomputing.com/software/qscintilla/intro";)
>> (synopsis "Qt5 port of the Scintilla editing component")
>> (description
>>  "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
>> control.
>> As well as features found in standard text editing components, QScintilla
>> includes features especially useful when editing and debugging source code.
>> These include support for syntax styling, error indicators, code completion 
>> and
>> call tips.")
>> (license (list license:bsd-2 ; Python/configure.py
>>license:expat ; src/ and include/
>>license:gpl3
>> 
>> (define qtscintilla-for-octave
>
> This should be qtscintilla-qt4, we might have a use for it outside of
> octave
>

In this case, should I leave qtscintilla-qt4 as a public package in qt.scm
instead of maths.scm as Leo suggested?


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 02:59:31PM -0400, Kei Kebreau wrote:
>> Leo Famulari  writes:
>> 
>> > On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>> >> Like below? And how could I then access qscintilla-for-octave from
>> >> maths.scm if it isn't defined publicly?
>> >
>> > Yes, that looks right. But I would put qscintilla-for-octave in
>> > maths.scm to avoid the issue you describe.
>> 
>> So would you say that this is clean enough that I could push both of
>> these changes in their respecitive files before modifying the Octave 
>> definition?
>
> I would wait to push the Qt 4 variant until you have made sure it works
> with Octave.

I have Octave successfully running with a GUI on my machine using the Qt
4 version of the QScintilla patch, though I've yet to test with the
qscintilla-for-octave package.
>
> Also, I didn't notice a difference between the arguments for each
> package variant. If there is no difference, could the Qt 4 variant
> inherit the arguments, too?

There is a small difference in the two fix-Makefiles phases. They
replace different folder paths (the Qt 5 version changes the qtbase path to
the package output path, the Qt 4 version changes the qt-4 path to the
package output path).


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Efraim Flashner
On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
> Leo Famulari  writes:
> 
> > On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
> >> Kei Kebreau  writes:
> >> > A component necessary for GNU Octave's GUI.
> >> > How does it look?
> >> Not sure how packaging Qt packages goes, but I've discovered that
> >> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
> >> adjust this. Should I leave the old patch as is and add a qt4 package
> >> that inherits from it?
> >
> > Since Qt 4 is no longer supported upstream, we are trying to remove
> > users of the qt-4 package so that we can eventually remove the qt-4
> > package itself.
> >
> > With that in mind, how about a qscintilla-for-octave package? This
> > package can inherit from a qscintilla that uses qtbase, and I think it
> > should be declared privately [using (define) instead of (define-public].
> >
> >> + (replace 'configure
> >> +   (lambda _
> >> + (chdir "Qt4Qt5")
> >> + (zero? (system* "qmake" "qscintilla.pro"
> >
> > I would change directory in a separate 'chdir' phase.
> >
> >> +   (substitute* (find-files "." "Makefile")
> >> + (((string-append "INSTALL_ROOT)" qt))
> >> +  (string-append "INSTALL_ROOT)" out)
> >  ^
> > Inconsistent indentation. Also, this phase should return #t, since the
> > return value of substitute* is unspecified.
> >
> >> +(synopsis "Qt5 port of the Scintilla editing component")
> >
> > Make sure to adjust the Qt name as appropriate :)
> 
> Like below? And how could I then access qscintilla-for-octave from
> maths.scm if it isn't defined publicly?
> 
> (define-public qscintilla
>   (package
> (name "qscintilla")
> (version "2.9.3")
> (source (origin
>   (method url-fetch)
>   (uri (string-append 
> "mirror://sourceforge/QScintilla2/QScintilla-"
>   version "/QScintilla_gpl-" version 
> ".tar.gz"))
>   (sha256
>(base32
> "0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
> (build-system gnu-build-system)
> (arguments
>  `(#:phases
>(modify-phases %standard-phases
>  (add-before 'configure 'change-directory
>(lambda _ (chdir "Qt4Qt5") #t))
>  (replace 'configure
>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>  (add-before 'install 'fix-Makefiles
>(lambda* (#:key inputs outputs #:allow-other-keys)
>  (let ((out(assoc-ref outputs "out"))
>(qtbase (assoc-ref inputs "qtbase")))
>(substitute* (find-files "." "Makefile")
>  (((string-append "INSTALL_ROOT)" qtbase))
>(string-append "INSTALL_ROOT)" out
>  #t)
> (native-inputs
>  `(("python-pyqt" ,python-pyqt)
>("qtbase" ,qtbase))) ; for qmake
> (home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
> (synopsis "Qt5 port of the Scintilla editing component")
> (description
>  "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
> control.
> As well as features found in standard text editing components, QScintilla
> includes features especially useful when editing and debugging source code.
> These include support for syntax styling, error indicators, code completion 
> and
> call tips.")
> (license (list license:bsd-2 ; Python/configure.py
>license:expat ; src/ and include/
>license:gpl3
> 
> (define qtscintilla-for-octave

This should be qtscintilla-qt4, we might have a use for it outside of
octave

>   (package
> (inherit qtscintilla)
> (name "qtscintilla-for-octave")
> (arguments
>  `(#:phases
>(modify-phases %standard-phases
>  (add-before 'configure 'change-directory
>(lambda _ (chdir "Qt4Qt5") #t))
>  (replace 'configure
>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>  (add-before 'install 'fix-Makefiles
>(lambda* (#:key inputs outputs #:allow-other-keys)
>  (let ((out(assoc-ref outputs "out"))
>(qt (assoc-ref inputs "qt")))
>(substitute* (find-files "." "Makefile")
>  (((string-append "INSTALL_ROOT)" qt))
>(string-append "INSTALL_ROOT)" out
>  #t)
> (native-inputs
>  `(("python-pyqt" ,python-pyqt)

python-pyqt is built against qt-5

>("qt" ,qt-4))) ; for qmake
> (synopsis "Qt4 port of the Scintilla editing component")))



-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 02:59:31PM -0400, Kei Kebreau wrote:
> Leo Famulari  writes:
> 
> > On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
> >> Like below? And how could I then access qscintilla-for-octave from
> >> maths.scm if it isn't defined publicly?
> >
> > Yes, that looks right. But I would put qscintilla-for-octave in
> > maths.scm to avoid the issue you describe.
> 
> So would you say that this is clean enough that I could push both of
> these changes in their respecitive files before modifying the Octave 
> definition?

I would wait to push the Qt 4 variant until you have made sure it works
with Octave.

Also, I didn't notice a difference between the arguments for each
package variant. If there is no difference, could the Qt 4 variant
inherit the arguments, too?



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
> Like below? And how could I then access qscintilla-for-octave from
> maths.scm if it isn't defined publicly?

Yes, that looks right. But I would put qscintilla-for-octave in
maths.scm to avoid the issue you describe.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>> Like below? And how could I then access qscintilla-for-octave from
>> maths.scm if it isn't defined publicly?
>
> Yes, that looks right. But I would put qscintilla-for-octave in
> maths.scm to avoid the issue you describe.

So would you say that this is clean enough that I could push both of
these changes in their respecitive files before modifying the Octave definition?



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
>> Kei Kebreau  writes:
>> > A component necessary for GNU Octave's GUI.
>> > How does it look?
>> Not sure how packaging Qt packages goes, but I've discovered that
>> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
>> adjust this. Should I leave the old patch as is and add a qt4 package
>> that inherits from it?
>
> Since Qt 4 is no longer supported upstream, we are trying to remove
> users of the qt-4 package so that we can eventually remove the qt-4
> package itself.
>
> With that in mind, how about a qscintilla-for-octave package? This
> package can inherit from a qscintilla that uses qtbase, and I think it
> should be declared privately [using (define) instead of (define-public].
>
>> + (replace 'configure
>> +   (lambda _
>> + (chdir "Qt4Qt5")
>> + (zero? (system* "qmake" "qscintilla.pro"
>
> I would change directory in a separate 'chdir' phase.
>
>> +   (substitute* (find-files "." "Makefile")
>> + (((string-append "INSTALL_ROOT)" qt))
>> +  (string-append "INSTALL_ROOT)" out)
>  ^
> Inconsistent indentation. Also, this phase should return #t, since the
> return value of substitute* is unspecified.
>
>> +(synopsis "Qt5 port of the Scintilla editing component")
>
> Make sure to adjust the Qt name as appropriate :)

Like below? And how could I then access qscintilla-for-octave from
maths.scm if it isn't defined publicly?

(define-public qscintilla
  (package
(name "qscintilla")
(version "2.9.3")
(source (origin
  (method url-fetch)
  (uri (string-append "mirror://sourceforge/QScintilla2/QScintilla-"
  version "/QScintilla_gpl-" version ".tar.gz"))
  (sha256
   (base32
"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
(build-system gnu-build-system)
(arguments
 `(#:phases
   (modify-phases %standard-phases
 (add-before 'configure 'change-directory
   (lambda _ (chdir "Qt4Qt5") #t))
 (replace 'configure
   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
 (add-before 'install 'fix-Makefiles
   (lambda* (#:key inputs outputs #:allow-other-keys)
 (let ((out(assoc-ref outputs "out"))
   (qtbase (assoc-ref inputs "qtbase")))
   (substitute* (find-files "." "Makefile")
 (((string-append "INSTALL_ROOT)" qtbase))
   (string-append "INSTALL_ROOT)" out
 #t)
(native-inputs
 `(("python-pyqt" ,python-pyqt)
   ("qtbase" ,qtbase))) ; for qmake
(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
(synopsis "Qt5 port of the Scintilla editing component")
(description
 "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control.
As well as features found in standard text editing components, QScintilla
includes features especially useful when editing and debugging source code.
These include support for syntax styling, error indicators, code completion and
call tips.")
(license (list license:bsd-2 ; Python/configure.py
   license:expat ; src/ and include/
   license:gpl3

(define qtscintilla-for-octave
  (package
(inherit qtscintilla)
(name "qtscintilla-for-octave")
(arguments
 `(#:phases
   (modify-phases %standard-phases
 (add-before 'configure 'change-directory
   (lambda _ (chdir "Qt4Qt5") #t))
 (replace 'configure
   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
 (add-before 'install 'fix-Makefiles
   (lambda* (#:key inputs outputs #:allow-other-keys)
 (let ((out(assoc-ref outputs "out"))
   (qt (assoc-ref inputs "qt")))
   (substitute* (find-files "." "Makefile")
 (((string-append "INSTALL_ROOT)" qt))
   (string-append "INSTALL_ROOT)" out
 #t)
(native-inputs
 `(("python-pyqt" ,python-pyqt)
   ("qt" ,qt-4))) ; for qmake
(synopsis "Qt4 port of the Scintilla editing component")))


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
> Kei Kebreau  writes:
> > A component necessary for GNU Octave's GUI.
> > How does it look?
> Not sure how packaging Qt packages goes, but I've discovered that
> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
> adjust this. Should I leave the old patch as is and add a qt4 package
> that inherits from it?

Since Qt 4 is no longer supported upstream, we are trying to remove
users of the qt-4 package so that we can eventually remove the qt-4
package itself.

With that in mind, how about a qscintilla-for-octave package? This
package can inherit from a qscintilla that uses qtbase, and I think it
should be declared privately [using (define) instead of (define-public].

> + (replace 'configure
> +   (lambda _
> + (chdir "Qt4Qt5")
> + (zero? (system* "qmake" "qscintilla.pro"

I would change directory in a separate 'chdir' phase.

> +   (substitute* (find-files "." "Makefile")
> + (((string-append "INSTALL_ROOT)" qt))
> +  (string-append "INSTALL_ROOT)" out)
 ^
Inconsistent indentation. Also, this phase should return #t, since the
return value of substitute* is unspecified.

> +(synopsis "Qt5 port of the Scintilla editing component")

Make sure to adjust the Qt name as appropriate :)


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Kei Kebreau  writes:

> A component necessary for GNU Octave's GUI.
> How does it look?
Not sure how packaging Qt packages goes, but I've discovered that
GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
adjust this. Should I leave the old patch as is and add a qt4 package
that inherits from it?

From 51da032547ed3e1c2b7825b35b1f39a5e922b44b Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Tue, 13 Sep 2016 10:34:59 -0400
Subject: [PATCH] gnu: Add qscintilla.

* gnu/packages/qt.scm (qscintilla): New variable.
---
 gnu/packages/qt.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a482d75..159832a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,44 @@ contain over 620 classes.")
   "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly 
requested.")
 (license license:bsd-3)))
+
+(define-public qscintilla
+  (package
+(name "qscintilla")
+(version "2.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"mirror://sourceforge/QScintilla2/QScintilla-"
+  version "/QScintilla_gpl-" version 
".tar.gz"))
+  (sha256
+   (base32
+"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda _
+ (chdir "Qt4Qt5")
+ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qt (assoc-ref inputs "qt")))
+   (substitute* (find-files "." "Makefile")
+ (((string-append "INSTALL_ROOT)" qt))
+  (string-append "INSTALL_ROOT)" out)
+(native-inputs
+ `(("python-pyqt" ,python-pyqt)
+   ("qt" ,qt-4))) ; for qmake
+(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
+(synopsis "Qt5 port of the Scintilla editing component")
+(description
+ "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
control.
+As well as features found in standard text editing components, QScintilla
+includes features especially useful when editing and debugging source code.
+These include support for syntax styling, error indicators, code completion and
+call tips.")
+(license (list license:bsd-2 ; Python/configure.py
+   license:expat ; src/ and include/
+   license:gpl3
-- 
2.10.0



signature.asc
Description: PGP signature


[PATCH] gnu: Add qscintilla.

2016-09-12 Thread Kei Kebreau
A component necessary for GNU Octave's GUI.
How does it look?
From c6f182688ab5bd59aeca2e29d67bf527df869963 Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Mon, 12 Sep 2016 13:27:05 -0400
Subject: [PATCH] gnu: Add qscintilla.

* gnu/packages/qt.scm (qscintilla): New variable.
---
 gnu/packages/qt.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a482d75..e87e2e3 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,44 @@ contain over 620 classes.")
   "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly 
requested.")
 (license license:bsd-3)))
+
+(define-public qscintilla
+  (package
+(name "qscintilla")
+(version "2.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"mirror://sourceforge/QScintilla2/QScintilla-"
+  version "/QScintilla_gpl-" version 
".tar.gz"))
+  (sha256
+   (base32
+"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda _
+ (chdir "Qt4Qt5")
+ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qtbase (assoc-ref inputs "qtbase")))
+   (substitute* (find-files "." "Makefile")
+ (((string-append "INSTALL_ROOT)" qtbase))
+  (string-append "INSTALL_ROOT)" out)
+(native-inputs
+ `(("python-pyqt" ,python-pyqt)
+   ("qtbase" ,qtbase))) ; for qmake
+(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro";)
+(synopsis "Qt5 port of the Scintilla editing component")
+(description
+ "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
control.
+As well as features found in standard text editing components, QScintilla
+includes features especially useful when editing and debugging source code.
+These include support for syntax styling, error indicators, code completion and
+call tips.")
+(license (list license:bsd-2 ; Python/configure.py
+   license:expat ; src/ and include/
+   license:gpl3
-- 
2.10.0



signature.asc
Description: PGP signature