From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: [PATCH] gnu: Add qscintilla. Date: Tue, 13 Sep 2016 20:48:43 +0000 Message-ID: References: <87a8fddnyi.fsf@openmailbox.org> <87r38ndfwb.fsf@openmailbox.org> <20160913170529.GD20731@jasmine> <87k2efd6gy.fsf@openmailbox.org> <20160913193906.GC31892@macbook42.flashner.co.il> <874m5jcz8w.fsf@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bjueX-0002GM-EU for guix-devel@gnu.org; Tue, 13 Sep 2016 16:50:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bjueS-0008W0-BJ for guix-devel@gnu.org; Tue, 13 Sep 2016 16:50:00 -0400 Received: from flashner.co.il ([178.62.234.194]:35075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bjueR-0008Si-Vh for guix-devel@gnu.org; Tue, 13 Sep 2016 16:49:56 -0400 In-Reply-To: <874m5jcz8w.fsf@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Kei Kebreau Cc: guix-devel@gnu.org 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: >>>=20 >>> > 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 :) >>>=20 >>> Like below? And how could I then access qscintilla-for-octave from >>> maths.scm if it isn't defined publicly? >>>=20 >>> (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 >>> =20 >"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)))) >>>=20 >>> (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 i= t 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 r= eports around it haven't been cleared yet, and that's with the other vers= ions of vte. --=20 Sent from my Android device with K-9 Mail. Please excuse my brevity.