[PATCH] gnu: Add emacsy.

  • Done
  • quality assurance status badge
Details
3 participants
  • Jan Nieuwenhuizen
  • Ludovic Courtès
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Jan Nieuwenhuizen
Severity
normal
J
J
Jan Nieuwenhuizen wrote on 9 Jun 2019 19:14
(address . guix-patches@gnu.org)
87wohuu1e3.fsf@gnu.org
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(+)

Toggle diff (96 lines)
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+))))
--
2.21.0

--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
T
T
Tobias Geerinckx-Rice wrote on 9 Jun 2019 19:51
(name . Jan Nieuwenhuizen)(address . janneke@gnu.org)(address . 36151@debbugs.gnu.org)
87h88y6407.fsf@nckx
Janneke,

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

Yes.

Toggle quote (2 lines)
> 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
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXP1HOAAKCRANsP+IT1Vt
eXh4AQDPzeVueV7K/tD+2FjbXU+iRQY7uxNSas9KThp8p+mB4gD/W4ihIjRhBkxd
BNOwlYKH/De7KSRGVfssmmGAAECMIgQ=
=Z+Bw
-----END PGP SIGNATURE-----

J
J
Jan Nieuwenhuizen wrote on 9 Jun 2019 20:23
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)(address . 36151@debbugs.gnu.org)
87sgsity7i.fsf@gnu.org
Tobias Geerinckx-Rice writes:

Hi Tobias,

Toggle quote (16 lines)
>> 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."

Toggle quote (2 lines)
> Which is just, like, my opinion, of course,

Sure, just checking; still guile-emacsy?

janneke

--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
J
J
Jan Nieuwenhuizen wrote on 10 Jun 2019 10:03
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
87d0jln9yi.fsf@gnu.org
Jan Nieuwenhuizen writes:

Hi!

I have incorporated Ricardo's (thanks!) emacsy WIP patch so that we can
now run all tests. I also resurrected the PDF doc builds and added them
to the automake install. New patch attached.

Toggle quote (20 lines)
>>> 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

I have changed it to

(synopsis "Embeddable GNU Emacs-like library using Guile")
(description
"Emacsy is an embeddable GNU Emacs-like library that uses GNU Guile
as extension language. Emacsy can give a C program an Emacsy feel with
keymaps, minibuffer, recordable macros, history, tab completion, major
and minor modes, etc., and can also be used as a pure Guile library. It
comes with a simple counter example using GLUT and browser examples in C
using gtk+-3 and webkitgtk.")

janneke
From f8950419cb6b2414344266c76325f8c47bf95bf8 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 | 80 ++++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)

Toggle diff (104 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index aee908a6f5..191f32c321 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)
@@ -75,6 +76,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages slang)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
@@ -2305,3 +2307,81 @@ 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 "7d49cc1425d5d209bdb82cac0d8ea0694b8b3784")
+ (revision "4"))
+ (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
+ "0k9yns1v8zn135w60sx96nqs2bm2p2dvcvlm987hkw4lbff9ii6i"))))
+ (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 "2c117e5286a261be4ff24938f3ae1d348396c538")))
+ (file-name (string-append "hello-emacsy" "-" version))
+ (sha256
+ (base32
+ "15ykd7s8axcy8ym4v71fgal4x28fxnim0pv0jmpi3dnhizr63zqn"))))
+ ("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)
+ ("texlive" ,texlive)))
+ (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
+ `(#: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 using Guile")
+ (description
+ "Emacsy is an embeddable GNU Emacs-like library that uses GNU Guile
+as extension language. Emacsy can give a C program an Emacsy feel with
+keymaps, minibuffer, recordable macros, history, tab completion, major
+and minor modes, etc., and can also be used as a pure Guile library. It
+comes with a simple counter example using GLUT and browser examples in C
+using gtk+-3 and webkitgtk.")
+ (license license:gpl3+))))
--
2.21.0
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 12 Jun 2019 15:53
(name . Jan Nieuwenhuizen)(address . janneke@gnu.org)
87ef3yvrj9.fsf@gnu.org
Hello,

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (7 lines)
>>From f8950419cb6b2414344266c76325f8c47bf95bf8 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.

Nice, LGTM! Good to see Emacsy coming back to life!

Ludo’.
J
J
Jan Nieuwenhuizen wrote on 12 Jun 2019 23:45
(name . Ludovic Courtès)(address . ludo@gnu.org)
87tvcua36d.fsf@gnu.org
Ludovic Courtès writes:

Toggle quote (2 lines)
> Nice, LGTM!

Pushed to master as f0de9544a3f19b65e80a7cbfafd0dbe268d92ee2

Toggle quote (2 lines)
> 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

--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 36151@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 36151
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch