Subject: [PATCH] gnu: Add emacs-glsl-mode

From: Fredrik Salomonsson <[email-masked]>
Date: Tue, 2 Jun 2020 12:41:37 -0700

* gnu/packages/emacs-xyz.scm (emacs-glsl-mode): New variable
---
 gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 5f0a0184f9..94fd5cb1c8 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -22693,6 +22693,34 @@ sense in the @samp{To} and @samp{Cc} headers).  When in the message body, this
 executes a different function (default: @code{indent-relative}).")
       (license license:gpl2+))))
 
+(define-public emacs-glsl-mode
+  ;; No tag, version grabbed from source .el file.
+  (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136")
+        (revision "0"))
+    (package
+      (name "emacs-glsl-mode")
+      (version (git-version "2.4" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/jimhourihan/glsl-mode")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s"))))
+      (build-system emacs-build-system)
+      (home-page
+       "https://github.com/jimhourihan/glsl-mode")
+      (synopsis
+       "Major mode for Open GLSL shader files")
+      (description
+       "Major mode for editing OpenGLSL grammar files, usually files ending with
+`.vert', `.frag', `.glsl', `.geom'.  Is is based on c-mode plus some
+features and pre-specified fontifications.")
+      (license license:gpl3+))))
+
 (define-public emacs-gnus-harvest
   (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d")
         (revision "0"))
-- 
2.26.2