diff mbox

gnu: Add qscintilla.

Message ID 87eg4mgqud.fsf@openmailbox.org
State New
Headers show

Commit Message

Kei Yamashita Sept. 14, 2016, 8:37 p.m. UTC
Leo Famulari <leo@famulari.name> writes:

> On Wed, Sep 14, 2016 at 02:11:44PM -0400, Kei Kebreau wrote:
>> Leo Famulari <leo@famulari.name> writes:
>> 
>> > On Tue, Sep 13, 2016 at 08:48:43PM +0000, Efraim Flashner wrote:
>> >> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
>> >> <kei@openmailbox.org> 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 <kei@openmailbox.org>
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(+)

Comments

Efraim Flashner Sept. 14, 2016, 8:42 p.m. UTC | #1
On September 14, 2016 11:37:46 PM GMT+03:00, Kei Kebreau <kei@openmailbox.org> wrote:
>Leo Famulari <leo@famulari.name> writes:
>
>> On Wed, Sep 14, 2016 at 02:11:44PM -0400, Kei Kebreau wrote:
>>> Leo Famulari <leo@famulari.name> writes:
>>> 
>>> > On Tue, Sep 13, 2016 at 08:48:43PM +0000, Efraim Flashner wrote:
>>> >> On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau
>>> >> <kei@openmailbox.org> 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?
diff mbox

Patch

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 <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
 ;;;
 ;;; 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))))