guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: Add emacs-json-reformat.


From: Oleg Pykhalov
Subject: 01/01: gnu: Add emacs-json-reformat.
Date: Mon, 15 Jan 2018 06:49:01 -0500 (EST)

wigust pushed a commit to branch master
in repository guix.

commit b0912e9fdbffab15d9a754b2922778cfbd1fac2a
Author: Oleg Pykhalov <address@hidden>
Date:   Tue Dec 12 01:41:08 2017 +0300

    gnu: Add emacs-json-reformat.
    
    * gnu/packages/patches/emacs-json-reformat-fix-tests.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add this.
    * gnu/packages/emacs.scm (emacs-json-reformat): New variable.
---
 gnu/local.mk                                       |  2 +
 gnu/packages/emacs.scm                             | 49 +++++++++++++++++++++-
 .../patches/emacs-json-reformat-fix-tests.patch    | 32 ++++++++++++++
 3 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 6af8bfc..fb4babf 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -17,6 +17,7 @@
 # Copyright © 2017 Mathieu Othacehe <address@hidden>
 # Copyright © 2017 Gábor Boskovits <address@hidden>
 # Copyright © 2018 Amirouche Boubekki <address@hidden>
+# Copyright © 2018 Oleg Pykhalov <address@hidden>
 #
 # This file is part of GNU Guix.
 #
@@ -615,6 +616,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/einstein-build.patch                    \
   %D%/packages/patches/emacs-exec-path.patch                   \
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch  \
+  %D%/packages/patches/emacs-json-reformat-fix-tests.patch     \
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch   \
   %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch    \
   %D%/packages/patches/emacs-source-date-epoch.patch           \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index f83e2fb..0ae44d5 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -26,7 +26,7 @@
 ;;; Copyright © 2017 George Clemmer <address@hidden>
 ;;; Copyright © 2017 Feng Shu <address@hidden>
 ;;; Copyright © 2017 Jan Nieuwenhuizen <address@hidden>
-;;; Copyright © 2017 Oleg Pykhalov <address@hidden>
+;;; Copyright © 2017, 2018 Oleg Pykhalov <address@hidden>
 ;;; Copyright © 2017 Mekeor Melire <address@hidden>
 ;;; Copyright © 2017 Peter Mikkelsen <address@hidden>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <address@hidden>
@@ -5950,6 +5950,53 @@ pair of minor modes which suppress all mouse events by 
intercepting them and
 running a customisable handler command (@code{ignore} by default). ")
     (license license:gpl3+)))
 
+(define-public emacs-json-reformat
+  (package
+    (name "emacs-json-reformat")
+    (version "0.0.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/gongo/json-reformat/archive/";
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "11fbq4scrgr7m0iwnzcrn2g7xvqwm2gf82sa7zy1l0nil7265p28"))
+       (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
+    (build-system emacs-build-system)
+    (propagated-inputs `(("emacs-undercover" ,emacs-undercover)))
+    (inputs
+     `(("emacs-dash" ,emacs-dash)         ; for tests
+       ("emacs-shut-up" ,emacs-shut-up))) ; for tests
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'install 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (zero? (system* "emacs" "--batch" "-L" "."
+                             "-L" (string-append
+                                   (assoc-ref inputs "emacs-undercover")
+                                   "/share/emacs/site-lisp/guix.d/undercover-"
+                                   ,(package-version emacs-undercover))
+                             "-L" (string-append
+                                   (assoc-ref inputs "emacs-dash")
+                                   "/share/emacs/site-lisp/guix.d/dash-"
+                                   ,(package-version emacs-dash))
+                             "-L" (string-append
+                                   (assoc-ref inputs "emacs-shut-up")
+                                   "/share/emacs/site-lisp/guix.d/shut-up-"
+                                   ,(package-version emacs-shut-up))
+                             "-l" "test/test-helper.el"
+                             "-l" "test/json-reformat-test.el"
+                             "-f" "ert-run-tests-batch-and-exit"))
+             #t)))))
+    (home-page "https://github.com/gongo/json-reformat";)
+    (synopsis "Reformatting tool for JSON")
+    (description "@code{json-reformat} provides a reformatting tool for
address@hidden://json.org/, JSON}.")
+    (license license:gpl3+)))
+
 (define-public emacs-json-snatcher
   (package
     (name "emacs-json-snatcher")
diff --git a/gnu/packages/patches/emacs-json-reformat-fix-tests.patch 
b/gnu/packages/patches/emacs-json-reformat-fix-tests.patch
new file mode 100644
index 0000000..977e50f
--- /dev/null
+++ b/gnu/packages/patches/emacs-json-reformat-fix-tests.patch
@@ -0,0 +1,32 @@
+Copyright © 2018 Oleg Pykhalov <address@hidden>
+
+This patch fixes tests for Emacs 25.
+
+Upstream bug URL:
+
+https://github.com/gongo/json-reformat/issues/33
+
+diff --git a/test/json-reformat-test.el b/test/json-reformat-test.el
+index 7de3be1..b4a4dde 100644
+--- a/test/json-reformat-test.el
++++ b/test/json-reformat-test.el
+@@ -58,7 +58,7 @@
+ (ert-deftest json-reformat-test:string-to-string ()
+   (should (string= "\"foobar\"" (json-reformat:string-to-string "foobar")))
+   (should (string= "\"fo\\\"o\\nbar\"" (json-reformat:string-to-string 
"fo\"o\nbar")))
+-  (should (string= "\"\\u2661\"" (json-reformat:string-to-string "\u2661")))
++  (should (string= "\"♡\"" (json-reformat:string-to-string "\u2661")))
+ 
+   (should (string= "\"^(amq\\\\.gen.*|amq\\\\.default)$\"" 
(json-reformat:string-to-string "^(amq\\.gen.*|amq\\.default)$")))
+   )
+@@ -148,6 +148,6 @@ bar\"" (json-reformat:string-to-string "fo\"o\nbar")))
+ [{ foo : \"bar\" }, { \"foo\" : \"baz\" }]") ;; At 3 (line)
+         (json-reformat-region (point-min) (point-max)))
+       (should (string=
+-               "JSON parse error [Reason] Bad string format: \"doesn't start 
with '\\\"'!\" [Position] In buffer, line 3 (char 6)"
++               "JSON parse error [Reason] Bad string format: \"doesn't start 
with \`\\\"'!\" [Position] In buffer, line 3 (char 6)"
+                message-string))
+       )))
+-- 
+2.15.1
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]