Re: [PATCH] gnu: Add qscintilla.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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