1 |
commit: 6620272151fba3f31dbfd179d38fbadcaeeab14c |
2 |
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Sep 26 22:38:06 2022 +0000 |
4 |
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Sep 26 22:51:28 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66202721 |
7 |
|
8 |
app-emacs/macrostep: new package; add version 0.9 |
9 |
|
10 |
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org> |
11 |
|
12 |
app-emacs/macrostep/Manifest | 1 + |
13 |
app-emacs/macrostep/files/50macrostep-gentoo.el | 7 ++++++ |
14 |
app-emacs/macrostep/files/macrostep-test.patch | 13 +++++++++++ |
15 |
app-emacs/macrostep/macrostep-0.9.ebuild | 30 +++++++++++++++++++++++++ |
16 |
app-emacs/macrostep/metadata.xml | 27 ++++++++++++++++++++++ |
17 |
5 files changed, 78 insertions(+) |
18 |
|
19 |
diff --git a/app-emacs/macrostep/Manifest b/app-emacs/macrostep/Manifest |
20 |
new file mode 100644 |
21 |
index 000000000000..f19ba1dcf320 |
22 |
--- /dev/null |
23 |
+++ b/app-emacs/macrostep/Manifest |
24 |
@@ -0,0 +1 @@ |
25 |
+DIST macrostep-0.9.tar.gz 50226 BLAKE2B e4e4d1b3f8b3a2abb464d4a4c13f4cc2c26114842cf90f68d5ee2082ef521d48b6de30cb743506d6aa15790b630aa7d3eda90578ce308c4c4595bdfb6f58f15b SHA512 1a3b67ddbb29007db542028dc965807764ac3df4ff6b90f42c50b2623843a905e302b316757b8d7975b0f10a06501262b1d9fd6f94c9b09618b31e2a7d602828 |
26 |
|
27 |
diff --git a/app-emacs/macrostep/files/50macrostep-gentoo.el b/app-emacs/macrostep/files/50macrostep-gentoo.el |
28 |
new file mode 100644 |
29 |
index 000000000000..ea9ea4709733 |
30 |
--- /dev/null |
31 |
+++ b/app-emacs/macrostep/files/50macrostep-gentoo.el |
32 |
@@ -0,0 +1,7 @@ |
33 |
+(add-to-list 'load-path "@SITELISP@") |
34 |
+(autoload 'macrostep-mode "macrostep" |
35 |
+ "Minor mode for inline expansion of macros in Emacs Lisp source buffers." t) |
36 |
+(autoload 'macrostep-expand "macrostep" |
37 |
+ "Expand the macro form following point by one step." t) |
38 |
+(autoload 'macrostep-c-mode-hook "macrostep-c" |
39 |
+ nil t) |
40 |
|
41 |
diff --git a/app-emacs/macrostep/files/macrostep-test.patch b/app-emacs/macrostep/files/macrostep-test.patch |
42 |
new file mode 100644 |
43 |
index 000000000000..ee683556eb90 |
44 |
--- /dev/null |
45 |
+++ b/app-emacs/macrostep/files/macrostep-test.patch |
46 |
@@ -0,0 +1,13 @@ |
47 |
+diff --git a/macrostep-test.el b/macrostep-test.el |
48 |
+index 9de1fae..c49ac0a 100644 |
49 |
+--- a/macrostep-test.el |
50 |
++++ b/macrostep-test.el |
51 |
+@@ -410,7 +410,7 @@ |
52 |
+ (should (macrostep-lax-looking-at ,string)) |
53 |
+ (macrostep-collapse))) |
54 |
+ |
55 |
+-(ert-deftest macrostep-expand-c-macros () |
56 |
++(defun macrostep-expand-c-macros () |
57 |
+ (with-temp-buffer |
58 |
+ (insert |
59 |
+ ;; A random example adapted from Emacs's src/lisp.h. |
60 |
|
61 |
diff --git a/app-emacs/macrostep/macrostep-0.9.ebuild b/app-emacs/macrostep/macrostep-0.9.ebuild |
62 |
new file mode 100644 |
63 |
index 000000000000..bfe4654194fc |
64 |
--- /dev/null |
65 |
+++ b/app-emacs/macrostep/macrostep-0.9.ebuild |
66 |
@@ -0,0 +1,30 @@ |
67 |
+# Copyright 1999-2022 Gentoo Authors |
68 |
+# Distributed under the terms of the GNU General Public License v2 |
69 |
+ |
70 |
+EAPI=8 |
71 |
+ |
72 |
+NEED_EMACS=24.3 |
73 |
+ |
74 |
+inherit elisp |
75 |
+ |
76 |
+DESCRIPTION="Interactive macro-expander for Emacs" |
77 |
+HOMEPAGE="https://github.com/joddie/macrostep/" |
78 |
+SRC_URI="https://github.com/joddie/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" |
79 |
+ |
80 |
+LICENSE="GPL-3+" |
81 |
+SLOT="0" |
82 |
+KEYWORDS="~amd64 ~x86" |
83 |
+ |
84 |
+DOCS=( README.org ) |
85 |
+PATCHES=( "${FILESDIR}"/${PN}-test.patch ) |
86 |
+SITEFILE="50${PN}-gentoo.el" |
87 |
+ |
88 |
+src_test() { |
89 |
+ ${EMACS} ${EMACSFLAGS} -L . --load ${PN}-test.el || die "test failed" |
90 |
+} |
91 |
+ |
92 |
+src_install() { |
93 |
+ rm macrostep-test.el{,c} || die |
94 |
+ |
95 |
+ elisp_src_install |
96 |
+} |
97 |
|
98 |
diff --git a/app-emacs/macrostep/metadata.xml b/app-emacs/macrostep/metadata.xml |
99 |
new file mode 100644 |
100 |
index 000000000000..83cdc6147e32 |
101 |
--- /dev/null |
102 |
+++ b/app-emacs/macrostep/metadata.xml |
103 |
@@ -0,0 +1,27 @@ |
104 |
+<?xml version="1.0" encoding="UTF-8"?> |
105 |
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> |
106 |
+ |
107 |
+<pkgmetadata> |
108 |
+ <maintainer type="project"> |
109 |
+ <email>gnu-emacs@g.o</email> |
110 |
+ <name>Gentoo GNU Emacs project</name> |
111 |
+ </maintainer> |
112 |
+ <longdescription> |
113 |
+ macrostep is an Emacs minor mode for interactively stepping through the |
114 |
+ expansion of macros in Emacs Lisp source code. It lets you see exactly what |
115 |
+ happens at each step of the expansion process by pretty-printing the |
116 |
+ expanded forms inline in the source buffer, which is temporarily read-only |
117 |
+ while macro expansions are visible. You can expand and collapse macro forms |
118 |
+ one step at a time, and evaluate or instrument the expansions for debugging |
119 |
+ with Edebug as normal. Single-stepping through the expansion is |
120 |
+ particularly useful for debugging macros that expand into another macro |
121 |
+ form. These can be difficult to debug with Emacs’ built-in macroexpand, |
122 |
+ which continues expansion until the top-level form is no longer a macro |
123 |
+ call. |
124 |
+ </longdescription> |
125 |
+ <stabilize-allarches /> |
126 |
+ <upstream> |
127 |
+ <bugs-to>https://github.com/joddie/macrostep/issues/</bugs-to> |
128 |
+ <remote-id type="github">joddie/macrostep</remote-id> |
129 |
+ </upstream> |
130 |
+</pkgmetadata> |