* [bug#32608] [PATCH] gnu: haskell-mode: Fix test failure.
@ 2018-09-02 0:34 Alex Vong
2018-09-02 15:08 ` bug#32608: " Ludovic Courtès
0 siblings, 1 reply; 3+ messages in thread
From: Alex Vong @ 2018-09-02 0:34 UTC (permalink / raw)
To: 32608; +Cc: alexvong1995
[-- Attachment #1.1: Type: text/plain, Size: 432 bytes --]
Hello guix,
I manage to fix all test failures of haskell-mode (which FTBFS for a
long time). I use Jack's bug report
<https://github.com/haskell/haskell-mode/issues/1601> as a starting
point and continue from there. The fix consists of backporting 2 commits
from upstream and hard-coding the filename in the tests. (This is okay
since the tests will not be installed.)
Let's write some Haskell for good (`・ω・´)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-haskell-mode-Fix-test-failure.patch --]
[-- Type: text/x-diff, Size: 7365 bytes --]
From 99fefcd43adbe8effe24480e64f9fa0b461b8fe5 Mon Sep 17 00:00:00 2001
From: Alex Vong <alexvong1995@gmail.com>
Date: Sun, 2 Sep 2018 07:47:05 +0800
Subject: [PATCH] gnu: haskell-mode: Fix test failure.
Thanks to Jack Hill <jackhill@jackhill.us> for exploring differnt solutions
at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31726>.
* gnu/packages/patches/haskell-mode-Removed-unused-lexical-variables.patch,
gnu/packages/patches/haskell-mode-removed-check-conventions-from-make.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 filename.
---
gnu/local.mk | 2 +
gnu/packages/emacs.scm | 17 ++++---
...ode-Removed-unused-lexical-variables.patch | 44 +++++++++++++++++++
...-removed-check-conventions-from-make.patch | 35 +++++++++++++++
4 files changed, 91 insertions(+), 7 deletions(-)
create mode 100644 gnu/packages/patches/haskell-mode-Removed-unused-lexical-variables.patch
create mode 100644 gnu/packages/patches/haskell-mode-removed-check-conventions-from-make.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 91de38c5a..7bb88f151 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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-Removed-unused-lexical-variables.patch \
+ %D%/packages/patches/haskell-mode-removed-check-conventions-from-make.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.scm b/gnu/packages/emacs.scm
index a1ce64ffa..b6121961d 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -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-Removed-unused-lexical-variables.patch"
+ "haskell-mode-removed-check-conventions-from-make.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
diff --git a/gnu/packages/patches/haskell-mode-Removed-unused-lexical-variables.patch b/gnu/packages/patches/haskell-mode-Removed-unused-lexical-variables.patch
new file mode 100644
index 000000000..b175fae28
--- /dev/null
+++ b/gnu/packages/patches/haskell-mode-Removed-unused-lexical-variables.patch
@@ -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
+
diff --git a/gnu/packages/patches/haskell-mode-removed-check-conventions-from-make.patch b/gnu/packages/patches/haskell-mode-removed-check-conventions-from-make.patch
new file mode 100644
index 000000000..a4d4d525f
--- /dev/null
+++ b/gnu/packages/patches/haskell-mode-removed-check-conventions-from-make.patch
@@ -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
+
--
2.18.0
[-- Attachment #1.3: Type: text/plain, Size: 14 bytes --]
Cheers,
Alex
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#31726: [bug#32608] [PATCH] gnu: haskell-mode: Fix test failure.
2018-09-02 0:34 [bug#32608] [PATCH] gnu: haskell-mode: Fix test failure Alex Vong
@ 2018-09-02 15:08 ` Ludovic Courtès
0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2018-09-02 15:08 UTC (permalink / raw)
To: Alex Vong; +Cc: 32608-done, 31726-done
Hi Alex,
Alex Vong <alexvong1995@gmail.com> skribis:
> I manage to fix all test failures of haskell-mode (which FTBFS for a
> long time). I use Jack's bug report
> <https://github.com/haskell/haskell-mode/issues/1601> as a starting
> point and continue from there. The fix consists of backporting 2 commits
> from upstream and hard-coding the filename in the tests. (This is okay
> since the tests will not be installed.)
Awesome.
> Let's write some Haskell for good (`・ω・´)
:-)
> From 99fefcd43adbe8effe24480e64f9fa0b461b8fe5 Mon Sep 17 00:00:00 2001
> From: Alex Vong <alexvong1995@gmail.com>
> Date: Sun, 2 Sep 2018 07:47:05 +0800
> Subject: [PATCH] gnu: haskell-mode: Fix test failure.
>
> Thanks to Jack Hill <jackhill@jackhill.us> for exploring differnt solutions
> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31726>.
>
> * gnu/packages/patches/haskell-mode-Removed-unused-lexical-variables.patch,
> gnu/packages/patches/haskell-mode-removed-check-conventions-from-make.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 filename.
I’ve shorted the patch file names as suggested by ‘guix lint’, added a
“Fixes” line in the commit log, and applied.
Thanks to both of you!
Ludo’.
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#32608: [PATCH] gnu: haskell-mode: Fix test failure.
@ 2018-09-02 15:08 ` Ludovic Courtès
0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2018-09-02 15:08 UTC (permalink / raw)
To: Alex Vong; +Cc: 32608-done, 31726-done
Hi Alex,
Alex Vong <alexvong1995@gmail.com> skribis:
> I manage to fix all test failures of haskell-mode (which FTBFS for a
> long time). I use Jack's bug report
> <https://github.com/haskell/haskell-mode/issues/1601> as a starting
> point and continue from there. The fix consists of backporting 2 commits
> from upstream and hard-coding the filename in the tests. (This is okay
> since the tests will not be installed.)
Awesome.
> Let's write some Haskell for good (`・ω・´)
:-)
> From 99fefcd43adbe8effe24480e64f9fa0b461b8fe5 Mon Sep 17 00:00:00 2001
> From: Alex Vong <alexvong1995@gmail.com>
> Date: Sun, 2 Sep 2018 07:47:05 +0800
> Subject: [PATCH] gnu: haskell-mode: Fix test failure.
>
> Thanks to Jack Hill <jackhill@jackhill.us> for exploring differnt solutions
> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31726>.
>
> * gnu/packages/patches/haskell-mode-Removed-unused-lexical-variables.patch,
> gnu/packages/patches/haskell-mode-removed-check-conventions-from-make.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 filename.
I’ve shorted the patch file names as suggested by ‘guix lint’, added a
“Fixes” line in the commit log, and applied.
Thanks to both of you!
Ludo’.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-09-02 15:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-02 0:34 [bug#32608] [PATCH] gnu: haskell-mode: Fix test failure Alex Vong
2018-09-02 15:08 ` bug#31726: " Ludovic Courtès
2018-09-02 15:08 ` bug#32608: " Ludovic Courtès
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.