gnu: haskell-mode: Fix test failure.
Fixes <https://bugs.gnu.org/31726>. Thanks to Jack Hill <jackhill@jackhill.us> for exploring different solutions at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31726>. * gnu/packages/patches/haskell-mode-unused-variables.patch, gnu/packages/patches/haskell-mode-make-check.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/emacs.scm (haskell-mode)[source]: Use them. [arguments]: Adjust 'pre-build' phase to embed file name. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
		
							parent
							
								
									b21a55a9f2
								
							
						
					
					
						commit
						2bd6ed9e4c
					
				
					 4 changed files with 91 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -791,6 +791,8 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
 | 
			
		||||
  %D%/packages/patches/gzdoom-search-in-installed-share.patch	\
 | 
			
		||||
  %D%/packages/patches/handbrake-pkg-config-path.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 		\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -646,7 +646,11 @@ only a handful of functions that are not resource-specific.")
 | 
			
		|||
                    "https://github.com/haskell/haskell-mode/archive/v"
 | 
			
		||||
                    version ".tar.gz"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32 "0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h"))))
 | 
			
		||||
               (base32 "0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h"))
 | 
			
		||||
              (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
 | 
			
		||||
| 
						 | 
				
			
			@ -686,12 +690,11 @@ only a handful of functions that are not resource-specific.")
 | 
			
		|||
                              (_ ""))
 | 
			
		||||
                            inputs)))
 | 
			
		||||
              (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
 | 
			
		||||
              (substitute* "tests/haskell-code-conventions.el"
 | 
			
		||||
                ;; Function name recently changed in "emacs-el-search".
 | 
			
		||||
                (("el-search--search-pattern") "el-search-forward")
 | 
			
		||||
                ;; Don't contact home.
 | 
			
		||||
                (("\\(when \\(>= emacs-major-version 25\\)")
 | 
			
		||||
                 "(require 'el-search) (when nil"))
 | 
			
		||||
              ;; 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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										35
									
								
								gnu/packages/patches/haskell-mode-make-check.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								gnu/packages/patches/haskell-mode-make-check.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										44
									
								
								gnu/packages/patches/haskell-mode-unused-variables.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								gnu/packages/patches/haskell-mode-unused-variables.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
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
 | 
			
		||||
 | 
			
		||||
		Reference in a new issue