all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
To: Arun Isaac <arunisaac@systemreboot.net>
Cc: 36043@debbugs.gnu.org
Subject: [bug#36043] [PATCH] Add Geany
Date: Tue, 30 Jul 2019 09:59:05 +0200	[thread overview]
Message-ID: <87ftmoosvq.fsf@nicolasgoaziou.fr> (raw)
In-Reply-To: <cu75zntf1qq.fsf@systemreboot.net> (Arun Isaac's message of "Tue, 23 Jul 2019 16:37:25 +0530")

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

Hello,

Arun Isaac <arunisaac@systemreboot.net> writes:

> Just a friendly ping. Can we finish this package one way or the other --
> with or without a bundled scintilla? Perhaps you can just leave a TODO
> comment for someone to pick up on later. I'm just worried it's taking
> too long for this relatively simple package.

Here are the current patches, with all the discussed suggestions
integrated (IIRC), and Scintilla updated to its latest release.

Regards,

-- 
Nicolas Goaziou

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-Add-scintilla.patch --]
[-- Type: text/x-diff, Size: 3596 bytes --]

From 979f7629c18a42f2be450cb25b06665694033b2d Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Thu, 13 Jun 2019 00:13:27 +0200
Subject: [PATCH 1/2] gnu: Add scintilla.

* gnu/packages/text-editors.scm (scintilla): New variable.
---
 gnu/packages/text-editors.scm | 62 +++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index b35486ba59..1d9cd09f43 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -437,3 +437,65 @@ types of content.  It has robust support for mathematical formulas and plots.
 and Octave.  TeXmacs is completely extensible via Guile.")
     (license license:gpl3+)
     (home-page "https://www.texmacs.org/tmweb/home/welcome.en.html")))
