From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: 61434@debbugs.gnu.org
Subject: [bug#61434] [PATCH] gnu: Add emacs-pasp-mode.
Date: Sat, 11 Feb 2023 16:15:00 +0100 [thread overview]
Message-ID: <602f2c0db9881fdd663c9919b5783db950ac900b.camel@gmail.com> (raw)
* gnu/packages/patches/emacs-pasp-mode-quote-file-names.patch: New file.
* gnu/local.mk: Register it here.
* gnu/packages/emacs-xyz.scm (emacs-pasp-mode): New variable.
---
gnu/local.mk | 1 +
gnu/packages/emacs-xyz.scm | 47 +++++++++++++++++++
.../emacs-pasp-mode-quote-file-names.patch | 20 ++++++++
3 files changed, 68 insertions(+)
create mode 100644 gnu/packages/patches/emacs-pasp-mode-quote-file-names.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index bf4b20577d..0548fc4e3d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1070,6 +1070,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
%D%/packages/patches/emacs-native-comp-driver-options.patch \
+ %D%/packages/patches/emacs-emacs-pasp-mode-quote-file-names.patch \
%D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-telega-path-placeholder.patch \
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index bbaafcc730..b6780ace02 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -4387,6 +4387,53 @@ (define-public emacs-pabbrev
during idle time, while Emacs is doing nothing else.")
(license license:gpl3+)))
+(define-public emacs-pasp-mode
+ (let ((commit "59385eb0e8ebcfc8c11dd811fb145d4b0fa3cc92")
+ (revision "1"))
+ (package
+ (name "emacs-pasp-mode")
+ (version (git-version "0.1.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/santifa/pasp-mode.git")
+ (commit commit)))
+ (patches
+ (search-patches "emacs-pasp-mode-quote-file-names.patch"))
+ (sha256
+ (base32
+ "1ar4vws3izzmir7m870mccci620ns3c5j26dcmwaxavhgw45wcmf"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'defconst-version
+ (lambda _
+ (emacs-batch-edit-file "pasp-mode.el"
+ '(progn
+ (search-forward-regexp
+ "(defcustom pasp-mode-version \"[^\"]*\"[
+ ]*\\(\"[^\"]*\"\\)[^()]*)")
+ (let ((docstring (match-string 1)))
+ (backward-sexp)
+ (kill-sexp)
+ (insert (format "(defconst emacs-pasp-version \"%s\" %s)"
+ #$version docstring))
+ (basic-save-buffer))))))
+ (add-after 'unpack 'hardcode-clingo
+ (lambda* (#:key inputs #:allow-other-keys)
+ (emacs-substitute-variables "pasp-mode.el"
+ ("pasp-clingo-path"
+ (search-input-file inputs "/bin/clingo"))))))))
+ (inputs (list clingo))
+ (home-page "https://github.com/santifa/pasp-mode")
+ (synopsis "Major mode for editing Answer Set Programs.")
+ (description
+ "This package provides a major mode for editing answer set programs,
+in particular ones that can be solved by @command{clingo}.")
+ (license license:gpl3+))))
+
(define-public emacs-pdf-tools
(package
(name "emacs-pdf-tools")
diff --git a/gnu/packages/patches/emacs-pasp-mode-quote-file-names.patch b/gnu/packages/patches/emacs-pasp-mode-quote-file-names.patch
new file mode 100644
index 0000000000..39dc5d0253
--- /dev/null
+++ b/gnu/packages/patches/emacs-pasp-mode-quote-file-names.patch
@@ -0,0 +1,20 @@
+diff --git a/pasp-mode.el b/pasp-mode.el
+index 7f83645..5daf08e 100644
+--- a/pasp-mode.el
++++ b/pasp-mode.el
+@@ -199,9 +199,12 @@
+ Argument ENCODING The current buffer which holds the problem encoding.
+ Optional argument INSTANCE The problem instance which is solved by the encoding.
+ If no instance it is assumed to be also in the encoding file."
+- (if 'instance
+- (concat pasp-clingo-path " " pasp-clingo-options " " encoding " " instance)
+- (concat pasp-clingo-path " " pasp-clingo-options " " encoding)))
++ (if instance
++ (concat pasp-clingo-path " " pasp-clingo-options " "
++ (shell-quote-argument encoding) " "
++ (shell-quote-argument instance))
++ (concat pasp-clingo-path " " pasp-clingo-options " "
++ (shell-quote-argument encoding))))
+
+ (defun pasp-run-clingo (encoding &optional instance)
+ "Run Clingo with some ASP input files.
--
2.39.1
next reply other threads:[~2023-02-11 15:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-11 15:15 Liliana Marie Prikler [this message]
2023-02-11 15:15 ` [bug#61434] [PATCH] gnu: Add emacs-pasp-mode Liliana Marie Prikler
2023-02-19 7:42 ` bug#61434: " Liliana Marie Prikler
2023-02-11 16:59 ` [bug#61434] " Nicolas Goaziou
2023-02-11 17:24 ` Liliana Marie Prikler
2023-02-11 18:55 ` Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=602f2c0db9881fdd663c9919b5783db950ac900b.camel@gmail.com \
--to=liliana.prikler@gmail.com \
--cc=61434@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).