[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
?