Subject: [bug#40300] [PATCH] gnu: Add emacs-haskell-snippets.

From: John Soo <[email-masked]>
Date: Mon, 30 Mar 2020 10:38:01 -0700

Hi Nicolas,

Nicolas Goaziou <[email-masked]> writes:

> Thank you... but you forgot to send the patch.

Oh, sorry. Here it is.

Thanks for the speedy review!

John

>From 5ee54c3cfc32c26d8654502b05334cf0f2085764 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Tue, 24 Mar 2020 07:21:35 -0700
Subject: [PATCH] gnu: Add emacs-haskell-snippets.

* gnu/packages/emacs-xyz.scm (emacs-haskell-snippets): New variable.
---
 gnu/packages/emacs-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9d40b8019e..f1c0114662 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -65,6 +65,7 @@
 ;;; Copyright © 2020 Michael Rohleder <[email-masked]>
 ;;; Copyright © 2020 Brice Waegeneire <[email-masked]>
 ;;; Copyright © 2020 6033fe7de85d <[email-masked]>
+;;; Copyright © 2020 John Soo <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21776,3 +21777,39 @@ enables modal editing and composition of commands, too.  It combines ideas of
 other Editors like Vim or Kakoune and tries to align them with regular Emacs
 conventions.")
     (license license:gpl3+)))
+
+(define-public emacs-haskell-snippets
+  (package
+    (name "emacs-haskell-snippets")
+    (version "0.1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/haskell/haskell-snippets")
+         (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0b3d7rvqvvcsp51aqfhl0zg9zg8j0p6vlfvga6jp9xc7626vh6f6"))))
+    (inputs
+     `(("emacs-yasnippet" ,emacs-yasnippet)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-snippets
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (snippets
+                     (string-append
+                      out "/share/emacs/site-lisp/snippets/haskell-mode")))
+               (mkdir-p snippets)
+               (copy-recursively "snippets/haskell-mode" snippets)
+               #t))))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/haskell/haskell-snippets")
+    (synopsis "Official collection of YASnippet Haskell snippets for Emacs")
+    (description "Haskell-Snippets is a collection of YASnippet Haskell
+snippets for Emacs.")
+    (license license:expat)))
-- 
2.26.0