(address . guix-patches@gnu.org)
From 64293347cffa69c6ec528e0aa4c3669a1b30b048 Mon Sep 17 00:00:00 2001
Message-ID: <64293347cffa69c6ec528e0aa4c3669a1b30b048.1739065620.git.adam.faiz@disroot.org>
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 9 Feb 2025 09:39:04 +0800
Subject: [PATCH] gnu: Add escm.
* gnu/packages/scheme.scm (escm): New variable.
---
gnu/packages/scheme.scm | 50 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
Toggle diff (77 lines)
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index d8cb3b1de1..5e4c4c52b7 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -67,11 +67,13 @@ (define-module (gnu packages scheme)
#:use-module (gnu packages databases)
#:use-module (gnu packages emacs)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gawk)
#:use-module (gnu packages gcc)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
@@ -1275,6 +1277,54 @@ (define-public emacs-gerbil-mode
"Gerbil mode provides font-lock, indentation, navigation, and REPL for
Gerbil code within Emacs.")))
+(define-public escm
+ (package
+ (name "escm")
+ (version "0.32")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/escm/"
+ "aescm/" version "/aescm-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12i5ny493pi6vszkrjz3wqi1p4psw8fhdlhbpyw0c5lrlbsyvw0h"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (for-each delete-file (find-files "." "Makefile.in"))
+ (for-each delete-file '("configure"
+ "aclocal.m4"
+ "install-sh"
+ "depcomp"))
+ (substitute* "lang/Makefile.am"
+ ;; avoid installing the same directory twice
+ (("awk scm") "scm"))))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake gawk))
+ (inputs (list guile-3.0))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'bootstrap 'fix-configure
+ (lambda _
+ (substitute* "configure.ac"
+ (("INTERP=\"guile")
+ (string-append "INTERP=\"" (which "guile"))))))
+ (replace 'check
+ ;; The test infrastructure reuses the same input and output filename
+ ;; for each test, which would clobber them if done in parallel.
+ (lambda* (#:key tests? make-flags #:allow-other-keys)
+ (when tests?
+ (invoke "make" "check" "-j" "1")))))))
+ (synopsis "Embedded Scheme processor")
+ (description
+ "@code{escm} is a filter program which takes a text with embedded Scheme exressions,
+copies it to the output with evaluating the Scheme expressions.
+You can use the power of Scheme to preprocess various text files, including CGI scripts.")
+ (home-page "https://practical-scheme.net/vault/escm.html")
+ (license expat)))
+
(define-public stklos
(package
(name "stklos")
base-commit: ba0340eec2e50439cfd94e85b40bf41c2d488a74
--
2.46.0