Subject: Re: [bug#36043] [PATCH] Add Geany

From: Nicolas Goaziou <[email-masked]>
Date: Wed, 05 Jun 2019 23:01:45 +0200

Hello,

Thank you for the feedback.

Arun Isaac <[email-masked]> writes:

> Please add a copyright header with your name and email address.
>
> The scintilla library comes bundled with geany. Is it possible to
> unbundle it?

Guix doesn't provide the scintilla library. I tried to package it, but
failed. I can send my latest attempt, if you want to give it a spin.

Meanwhile, I added this as a TODO in the package definition.

>> +    (inputs
>> +     `(("gtk2" ,gtk+-2)))
>
> Geany supports gtk3. Could you build with that?

Done.

> Perhaps rewrite this as:
>
> 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.

OK.

>> Geany only requires the GTK2 runtime libraries.
>
> I think we should not mention this in the description, especially if we
> are building with gtk3.

OK.
>
>> +Some basic features of Geany:
>> +@itemize
>> +@item Syntax highlighting
>> +@item Code folding
>> +@item Symbol name auto-completion
>> +@item Construct completion/snippets
>> +@item Auto-closing of XML and HTML tags
>> +@item Call tips
>> +@item Many supported filetypes including C, Java, PHP, HTML, Python,
>> +      Perl, Pascal (full list)
>
> What is (full list) ?

I don't know. I changed the description, and added more inputs to build
documentation.

Here is the updated patch. Let me know if you want the scintilla draft.

WDYT?

Regards,

-- 
Nicolas Goaziou
>From 520bfc8dc2eed15b4835c641d6645e5790341af6 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <[email-masked]>
Date: Sat, 1 Jun 2019 23:37:24 +0200
Subject: [PATCH] gnu: Add geany.

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

diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 534934dfd1..824a2aea5f 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <[email-masked]>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2019 Efraim Flashner <[email-masked]>
+;;; Copyright © 2019 Nicolas Goaziou <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -389,3 +390,44 @@ projects.  The EditorConfig project maintains a file format and plugins for
 various text editors which allow this file format to be read and used by those
 editors.")
     (license license:bsd-2)))
+
+(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"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("doxygen" ,doxygen)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)
+       ("python-docutils" ,python-docutils))) ;for rst2html
+    ;; TODO: Unbundle scintilla when packaged.
+    (inputs
+     `(("gtk+" ,gtk+)))
+    (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.21.0