summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorOleg Pykhalov <go.wigust@gmail.com>2018-03-20 19:07:39 +0300
committerOleg Pykhalov <go.wigust@gmail.com>2018-04-16 17:02:33 +0300
commit6c92b4406fa2dab28db975ab64256f218a66a961 (patch)
treed82fdf6d8f51730f667f4a9d7f088fbc70846e22 /gnu
parent5b6d67476056fdadfad2de21b5fc4ff14999c047 (diff)
downloadguix-6c92b4406fa2dab28db975ab64256f218a66a961.tar.gz
gnu: Add emacs-finalize.
* gnu/packages/emacs.scm (emacs-finalize): New public variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/emacs.scm25
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 9d212eee37..b371eadaf6 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -7686,3 +7686,28 @@ match and total match information in the mode-line in various search modes.")
 @code{cl-generic} package introduced in Emacs-25, for use on previous
 @code{emacsen}.")
     (license license:gpl3+)))
+
+(define-public emacs-finalize
+  (package
+  (name "emacs-finalize")
+  (version "2.0.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (string-append "https://github.com/skeeto/elisp-finalize/archive/"
+                          version ".tar.gz"))
+      (file-name (string-append name "-" version ".tar.gz"))
+      (sha256
+        (base32
+         "077fycy3i5f0kjw5z3rhf4kld5lbk2idz690nkwhkz04vppk4q4x"))))
+  (build-system emacs-build-system)
+  (propagated-inputs
+    `(("emacs-cl-generic" ,emacs-cl-generic)))
+  (home-page "https://github.com/skeeto/elisp-finalize")
+  (synopsis "Finalizers for Emacs Lisp")
+  (description
+    "This package will allows to immediately run a callback (a finalizer)
+after its registered lisp object has been garbage collected.  This allows for
+extra resources, such as buffers and processes, to be cleaned up after the
+object has been freed.")
+  (license license:unlicense)))