diff mbox series

[bug#36151] gnu: Add emacsy.

Message ID 87wohuu1e3.fsf@gnu.org
State Accepted
Headers show
Series [bug#36151] gnu: Add emacsy. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Janneke Nieuwenhuizen June 9, 2019, 5:14 p.m. UTC
Hi!

It's not a pure guile package...should it still be named guile-emacsy,
WDYT?

Greetings,
janneke

From fea1be20d655096fbf31872650daca3ac28f0e41 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 9 Jun 2019 18:17:08 +0200
Subject: [PATCH] gnu: Add emacsy.

* gnu/packages/guile-xyz.scm (emacsy): New variable.
---
 gnu/packages/guile-xyz.scm | 75 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

Comments

Tobias Geerinckx-Rice June 9, 2019, 5:51 p.m. UTC | #1
Janneke,

Jan Nieuwenhuizen wrote:
> Hi!
>
> It's not a pure guile package...should it still be named 
> guile-emacsy,

Yes.

> WDYT?

Personally: that the language(s) the package is *written* in don't 
actually matter much.

What matters is whether it's a library *for* that language.

+       "Emacsy is an embeddable GNU Emacs-like library for GNU 
Guile.

…and it is :-)

Which is just, like, my opinion, of course,

T G-R
Janneke Nieuwenhuizen June 9, 2019, 6:23 p.m. UTC | #2
Tobias Geerinckx-Rice writes:

Hi Tobias,

>> It's not a pure guile package...should it still be named
>> guile-emacsy,
>
> Yes.
>
>> WDYT?
>
> Personally: that the language(s) the package is *written* in don't
> actually matter much.
>
> What matters is whether it's a library *for* that language.
>
> +       "Emacsy is an embeddable GNU Emacs-like library for GNU Guile.
>
> …and it is :-)

Well, that's the thing.  It's a Guile library as well as an *embeddable*
Guile library in C; it comes with libemacsy.so.  So I guess the
description is off.  What about

       "Emacsy is an embeddable GNU Emacs-like library written in GNU
Guile.  It can be used as a pure Guile library, or embedded from a C
program using libemacsy.  It comes with a simple counter example using
GLUT and browser examples in C using gtk+-3 and webkitgtk."

> Which is just, like, my opinion, of course,

Sure, just checking; still guile-emacsy?

janneke
Janneke Nieuwenhuizen June 12, 2019, 9:45 p.m. UTC | #3
Ludovic Courtès writes:

> Nice, LGTM!

Pushed to master as f0de9544a3f19b65e80a7cbfafd0dbe268d92ee2

> Good to see Emacsy coming back to life!

Thanks, yeah I'm pondering on a way forward for Emacsy.  I'm starting by
using it and it looks pretty nice.
  
janneke
diff mbox series

Patch

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index aee908a6f5..e66aa93f95 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -68,6 +68,7 @@ 
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages networking)
+  #:use-module (gnu packages noweb)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -2305,3 +2306,77 @@  formatting combinators specified by
 @uref{https://srfi.schemers.org/srfi-159/srfi-159.html, SRFI-159}.  These are
 more expressive and flexible than the traditional @code{format} procedure.")
       (license license:bsd-3))))
+
+(define-public emacsy
+  (let ((commit "29148e2a0d803bd74a83a3576f667108b374c6b3")
+        (revision "3"))
+    (package
+      (name "emacsy")
+      (version (string-append "0.1.2-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.com/janneke/emacsy.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version))
+                (sha256
+                 (base32
+                  "1s6n1b8h2wzvpkdnl7y2hby846cglznysbq4xqd6yys57vmzgczs"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       `(("emacsy-webkit-gtk"
+          ,(origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://gitlab.com/janneke/emacsy-webkit-gtk.git")
+                   (commit "35ded1b3e997fd779a17e0c4a2c73741718562d9")))
+             (file-name (string-append "emacsy-webkit-gtk" "-" version))
+             (sha256
+              (base32
+               "1gp0li2rbp6in926r3hrww6cnh864pp46v1din2pgmd7vzzl7kg0"))))
+         ("hello-emacsy"
+          ,(origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://gitlab.com/janneke/hello-emacsy.git")
+                   (commit "bb17461d766c26992426f2c7d094cf9476a42dcc")))
+             (file-name (string-append "hello-emacsy" "-" version))
+             (sha256
+              (base32
+               "1lag248jb7xs5iw8qb6q12wc65awmr2sa2qhrjvrkvsrilxbpnj4"))))
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("bzip2" ,bzip2)
+         ("guile" ,guile-2.2)
+         ("gettext" ,gnu-gettext)
+         ("libtool" ,libtool)
+         ("noweb" ,noweb)
+         ("perl" ,perl)
+         ("pkg-config" ,pkg-config)
+         ("texinfo" ,texinfo)))
+      (propagated-inputs
+       `(("guile-lib" ,guile-lib)
+         ("guile-readline" ,guile-readline)
+         ("freeglut" ,freeglut)
+         ("gssettings-desktop-schemas" ,gsettings-desktop-schemas)
+         ("webkitgtk" ,webkitgtk)))
+      (inputs `(("guile" ,guile-2.2)))
+      (arguments
+       `(#:tests? #f                    ; several tests fail
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'unpack-examples
+             (lambda _
+               (copy-recursively (assoc-ref %build-inputs "emacsy-webkit-gtk")
+                                 "example/emacsy-webkit-gtk")
+               (copy-recursively (assoc-ref %build-inputs "hello-emacsy")
+                                 "example/hello-emacsy")))
+           (add-before 'configure 'setenv
+             (lambda _
+               (setenv "GUILE_AUTO_COMPILE" "0"))))))
+      (home-page "https://github.com/shanecelis/emacsy/")
+      (synopsis "Embeddable GNU Emacs-like library for Guile")
+      (description
+       "Emacsy is an embeddable GNU Emacs-like library for GNU Guile.  It
+comes with a simple counter example using GLUT and WebKit browser examples.")
+      (license license:gpl3+))))