+
+(define-public scintilla
+  (package
+    (name "scintilla")
+    (version "4.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (let ((v (apply string-append (string-split version #\.))))
+                     (string-append
+                      "https://www.scintilla.org/scintilla" v ".tgz")))
+              (sha256
+               (base32
+                "02ymi86fpcypg6423vfr54lbkxbks046q02v3m3dypawcf3bqy42"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk")
+       #:tests? #f                      ;require un-packaged Pyside
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ;no configure script
+         (add-after 'unpack 'build-shared-library
+           (lambda _
+             (substitute* "gtk/makefile"
+               (("scintilla\\.a") "libscintilla.so")
+               (("\\$\\(AR\\) \\$\\(ARFLAGS\\) \\$@ \\$\\^")
+                "$(CC) -shared $^ -o $@")
+               (("\\$\\(RANLIB\\) \\$@") ""))
+             #t))
+         (add-before 'build 'expand-C++-include-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Make <gcc>/include/c++/ext/string_conversions.h find
+             ;; <stdlib.h>.
+             (let* ((path "CPLUS_INCLUDE_PATH")
+                    (gcc  (assoc-ref inputs "gcc"))
+                    (c++  (string-append gcc "/include/c++")))
+               (setenv path (string-append c++ ":" (getenv path))))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (lib (string-append out "/lib"))
+                    (include (string-append out "/include")))
+               (install-file "bin/libscintilla.so" lib)
+               (for-each (lambda (f) (install-file f include))
+                         (find-files "include/" "."))
+               #t))))))
+    (native-inputs
+     `(("gcc" ,gcc-7)                   ;require GCC 7.1+
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gtk+" ,gtk+)))
+    (home-page "https://www.scintilla.org/")
+    (synopsis "Code editor for GTK+")
+    (description "Scintilla is a source code editing component for
+GTK+.  It has the usual features found in text editing components, as
+well as some that are especially useful for editing and debugging
+source code; these include support for syntax styling, error
+indicators, code completion and call tips.  Styling choices are more
+open than with many editors: Scintilla lets you use proportional
+fonts, bold and italics, multiple foreground and background colours,
+and multiple fonts.")
+    (license license:hpnd)))
-- 
2.22.0


[-- Attachment #3: 0002-gnu-Add-geany.patch --]
[-- Type: text/x-diff, Size: 4397 bytes --]

From 25a507a7ed5383ae26f11b568143dc89227aec37 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Date: Sat, 1 Jun 2019 23:37:24 +0200
Subject: [PATCH 2/2] gnu: Add geany.

* gnu/packages/text-editors.scm (geany): New variable.
---
 gnu/packages/text-editors.scm | 69 +++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 1d9cd09f43..7d5f6797dc 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,6 +36,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (gnu packages assembly)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fontutils)
@@ -50,6 +52,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages regex)
   #:use-module (gnu packages ruby)
@@ -499,3 +502,69 @@ open than with many editors: Scintilla lets you use proportional
 fonts, bold and italics, multiple foreground and background colours,
 and multiple fonts.")
     (license license:hpnd)))
+
+(define-public geany
+  (package
+    (name "geany")
+    (version "1.35")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://download.geany.org/"
+                                  "geany-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim"))
+              (modules '((guix build utils)))
+              (snippet '(begin
+                          (delete-file-recursively "scintilla")
+                          #t))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("doxygen" ,doxygen)
+       ("glib" ,glib "bin")
+       ("intltool" ,intltool)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("python-docutils" ,python-docutils))) ;for rst2html
+    (inputs
+     `(("gtk+" ,gtk+)
+       ("scintilla" ,scintilla)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'use-scintilla-shared-library
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "configure.ac"
+               (("scintilla/Makefile") "")
+               (("scintilla/include/Makefile") ""))
+             (substitute* "Makefile.am"
+               (("scintilla ") ""))
+             (substitute* "src/Makefile.am"
+               (("\\$\\(top_builddir\\)/scintilla/libscintilla.la") "")
+               (("geany_LDFLAGS =" all) (string-append all " -lscintilla")))
+             (substitute* "doc/Makefile.am"
+               (("\\$\\(INSTALL_DATA\\) \\$\\(top_srcdir\\)/scintilla/License.txt \\$\\(DOCDIR\\)/ScintillaLicense.txt") ""))
+             (for-each delete-file (list "autogen.sh" "configure" "Makefile.in"))
+             #t)))))
+    (home-page "https://www.geany.org")
+    (synopsis "Fast and lightweight IDE")
+    (description "Geany is a small and fast Integrated Development
+Environment (IDE) that only has a few dependencies on other packages and is as
+independent as possible from special desktop environments like KDE or GNOME.
+
+The basic features of Geany are:
+@itemize
+@item syntax highlighting
+@item code completion
+@item auto completion of often constructed constructs like if, for and while
+@item auto completion of XML and HTML tags
+@item call tips
+@item folding
+@item many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal
+@item symbol lists
+@item embedded terminal emulation
+@item extensibility through plugins
+@end itemize")
+    (license license:gpl2+)))
-- 
2.22.0


  reply	other threads:[~2019-07-30  8:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-01 21:38 [bug#36043] [PATCH] Add Geany Nicolas Goaziou
2019-06-04 12:25 ` Arun Isaac
2019-06-05 21:01   ` Nicolas Goaziou
2019-06-06 14:45     ` Arun Isaac
2019-06-12 22:22       ` Nicolas Goaziou
2019-06-15  7:21         ` Arun Isaac
2019-06-17 20:29           ` Nicolas Goaziou
2019-06-18 19:45             ` Arun Isaac
2019-06-19 11:16               ` Nicolas Goaziou
2019-06-25  9:54                 ` Arun Isaac
2019-07-23 11:07                   ` Arun Isaac
2019-07-30  7:59                     ` Nicolas Goaziou [this message]
2019-07-30 11:38                       ` Arun Isaac
2019-07-30 18:04                         ` bug#36043: " Nicolas Goaziou
2019-06-06 14:51     ` [bug#36043] " Arun Isaac

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ftmoosvq.fsf@nicolasgoaziou.fr \
    --to=mail@nicolasgoaziou.fr \
    --cc=36043@debbugs.gnu.org \
    --cc=arunisaac@systemreboot.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.