summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk2
-rw-r--r--gnu/packages/emacs-xyz.scm51
-rw-r--r--gnu/packages/patches/haskell-mode-make-check.patch35
-rw-r--r--gnu/packages/patches/haskell-mode-unused-variables.patch44
4 files changed, 23 insertions, 109 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 5dc0909efd..5016d16d7a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1069,8 +1069,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
   %D%/packages/patches/gzdoom-search-in-installed-share.patch	\
   %D%/packages/patches/gzdoom-find-system-libgme.patch	\
-  %D%/packages/patches/haskell-mode-unused-variables.patch	\
-  %D%/packages/patches/haskell-mode-make-check.patch		\
   %D%/packages/patches/hdf4-architectures.patch 		\
   %D%/packages/patches/hdf4-reproducibility.patch 		\
   %D%/packages/patches/hdf4-shared-fortran.patch 		\
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")
diff --git a/gnu/packages/patches/haskell-mode-make-check.patch b/gnu/packages/patches/haskell-mode-make-check.patch
deleted file mode 100644
index a4d4d525f2..0000000000
--- a/gnu/packages/patches/haskell-mode-make-check.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Copied from upstream repository.
-Hunk #2 is removed since it cannot be applied and it is not needed.
-
-From 7cead7137bf54851c1b7df5a3854351296d21276 Mon Sep 17 00:00:00 2001
-From: Vasantha Ganesh K <vasanthaganesh.k@tuta.io>
-Date: Thu, 22 Jun 2017 23:38:40 +0530
-Subject: [PATCH] removed `check-conventions' from make
-
----
- Makefile                          |   7 +-
- tests/haskell-code-conventions.el | 165 ------------------------------
- 2 files changed, 1 insertion(+), 171 deletions(-)
- delete mode 100644 tests/haskell-code-conventions.el
-
-diff --git a/Makefile b/Makefile
-index b2c89d6..aa907c5 100644
---- a/Makefile
-+++ b/Makefile
-@@ -79,12 +79,7 @@ build-$(EMACS_VERSION)/build-flag : build-$(EMACS_VERSION) $(patsubst %.el,build
- check-%: tests/%-tests.el
- 	$(BATCH) -l "$<" -f ert-run-tests-batch-and-exit;
- 
--check: compile $(AUTOLOADS) check-ert check-conventions
--
--check-conventions :
--	$(BATCH) -l tests/haskell-code-conventions.el                                           \
--                 -f haskell-check-conventions-batch-and-exit
--	@echo "conventions are okay"
-+check: compile $(AUTOLOADS) check-ert
- 
- check-ert: $(ELCHECKS)
- 	$(BATCH) --eval "(when (= emacs-major-version 24)					\
--- 
-2.18.0
-
diff --git a/gnu/packages/patches/haskell-mode-unused-variables.patch b/gnu/packages/patches/haskell-mode-unused-variables.patch
deleted file mode 100644
index b175fae28c..0000000000
--- a/gnu/packages/patches/haskell-mode-unused-variables.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Copied verbatim from upstream repository.
-
-From cee22450ee30e79952f594796721dc6b17798ee6 Mon Sep 17 00:00:00 2001
-From: Sascha Wilde <wilde@sha-bang.de>
-Date: Fri, 23 Sep 2016 15:35:59 +0200
-Subject: [PATCH] Removed unused lexical variables.
-
----
- haskell-lexeme.el  | 3 +--
- haskell-process.el | 4 +---
- 2 files changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/haskell-lexeme.el b/haskell-lexeme.el
-index 4256a79..b832560 100644
---- a/haskell-lexeme.el
-+++ b/haskell-lexeme.el
-@@ -138,8 +138,7 @@ When match is successful, match-data will contain:
-   (match-text 2) - whole qualified identifier
-   (match-text 3) - unqualified part of identifier
-   (match-text 4) - closing backtick"
--  (let ((begin (point))
--        (match-data-old (match-data))
-+  (let ((match-data-old (match-data))
-         first-backtick-start
-         last-backtick-start
-         qid-start
-diff --git a/haskell-process.el b/haskell-process.el
-index b4efba2..4f3f859 100644
---- a/haskell-process.el
-+++ b/haskell-process.el
-@@ -160,9 +160,7 @@ HPTYPE is the result of calling `'haskell-process-type`' function."
- (defun haskell-process-log (msg)
-   "Effective append MSG to the process log (if enabled)."
-   (when haskell-process-log
--    (let* ((append-to (get-buffer-create "*haskell-process-log*"))
--           (windows (get-buffer-window-list append-to t t))
--           move-point-in-windows)
-+    (let* ((append-to (get-buffer-create "*haskell-process-log*")))
-       (with-current-buffer append-to
-         ;; point should follow insertion so that it stays at the end
-         ;; of the buffer
--- 
-2.18.0
-