summary refs log tree commit diff
path: root/gnu/packages/emacs-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r--gnu/packages/emacs-xyz.scm51
1 files changed, 23 insertions, 28 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 63cbff5ee0..3964891c7e 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -822,26 +822,22 @@ replacement.")
 (define-public emacs-haskell-mode
   (package
     (name "emacs-haskell-mode")
-    (version "16.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/haskell/haskell-mode")
-                    (commit (string-append "v" version))))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq"))
-              (patches
-               (search-patches ; backport test failure fixes
-                "haskell-mode-unused-variables.patch"
-                "haskell-mode-make-check.patch"))))
-    (inputs
-     `(("emacs-el-search" ,emacs-el-search) ; for tests
-       ("emacs-stream" ,emacs-stream)))     ; for tests
+    (version "17.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/haskell/haskell-mode")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0izcasi2v02zh08c863h43m8mmsldzy8pck43cllrfn0zf24v2qn"))))
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)))
     (native-inputs
      `(("emacs" ,emacs-minimal)
+       ("emacs-el-search" ,emacs-el-search)
+       ("emacs-stream" ,emacs-stream)
        ("texinfo" ,texinfo)))
     (build-system gnu-build-system)
     (arguments
@@ -854,8 +850,7 @@ replacement.")
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
-         (add-before
-             'build 'pre-build
+         (add-before 'build 'pre-build
            (lambda* (#:key inputs #:allow-other-keys)
              (define (el-dir store-dir)
                (match (find-files store-dir "\\.el$")
@@ -874,14 +869,17 @@ replacement.")
                                (_ ""))
                              inputs)))
                (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
-               ;; embed filename to fix test failure
-               (let ((file "tests/haskell-cabal-tests.el"))
-                 (substitute* file
-                   (("\\(buffer-file-name\\)")
-                    (format #f "(or (buffer-file-name) ~s)" file))))
                #t)))
-         (replace
-             'install
+         (add-before 'check 'delete-failing-tests
+           ;; XXX: these tests require GHC executable, which would be a big
+           ;; native input.
+           (lambda _
+             (with-directory-excursion "tests"
+               (for-each delete-file
+                         '("haskell-customize-tests.el"
+                           "inferior-haskell-tests.el")))
+             #t))
+         (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (el-dir (string-append out "/share/emacs/site-lisp"))
@@ -898,9 +896,6 @@ replacement.")
                  (install-file "haskell-mode.info" info))
                (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
                (copy-to-dir el-dir (find-files "." "\\.elc?"))
-               ;; These are part of other packages.
-               (with-directory-excursion el-dir
-                 (for-each delete-file '("dash.el" "ert.el")))
                #t))))))
     (home-page "https://github.com/haskell/haskell-mode")
     (synopsis "Haskell mode for Emacs")