Subject: [bug#66422] «Joe R Marshall's Syntax-Rules Primer for the Merely Eccentric» package

From: Grigory Shepelev <[email-masked]>
Date: Mon, 9 Oct 2023 17:25:28 +0300

Hi
Texinfo-ed «Joe R Marshall's Syntax-Rules Primer for the Merely Eccentric»
and packed it into guix right after `sicp` package
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index ad06d7db06..cdb56efb95 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -658,6 +658,38 @@ (define-public sicp
 metalinguistic abstraction, recursion, interpreters, and modular programming.")
       (license cc-by-sa4.0))))
 
+(define-public jrm-syntax-rules
+  (let [(commit "6968df3ebc6de4cf8d41aa7b6adc400a11937b86")
+        (hash "1l8221q1zw66yb47dcqbbnj3dbsl6slvnivaqc731hs848apwffr")
+        (revision "1")]
+    (package
+      (name "jrm-syntax-rules")
+      (version "1.0.0")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/shegeley/jrm-syntax-rules")
+                      (commit commit)))
+                (sha256 (base32 hash))
+                (file-name (git-file-name name version))))
+      (build-system copy-build-system)
+      (native-inputs (list gzip texinfo))
+      (arguments
+       (list #:install-plan ''(("jrm-syntax-rules.info" "share/info/"))
+             #:phases #~(modify-phases
+                            %standard-phases
+                          (add-before
+                              'install 'build
+                            (lambda _
+                              (invoke "makeinfo"
+                                      "--output=jrm-syntax-rules.info"
+                                      "doc.texi"))))))
+      (home-page "https://github.com/shegeley/jrm-syntax-rules")
+      (synopsis "JRM’s Syntax-rules Primer for the Merely Eccentric")
+      (description "Tutorial for syntax-rules system in R5RS standard.")
+      ;; NOTE: coudn't find any info on licensing. seems like public domain. fix me if I'm wrong
+      (license public-domain))))
+
 (define-public scheme48-rx
   (let* ((commit "dd9037f6f9ea01019390614f6b126b7dd293798d")
          (revision "2"))