summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2024-05-02 19:45:25 -0400
committerMichael Orlitzky <mjo@gentoo.org>2024-05-02 21:34:23 -0400
commit4d90e071cd1ffbd94b9abea9ceced3f111ee5290 (patch)
treeefd571c0072f46c708304a18a5484c059e1efbff /app-emacs
parentapp-emulation/wine-proton: add 9.0.1 (diff)
downloadgentoo-4d90e071cd1ffbd94b9abea9ceced3f111ee5290.tar.gz
gentoo-4d90e071cd1ffbd94b9abea9ceced3f111ee5290.tar.bz2
gentoo-4d90e071cd1ffbd94b9abea9ceced3f111ee5290.zip
app-emacs/gap-mode: new package, add 2.2.2
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'app-emacs')
-rw-r--r--app-emacs/gap-mode/Manifest1
-rw-r--r--app-emacs/gap-mode/files/50gap-mode-gentoo.el7
-rw-r--r--app-emacs/gap-mode/files/gap-mode-2.2.2-warnings.patch119
-rw-r--r--app-emacs/gap-mode/gap-mode-2.2.2.ebuild60
-rw-r--r--app-emacs/gap-mode/metadata.xml32
5 files changed, 219 insertions, 0 deletions
diff --git a/app-emacs/gap-mode/Manifest b/app-emacs/gap-mode/Manifest
new file mode 100644
index 000000000000..56dad78f5385
--- /dev/null
+++ b/app-emacs/gap-mode/Manifest
@@ -0,0 +1 @@
+DIST gap-mode-8439c3622e1f9e2ec1a8ef21020eb55e917f4416.tar.bz2 28804 BLAKE2B e8f9bbeaea5903f25e2101b874a397f556a9cf039077e5bb2afb9dfadaef339ac7258065fc9ae943a09a26165bbff34667d5e8045a615584ad22e3c1b004464b SHA512 1c1409d0a00e2e36c271a6e8d390d01fa02e60a6431cfbc7c8a592abf2276cc37e2b7f4cb7b7c31f640b3a38bde2907c85148c2a512a897457ce9db7735bdc75
diff --git a/app-emacs/gap-mode/files/50gap-mode-gentoo.el b/app-emacs/gap-mode/files/50gap-mode-gentoo.el
new file mode 100644
index 000000000000..d242a99ab3b5
--- /dev/null
+++ b/app-emacs/gap-mode/files/50gap-mode-gentoo.el
@@ -0,0 +1,7 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'gap-mode "gap-mode" "GAP editing mode" t)
+(autoload 'gap "gap-process" "Run GAP in emacs buffer" t)
+(add-to-list 'auto-mode-alist '("\\.g\\'" . gap-mode))
+(add-to-list 'auto-mode-alist '("\\.gap\\'" . gap-mode))
+(add-to-list 'auto-mode-alist '("\\.gd\\'" . gap-mode))
+(add-to-list 'auto-mode-alist '("\\.gi\\'" . gap-mode))
diff --git a/app-emacs/gap-mode/files/gap-mode-2.2.2-warnings.patch b/app-emacs/gap-mode/files/gap-mode-2.2.2-warnings.patch
new file mode 100644
index 000000000000..3122fefdcdda
--- /dev/null
+++ b/app-emacs/gap-mode/files/gap-mode-2.2.2-warnings.patch
@@ -0,0 +1,119 @@
+From 8238a8eaa6a11e9e0d8e10bb84ae87021b78ea2a Mon Sep 17 00:00:00 2001
+From: Ivan Andrus <iandrus@adobe.com>
+Date: Wed, 13 Mar 2024 10:12:10 -0600
+Subject: [PATCH] Fix unknown definitions warning
+
+---
+ gap-mode.el | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/gap-mode.el b/gap-mode.el
+index 148664c..655519a 100644
+--- a/gap-mode.el
++++ b/gap-mode.el
+@@ -590,6 +590,7 @@ end;"
+ (when gap-using-smie
+ (defvar gap-smie-grammar)
+ (declare-function gap-smie-rules "gap-smie")
++ (declare-function smie-setup "smie")
+ (smie-setup gap-smie-grammar #'gap-smie-rules)))
+
+ ;;}}}
+--
+GitLab
+
+From f8c95d793b1e90e65ca758d10b780592fc9ee2dd Mon Sep 17 00:00:00 2001
+From: Ivan Andrus <iandrus@adobe.com>
+Date: Mon, 29 Apr 2024 19:57:02 -0600
+Subject: [PATCH] Fix unknown definitions warnings
+
+---
+ gap-process.el | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gap-process.el b/gap-process.el
+index 8fa3062..1161161 100644
+--- a/gap-process.el
++++ b/gap-process.el
+@@ -260,6 +260,8 @@ which is much like GAP's C-l (\\[recenter] can be used to recenter)."
+ (set (make-local-variable 'paragraph-separate) "\\'")
+ (set (make-local-variable 'paragraph-start) comint-prompt-regexp)
+ (require 'gap-mode) ;; for gap-syntax-table and gap-font-lock-keywords
++ (eval-when-compile
++ (defvar gap-syntax-table))
+ (set-syntax-table gap-syntax-table)
+ (set (make-local-variable 'font-lock-defaults) '(gap-font-lock-keywords))
+ (use-local-map gap-process-map)
+@@ -548,6 +550,7 @@ With FULL, send two TABs to GAP to get a full list of completions."
+ (if (not (looking-at "\\_>"))
+ (if (not (re-search-forward "\\_>" nil t))
+ (error "Complete what?")))
++ (declare-function gap-ident-around-point "gap-mode")
+ (setq gap-completion-ident (gap-ident-around-point))
+ (if (not full)
+ (progn
+@@ -613,6 +616,7 @@ With FULL, send two TABs to GAP to get a full list of completions."
+ (setq gap-send-state 'normal))))
+
+ (defun gap-completion-at-point-function ()
++ (declare-function gap-ident-around-point-pos "gap-mode")
+ (let ((region (gap-ident-around-point-pos)))
+ (when region
+ (list (car region)
+--
+GitLab
+
+From 9722c596b7cb8fe003bac0332bac23c1d98bbe67 Mon Sep 17 00:00:00 2001
+From: Ivan Andrus <iandrus@adobe.com>
+Date: Mon, 29 Apr 2024 18:55:15 -0600
+Subject: [PATCH] Fix reference to free variable warning
+
+---
+ gap-smie.el | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/gap-smie.el b/gap-smie.el
+index 0bc444a..05e64e7 100644
+--- a/gap-smie.el
++++ b/gap-smie.el
+@@ -76,6 +76,12 @@
+ (defun gap-smie-rules (kind token)
+ "SMIE indentation rules for the GAP language.
+ See `smie-rules-function' for meaning of KIND and TOKEN."
++ (require 'gap-mode)
++ (eval-when-compile
++ ;; These are defined in gap-mode which depends on this file
++ (defvar gap-debug-indent)
++ (defvar gap-indent-list)
++ (defvar gap-indent-step))
+ (when (and gap-debug-indent
+ (not (use-region-p)))
+ (message "%s %s" kind token))
+--
+GitLab
+
+From 09b4082b6e28141537696bb832c8ecc975ec57d8 Mon Sep 17 00:00:00 2001
+From: Ivan Andrus <iandrus@adobe.com>
+Date: Mon, 29 Apr 2024 19:11:34 -0600
+Subject: [PATCH] Fix unused lexical variable warning
+
+---
+ gap-company.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gap-company.el b/gap-company.el
+index abdcd98..725ef15 100644
+--- a/gap-company.el
++++ b/gap-company.el
+@@ -22,7 +22,7 @@
+
+ (defun company-gap-backend (command &optional arg &rest ignored)
+ (interactive (list 'interactive))
+-
++ (ignore ignored)
+ (cl-case command
+ (interactive (company-begin-backend 'company-gap-backend))
+
+--
+GitLab
+
diff --git a/app-emacs/gap-mode/gap-mode-2.2.2.ebuild b/app-emacs/gap-mode/gap-mode-2.2.2.ebuild
new file mode 100644
index 000000000000..7956482529f1
--- /dev/null
+++ b/app-emacs/gap-mode/gap-mode-2.2.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp
+
+# There are no proper releases, so we have to track down the commit
+# that last bumped the version.
+COMMIT=8439c3622e1f9e2ec1a8ef21020eb55e917f4416
+
+DESCRIPTION="Major mode for editing and running GAP programs"
+HOMEPAGE="https://gitlab.com/gvol/gap-mode"
+SRC_URI="https://gitlab.com/gvol/${PN}/-/archive/${COMMIT}/${PN}-${COMMIT}.tar.bz2"
+
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="completion lint"
+
+# Both company-mode and flycheck are needed to byte-compile the source.
+BDEPEND="
+ completion? ( app-emacs/company-mode )
+ lint? ( app-emacs/flycheck )
+"
+
+# You could argue that company-mode and flycheck are not hard runtime
+# dependencies because gap-company.el and gap-flycheck.el will typically
+# only be loaded in company-mode or flycheck-mode, but if we want to
+# support (say) `M-x load-library gap-company.el` without being crashy,
+# then we'll need the corresponding company.el installed.
+RDEPEND="
+ ${BDEPEND}
+ lint? ( dev-gap/gaplint )
+"
+
+PATCHES=( "${FILESDIR}/${P}-warnings.patch" )
+
+SITEFILE="50${PN}-gentoo.el"
+
+DOCS=( README.md emacs.gaprc )
+
+src_prepare(){
+ default
+
+ if ! use completion; then
+ rm gap-company.el || die
+ fi
+
+ if ! use lint; then
+ rm gap-flycheck.el || die
+ fi
+
+ # This defaults to a /usr/local path and expects
+ # the user to configure it.
+ sed -e 's~/usr/local/algebra/bin/gap~gap~' \
+ -i gap-process.el || die
+}
diff --git a/app-emacs/gap-mode/metadata.xml b/app-emacs/gap-mode/metadata.xml
new file mode 100644
index 000000000000..f5396d3da99a
--- /dev/null
+++ b/app-emacs/gap-mode/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+ </maintainer>
+
+ <stabilize-allarches/>
+
+ <use>
+ <flag name="completion">
+ Install GAP backend for <pkg>app-emacs/company-mode</pkg> to
+ "complete anything."
+ </flag>
+
+ <flag name="lint">
+ Support automatically linting GAP code via
+ <pkg>app-emacs/flycheck</pkg> and <pkg>dev-gap/gaplint</pkg>.
+ </flag>
+ </use>
+
+ <upstream>
+ <remote-id type="gitlab">gvol/gap-mode</remote-id>
+ </upstream>
+
+</pkgmetadata>