emacs-haskell-mode build fails

  • Done
  • quality assurance status badge
Details
4 participants
  • Taiju HIGASHI
  • Liliana Marie Prikler
  • Liliana Marie Prikler
  • Luis Henrique Gomes Higino
Owner
unassigned
Submitted by
Taiju HIGASHI
Severity
normal

Debbugs page

Taiju HIGASHI wrote 3 years ago
(address . bug-guix@gnu.org)
87o7zvtf8z.fsf@taiju.info
Hi,

emacs-haskell-mode build fails.

The build log containing the error is below:

WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete'
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-28.1/bin:/gnu/store/22n2s0vfvqg9v0as9h7fpdn1i9dmryvi-texinfo-6.7/bin:/gnu/store/g2ajyl8xk9aarxrgjbng2hkj3qm2v0z2-tar-1.34/bin:/gnu/store/iixwcv3k49ks1rf34pjgfzmzyhhgwng3-gzip-1.10/bin:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/bin:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/bin:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/bin:/gnu/store/ahmmvw21p11ik80lg1f953y7fd8bqkjm-diffutils-3.8/bin:/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-patch-2.7.6/bin:/gnu/store/39rsx3nl4c31952jybbjb8d6idr5hx7r-findutils-4.8.0/bin:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/bin:/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/bin:/gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6/bin:/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/bin:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/bin:/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin:/gnu/store/s2pg5k98fl2g2szg9dykxyd9zl3xihv9-ld-wrapper-0/bin:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/bin:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/bin:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/bin:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/sbin'
environment variable `EMACSLOADPATH' set to `/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-28.1/share/emacs/site-lisp:/gnu/store/0xfqw4mgn12l7dlz4qn7jaz06wr16n24-emacs-el-search-1.12.6.1-2.07bed84/share/emacs/site-lisp:/gnu/store/g9d8ijrgmsnhmsrqr7gbs5lf86pangif-emacs-stream-2.2.5/share/emacs/site-lisp:/gnu/store/v8faj6q8qx6zmb6cg63zfgpzryflkdw4-emacs-dash-2.19.1/share/emacs/site-lisp'
environment variable `INFOPATH' set to `/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-28.1/share/info:/gnu/store/22n2s0vfvqg9v0as9h7fpdn1i9dmryvi-texinfo-6.7/share/info:/gnu/store/g2ajyl8xk9aarxrgjbng2hkj3qm2v0z2-tar-1.34/share/info:/gnu/store/iixwcv3k49ks1rf34pjgfzmzyhhgwng3-gzip-1.10/share/info:/gnu/store/ahmmvw21p11ik80lg1f953y7fd8bqkjm-diffutils-3.8/share/info:/gnu/store/39rsx3nl4c31952jybbjb8d6idr5hx7r-findutils-4.8.0/share/info:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/share/info:/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/share/info:/gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6/share/info:/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/share/info:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/share/info:/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/share/info:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/share/info:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/share/info:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/share/info'
environment variable `BASH_LOADABLES_PATH' unset
environment variable `C_INCLUDE_PATH' set to `/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-28.1/include:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/include:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/include:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/include:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/include:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/include:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/include:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/include'
environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-28.1/include:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/include:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/include:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/include:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/include:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/include:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/include:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include/c++:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-28.1/lib:/gnu/store/22n2s0vfvqg9v0as9h7fpdn1i9dmryvi-texinfo-6.7/lib:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/lib:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/lib:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/lib:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/lib:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/lib:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib:/gnu/store/4jdghmc65q7i7ib89zmvq66l0ghf7jc4-glibc-2.33-static/lib:/gnu/store/fnr1z6xsan0437r0yg48d0y8k32kqxby-glibc-utf8-locales-2.33/lib'
environment variable `GUIX_LOCPATH' set to `/gnu/store/fnr1z6xsan0437r0yg48d0y8k32kqxby-glibc-utf8-locales-2.33/lib/locale'
phase `set-paths' succeeded after 0.0 seconds
starting phase `install-locale'
using 'en_US.utf8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-doc.el' -> `./haskell-doc.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/highlight-uses-mode.el' -> `./highlight-uses-mode.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-customize.el' -> `./haskell-customize.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/.dir-locals.el' -> `./.dir-locals.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-interactive-mode.el' -> `./haskell-interactive-mode.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-mode.el' -> `./haskell-mode.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/NEWS' -> `./NEWS'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-font-lock.el' -> `./haskell-font-lock.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-unicode-input-method.el' -> `./haskell-unicode-input-method.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-commands.el' -> `./haskell-commands.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-ghc-support.el' -> `./haskell-ghc-support.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-hoogle.el' -> `./haskell-hoogle.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-load.el' -> `./haskell-load.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-session.el' -> `./haskell-session.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/README.md' -> `./README.md'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-utils.el' -> `./haskell-utils.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-move-nested.el' -> `./haskell-move-nested.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/logo.svg' -> `./logo.svg'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-process.el' -> `./haskell-process.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-complete-module.el' -> `./haskell-complete-module.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/CONTRIBUTING.md' -> `./CONTRIBUTING.md'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-modules.el' -> `./haskell-modules.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-navigate-imports.el' -> `./haskell-navigate-imports.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-presentation-mode.el' -> `./haskell-presentation-mode.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-indent.el' -> `./haskell-indent.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-indentation.el' -> `./haskell-indentation.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/Makefile' -> `./Makefile'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/inf-haskell.el' -> `./inf-haskell.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-mode-pkg.el' -> `./haskell-mode-pkg.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-lexeme.el' -> `./haskell-lexeme.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-sandbox.el' -> `./haskell-sandbox.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell.el' -> `./haskell.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-debug.el' -> `./haskell-debug.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-decl-scan.el' -> `./haskell-decl-scan.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/COPYING' -> `./COPYING'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/ghc-core.el' -> `./ghc-core.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/.gitignore' -> `./.gitignore'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/ghci-script-mode.el' -> `./ghci-script-mode.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-c2hs.el' -> `./haskell-c2hs.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-repl.el' -> `./haskell-repl.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-menu.el' -> `./haskell-menu.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-completions.el' -> `./haskell-completions.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-align-imports.el' -> `./haskell-align-imports.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-cabal.el' -> `./haskell-cabal.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/w3m-haddock.el' -> `./w3m-haddock.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-collapse.el' -> `./haskell-collapse.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-sort-imports.el' -> `./haskell-sort-imports.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-svg.el' -> `./haskell-svg.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-compile.el' -> `./haskell-compile.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/.travis.yml' -> `./.travis.yml'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/haskell-string.el' -> `./haskell-string.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/haskell-mode.css' -> `./doc/haskell-mode.css'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/haskell-mode.texi' -> `./doc/haskell-mode.texi'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/haskell-mode-travis-deploy-key' -> `./doc/haskell-mode-travis-deploy-key'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/haskell-manual-fixups.el' -> `./doc/haskell-manual-fixups.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/deploy-manual.sh' -> `./doc/deploy-manual.sh'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/gifcasts/haskell-gifcasts.el' -> `./doc/gifcasts/haskell-gifcasts.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/gifcasts/get-window-id.m' -> `./doc/gifcasts/get-window-id.m'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/anim/company-mode-language-pragma.gif' -> `./doc/anim/company-mode-language-pragma.gif'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/anim/font-lock-types.gif' -> `./doc/anim/font-lock-types.gif'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/anim/flyspell-prog-mode.gif' -> `./doc/anim/flyspell-prog-mode.gif'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/anim/string-escape-highlight.gif' -> `./doc/anim/string-escape-highlight.gif'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/anim/company-mode-import-statement.gif' -> `./doc/anim/company-mode-import-statement.gif'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/anim/font-lock.gif' -> `./doc/anim/font-lock.gif'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/doc/anim/font-lock-quasi-quotes.gif' -> `./doc/anim/font-lock-quasi-quotes.gif'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-sort-imports-tests.el' -> `./tests/haskell-sort-imports-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-cabal-tests.el' -> `./tests/haskell-cabal-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-load-tests.el' -> `./tests/haskell-load-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-utils-tests.el' -> `./tests/haskell-utils-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-test-utils-tests.el' -> `./tests/haskell-test-utils-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-font-lock-tests.el' -> `./tests/haskell-font-lock-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-indentation-tests.el' -> `./tests/haskell-indentation-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-collapse-tests.el' -> `./tests/haskell-collapse-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-decl-scan-tests.el' -> `./tests/haskell-decl-scan-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-exec-tests.el' -> `./tests/haskell-exec-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-c2hs-tests.el' -> `./tests/haskell-c2hs-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-doc-tests.el' -> `./tests/haskell-doc-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-lexeme-tests.el' -> `./tests/haskell-lexeme-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-customize-tests.el' -> `./tests/haskell-customize-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-process-tests.el' -> `./tests/haskell-process-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/inferior-haskell-tests.el' -> `./tests/inferior-haskell-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-test-utils.el' -> `./tests/haskell-test-utils.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-indent-tests.el' -> `./tests/haskell-indent-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/interactive-haskell-mode-tests.el' -> `./tests/interactive-haskell-mode-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-completions-tests.el' -> `./tests/haskell-completions-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-mode-tests.el' -> `./tests/haskell-mode-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/haskell-string-tests.el' -> `./tests/haskell-string-tests.el'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/tests/test-data/Test.cabal' -> `./tests/test-data/Test.cabal'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/.github/workflows/test.yml' -> `./.github/workflows/test.yml'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/images/haskell-mode-512x512.png' -> `./images/haskell-mode-512x512.png'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/images/haskell-mode-64x64.png' -> `./images/haskell-mode-64x64.png'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/images/haskell-mode.svg' -> `./images/haskell-mode.svg'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/images/star-history-700.png' -> `./images/star-history-700.png'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/images/haskell-mode-32x32.png' -> `./images/haskell-mode-32x32.png'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/images/haskell-mode-256x256.png' -> `./images/haskell-mode-256x256.png'
`/gnu/store/qr6m7myi038pfmqk7zr28kg6dk4d4ib2-emacs-haskell-mode-17.2-checkout/images/haskell-mode-128x128.png' -> `./images/haskell-mode-128x128.png'
phase `unpack' succeeded after 0.0 seconds
starting phase `bootstrap'
no 'configure.ac' or anything like that, doing nothing
phase `bootstrap' succeeded after 0.0 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
patch-shebang: ./doc/deploy-manual.sh: changing `/bin/bash' to `/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `pre-build'
phase `pre-build' succeeded after 0.1 seconds
starting phase `build'
mkdir build-28.1
EMACS check-emacs-version
EMACS build-28.1/ghc-core.elc
EMACS build-28.1/ghci-script-mode.elc
EMACS build-28.1/haskell-align-imports.elc
EMACS build-28.1/haskell-collapse.elc
EMACS build-28.1/haskell-c2hs.elc
EMACS build-28.1/haskell-cabal.elc
EMACS build-28.1/haskell-commands.elc
EMACS build-28.1/haskell-compile.elc
EMACS build-28.1/haskell-complete-module.elc
EMACS build-28.1/haskell-debug.elc
EMACS build-28.1/haskell-customize.elc
EMACS build-28.1/haskell-decl-scan.elc
EMACS build-28.1/haskell-doc.elc
EMACS build-28.1/haskell.elc
EMACS build-28.1/haskell-completions.elc
Using EMACS = /gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-28.1/bin/emacs, version = 28.1
EMACS build-28.1/haskell-font-lock.elc

In toplevel form:
haskell-customize.el:173:1: Error: custom-declare-variable `haskell-process-do-cabal-format-strin
This message was truncated. Download the full message here.
Liliana Marie Prikler wrote 3 years ago
3702c0bc09e426e93f6fd4842dfe121f146e77e0.camel@ist.tugraz.at
Hi Taiju,

Am Mittwoch, dem 18.05.2022 um 17:30 +0900 schrieb Taiju HIGASHI:
Toggle quote (31 lines)
> Hi,
>
> emacs-haskell-mode build fails.
>
> [...]
> In toplevel form:
> haskell-customize.el:173:1: Error: custom-declare-variable `haskell-
> process-do-cabal-format-string' docstring wider than 80 characters
> make: *** [Makefile:80: build-28.1/haskell-customize.elc] Error 1
> make: *** Waiting for unfinished jobs....
>
> In toplevel form:
> haskell-cabal.el:363:8: Error:  docstring wider than 80 characters
> make: *** [Makefile:80: build-28.1/haskell-cabal.elc] Error 1
>
> In toplevel form:
> haskell-compile.el:42:1: Error: custom-declare-variable `haskell-
> compile-cabal-build-command' docstring wider than 80 characters
> make: *** [Makefile:80: build-28.1/haskell-compile.elc] Error 1
>
> In toplevel form:
> haskell.el:448:8: Error:  docstring wider than 80 characters
> make: *** [Makefile:80: build-28.1/haskell.elc] Error 1
> error: in phase 'build': uncaught exception:
> %exception #<&invoke-error program: "make" arguments: ("-j" "16"
> "EMACS=/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-
> 28.1/bin/emacs") exit-status: 2 term-signal: #f stop-signal: #f>
> phase `build' failed after 0.4 seconds
> command "make" "-j" "16"
> "EMACS=/gnu/store/ad4gg34q1dnkvdblrl2f1svcv84bvbgs-emacs-minimal-
> 28.1/bin/emacs" failed with status 2
We already have a few packages that disable the byte-compilation-
warnings to errors conversion due to this docstring thing. Note that a
better alternative to this would be setting byte-compile-warnings to
(not docstrings).

Toggle quote (5 lines)
> I believe the problem will be resolved when the following pull
> request I submitted is merged and the next version is released.
> https://github.com/haskell/haskell-mode/pull/1780
>
> I will submit a patch once the release is complete.
Is a release imminent? If not, you could apply your patch to the Guix
package first. Given that you've already made a pull request upstream
there should be little in the way of pushing it here other than normal
review work :)

Cheers
Taiju HIGASHI wrote 3 years ago
[PATCH] gnu: emacs-haskell-mode: Fix build.
(address . 55495@debbugs.gnu.org)(name . Taiju HIGASHI)(address . higashi@taiju.info)
20220518143129.10357-1-higashi@taiju.info
* gnu/packages/emacs-xyz.scm (emacs-haskell-mode): Fix build.
---
gnu/packages/emacs-xyz.scm | 9 +-
.../emacs-haskell-mode-fix-tests.patch | 282 ++++++++++++++++++
2 files changed, 289 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/emacs-haskell-mode-fix-tests.patch

Toggle diff (313 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 529e9329d6..9d9669f383 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1553,11 +1553,16 @@ (define-public emacs-haskell-mode
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
+ (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))
+ ;; Submitted for inclusion upstream.
+ ;; Not identical patches due to different target versions.
+ ;; (see: https://github.com/haskell/haskell-mode/pull/1780)
+ (patches
+ (search-patches "emacs-haskell-mode-fix-tests.patch"))))
(propagated-inputs
(list emacs-dash))
(native-inputs
- (list emacs-minimal emacs-el-search emacs-stream texinfo))
+ (list emacs-minimal emacs-el-search emacs-stream texinfo git))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/patches/emacs-haskell-mode-fix-tests.patch b/gnu/packages/patches/emacs-haskell-mode-fix-tests.patch
new file mode 100644
index 0000000000..9e47a5a46f
--- /dev/null
+++ b/gnu/packages/patches/emacs-haskell-mode-fix-tests.patch
@@ -0,0 +1,282 @@
+diff --git a/haskell-cabal.el b/haskell-cabal.el
+index a2de2ea..dd08ab6 100644
+--- a/haskell-cabal.el
++++ b/haskell-cabal.el
+@@ -361,7 +361,8 @@ OTHER-WINDOW use `find-file-other-window'."
+ (defconst haskell-cabal-conditional-regexp "^[ \t]*\\(\\if\\|else\\|}\\)")
+
+ (defun haskell-cabal-classify-line ()
+- "Classify the current line into 'section-header 'subsection-header 'section-data 'comment and 'empty '"
++ "Classify the current line into 'section-header 'subsection-header
++'section-data 'comment and 'empty '"
+ (save-excursion
+ (beginning-of-line)
+ (cond
+@@ -494,7 +495,8 @@ OTHER-WINDOW use `find-file-other-window'."
+ ((equal component-type "benchmark") "bench"))))
+
+ (defun haskell-cabal-enum-targets (&optional process-type)
+- "Enumerate .cabal targets. PROCESS-TYPE determines the format of the returned target."
++ "Enumerate .cabal targets. PROCESS-TYPE determines the format of the
++returned target."
+ (let ((cabal-file (haskell-cabal-find-file))
+ (process-type (if process-type process-type 'ghci)))
+ (when (and cabal-file (file-readable-p cabal-file))
+@@ -926,7 +928,9 @@ resulting buffer-content. Unmark line at the end."
+ (defun haskell-cabal-line-filename ()
+ "Expand filename in current line according to the subsection type
+
+-Module names in exposed-modules and other-modules are expanded by replacing each dot (.) in the module name with a forward slash (/) and appending \".hs\"
++Module names in exposed-modules and other-modules are expanded by
++replacing each dot (.) in the module name with a forward slash (/) and
++appending \".hs\"
+
+ Example: Foo.Bar.Quux ==> Foo/Bar/Quux.hs
+
+diff --git a/haskell-compile.el b/haskell-compile.el
+index 667102c..6a8e3cd 100644
+--- a/haskell-compile.el
++++ b/haskell-compile.el
+@@ -41,35 +41,40 @@
+
+ (defcustom haskell-compile-cabal-build-command
+ "cabal build --ghc-option=-ferror-spans"
+- "Default build command to use for `haskell-cabal-build' when a cabal file is detected.
++ "Default build command to use for `haskell-cabal-build' when a cabal
++file is detected.
+ For legacy compat, `%s' is replaced by the cabal package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-cabal-build-alt-command
+ "cabal clean -s && cabal build --ghc-option=-ferror-spans"
+- "Alternative build command to use when `haskell-cabal-build' is called with a negative prefix argument.
++ "Alternative build command to use when `haskell-cabal-build' is
++called with a negative prefix argument.
+ For legacy compat, `%s' is replaced by the cabal package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-stack-build-command
+ "stack build --fast"
+- "Default build command to use for `haskell-stack-build' when a stack file is detected.
++ "Default build command to use for `haskell-stack-build' when a stack
++file is detected.x
+ For legacy compat, `%s' is replaced by the stack package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-stack-build-alt-command
+ "stack clean && stack build --fast"
+- "Alternative build command to use when `haskell-stack-build' is called with a negative prefix argument.
++ "Alternative build command to use when `haskell-stack-build' is
++called with a negative prefix argument.
+ For legacy compat, `%s' is replaced by the stack package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-command
+ "ghc -Wall -ferror-spans -fforce-recomp -c %s"
+- "Default build command to use for `haskell-cabal-build' when no cabal or stack file is detected.
++ "Default build command to use for `haskell-cabal-build' when no
++cabal or stack file is detected.
+ The `%s' placeholder is replaced by the current buffer's filename."
+ :group 'haskell-compile
+ :type 'string)
+@@ -82,9 +87,9 @@ The `%s' placeholder is replaced by the current buffer's filename."
+
+ (defcustom haskell-compiler-type
+ 'auto
+- "Controls whether to use cabal, stack, or ghc to compile.
+- Auto (the default) means infer from the presence of a cabal or stack spec file,
+- following same rules as haskell-process-type."
++ "Controls whether to use cabal, stack, or ghc to compile. Auto (the
++ default) means infer from the presence of a cabal or stack spec
++ file, following same rules as haskell-process-type."
+ :type '(choice (const auto) (const ghc) (const stack) (const cabal))
+ :group 'haskell-compile)
+ (make-variable-buffer-local 'haskell-compiler-type)
+@@ -170,7 +175,7 @@ base directory for build tools, or the current buffer for
+ (interactive "P")
+ (save-some-buffers (not compilation-ask-about-save)
+ compilation-save-buffers-predicate)
+- (let (htype dir)
++ (let (htype dir)
+ ;;test haskell-compiler-type to set htype and dir
+ (cond
+ ((eq haskell-compiler-type 'cabal)
+diff --git a/haskell-customize.el b/haskell-customize.el
+index c316de2..235a3c4 100644
+--- a/haskell-customize.el
++++ b/haskell-customize.el
+@@ -172,7 +172,8 @@ pass additional flags to `ghc'."
+
+ (defcustom haskell-process-do-cabal-format-string
+ ":!cd %s && %s"
+- "The way to run cabal comands. It takes two arguments -- the directory and the command.
++ "The way to run cabal comands. It takes two arguments -- the
++directory and the command.
+ See `haskell-process-do-cabal' for more details."
+ :group 'haskell-interactive
+ :type 'string)
+@@ -241,7 +242,8 @@ is a member of the hidden package, blah blah."
+
+ (defcustom haskell-process-suggest-overloaded-strings
+ t
+- "Suggest adding OverloadedStrings pragma to file when getting type mismatches with [Char]."
++ "Suggest adding OverloadedStrings pragma to file when getting type
++mismatches with [Char]."
+ :type 'boolean
+ :group 'haskell-interactive)
+
+@@ -409,9 +411,9 @@ imports."
+ presence of a *.cabal file or stack.yaml file or something similar.")
+
+ (defun haskell-build-type ()
+- "Looks for cabal and stack spec files.
+- When found, returns a pair (TAG . DIR)
+- where TAG is 'cabal-project, 'cabal-sandbox. 'cabal, or 'stack;
++ "Looks for cabal and stack spec files.
++ When found, returns a pair (TAG . DIR)
++ where TAG is 'cabal-project, 'cabal-sandbox. 'cabal, or 'stack;
+ and DIR is the directory containing cabal or stack file.
+ When none found, DIR is nil, and TAG is 'ghc"
+ ;; REVIEW maybe just 'cabal is enough.
+diff --git a/haskell-indent.el b/haskell-indent.el
+index afa5585..83eb1de 100644
+--- a/haskell-indent.el
++++ b/haskell-indent.el
+@@ -435,7 +435,8 @@ Returns the location of the start of the comment, nil otherwise."
+ (haskell-indent-skip-blanks-and-newlines-forward end))))
+
+ (defun haskell-indent-next-symbol-safe (end)
+- "Puts point to the next following symbol, or to end if there are no more symbols in the sexp."
++ "Puts point to the next following symbol, or to end if there are no
++more symbols in the sexp."
+ (condition-case _errlist (haskell-indent-next-symbol end)
+ (error (goto-char end))))
+
+diff --git a/haskell-interactive-mode.el b/haskell-interactive-mode.el
+index f4fb325..ae5fcd3 100644
+--- a/haskell-interactive-mode.el
++++ b/haskell-interactive-mode.el
+@@ -48,7 +48,7 @@
+ "Mark used for the old beginning of the prompt.")
+
+ (defun haskell-interactive-prompt-regex ()
+- "Generate a regex for searching for any occurrence of the prompt\
++ "Generate a regex for searching for any occurrence of the prompt
+ at the beginning of the line. This should prevent any
+ interference with prompts that look like haskell expressions."
+ (concat "^" (regexp-quote haskell-interactive-prompt)))
+diff --git a/haskell-lexeme.el b/haskell-lexeme.el
+index 622f53f..198c994 100644
+--- a/haskell-lexeme.el
++++ b/haskell-lexeme.el
+@@ -452,8 +452,10 @@ Possible results are:
+ - 'string: for strings literals
+ - 'char: for char literals
+ - 'number: for decimal, float, hexadecimal and octal number literals
+-- 'template-haskell-quote: for a string of apostrophes for template haskell
+-- 'template-haskell-quasi-quote: for a string of apostrophes for template haskell
++- 'template-haskell-quote: for a string of apostrophes for template
++ haskell
++- 'template-haskell-quasi-quote: for a string of apostrophes for
++ template haskell
+
+ Note that for qualified symbols (match-string 1) returns the
+ unqualified identifier or symbol. Further qualification for
+diff --git a/haskell-mode.el b/haskell-mode.el
+index c20e66a..0cedf14 100644
+--- a/haskell-mode.el
++++ b/haskell-mode.el
+@@ -1142,7 +1142,8 @@ successful, nil otherwise."
+ "2015-11-11")
+
+ (defun haskell-mode-toggle-scc-at-point ()
+- "If point is in an SCC annotation, kill the annotation. Otherwise, try to insert a new annotation."
++ "If point is in an SCC annotation, kill the annotation.
++Otherwise, try to insert a new annotation."
+ (interactive)
+ (if (not (haskell-mode-try-kill-scc-at-point))
+ (if (not (haskell-mode-try-insert-scc-at-point))
+@@ -1181,7 +1182,8 @@ Uses `haskell-guess-module-name-from-file-name'."
+
+ (defvar haskell-auto-insert-module-format-string
+ "-- | \n\nmodule %s where\n\n"
+- "Template string that will be inserted in new haskell buffers via `haskell-auto-insert-module-template'.")
++ "Template string that will be inserted in new haskell buffers via
++`haskell-auto-insert-module-template'.")
+
+ (defun haskell-auto-insert-module-template ()
+ "Insert a module template for the newly created buffer."
+diff --git a/haskell-move-nested.el b/haskell-move-nested.el
+index c4a7bd5..1339043 100644
+--- a/haskell-move-nested.el
++++ b/haskell-move-nested.el
+@@ -34,7 +34,8 @@
+
+ ;;;###autoload
+ (defun haskell-move-nested (cols)
+- "Shift the nested off-side-rule block adjacent to point by COLS columns to the right.
++ "Shift the nested off-side-rule block adjacent to point by COLS
++columns to the right.
+
+ In Transient Mark mode, if the mark is active, operate on the contents
+ of the region instead.
+diff --git a/haskell-process.el b/haskell-process.el
+index 2ca131f..f1f5303 100644
+--- a/haskell-process.el
++++ b/haskell-process.el
+@@ -205,7 +205,8 @@ HPTYPE is the result of calling `'haskell-process-type`' function."
+ t))
+
+ (defun haskell-process-send-string (process string)
+- "Try to send a string to the process's process. Ask to restart if it's not running."
++ "Try to send a string to the process's process. Ask to restart if
++it's not running."
+ (let ((child (haskell-process-process process)))
+ (if (equal 'run (process-status child))
+ (let ((out (concat string "\n")))
+diff --git a/haskell.el b/haskell.el
+index a679b62..66e5f7e 100644
+--- a/haskell.el
++++ b/haskell.el
+@@ -446,7 +446,7 @@ Give optional NEXT-P parameter to override value of
+ (list "build --ghc-options=-fforce-recomp"))))))
+
+ (defun haskell-process-file-loadish (command reload-p module-buffer)
+- "Run a loading-ish COMMAND that wants to pick up type errors\
++ "Run a loading-ish COMMAND that wants to pick up type errors
+ and things like that. RELOAD-P indicates whether the notification
+ should say 'reloaded' or 'loaded'. MODULE-BUFFER may be used
+ for various things, but is optional."
+diff --git a/inf-haskell.el b/inf-haskell.el
+index e62b6ed..1bda90e 100644
+--- a/inf-haskell.el
++++ b/inf-haskell.el
+@@ -74,7 +74,8 @@ directory structure."
+
+ (defvar inferior-haskell-multiline-prompt-re
+ "^\\*?[[:upper:]][\\._[:alnum:]]*\\(?: \\*?[[:upper:]][\\._[:alnum:]]*\\)*| "
+- "Regular expression for matching multiline prompt (the one inside :{ ... :} blocks).")
++ "Regular expression for matching multiline prompt (the one inside
++:{ ... :} blocks).")
+
+ (defconst inferior-haskell-error-regexp-alist
+ `(;; Format of error messages used by GHCi.
+diff --git a/w3m-haddock.el b/w3m-haddock.el
+index 141cbf4..4ef6a88 100644
+--- a/w3m-haddock.el
++++ b/w3m-haddock.el
+@@ -49,7 +49,9 @@ directories of package-name-x.x.
+ You can rebind this if you're using hsenv by adding it to your
+ .dir-locals.el in your project root. E.g.
+
+- ((haskell-mode . ((haskell-w3m-haddock-dirs . (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
++ ((haskell-mode .
++ ((haskell-w3m-haddock-dirs .
++ (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
+
+ "
+ :group 'haskell
--
2.36.0
Taiju HIGASHI wrote 3 years ago
Re: emacs-haskell-mode build fails
87fsl6ucqj.fsf@taiju.info
Toggle quote (5 lines)
> Is a release imminent? If not, you could apply your patch to the Guix
> package first. Given that you've already made a pull request upstream
> there should be little in the way of pushing it here other than normal
> review work :)

It is unknown when patches submitted to upstream will be incorporated.
Therefore, I have decided to submit a patch to Guix as well.

I couldn't figure out why it wasn't a problem in the previous version,
but there was a test that would fail without the addition of git.

The error that occurs when git is not added to input is as follows:

Test haskell-generate-tags backtrace:
call-process("git" nil (t nil) nil "--no-pager" "ls-files" "-c" "-z"
apply(call-process "git" nil (t nil) nil ("--no-pager" "ls-files" "-
process-file("git" nil (t nil) nil "--no-pager" "ls-files" "-c" "-z"
apply(process-file "git" nil (t nil) nil "--no-pager" "ls-files" ("-
vc-git--call((t nil) "ls-files" "-c" "-z" "--" ".git/Tx.hs")
apply(vc-git--call (t nil) "ls-files" ("-c" "-z" "--" ".git/Tx.hs"))
vc-git--out-ok("ls-files" "-c" "-z" "--" ".git/Tx.hs")
vc-git-registered("/tmp/guix-build-emacs-haskell-mode-17.2.drv-0/sou
(progn (load "vc-git" nil t) (vc-git-registered file))
(if (vc-find-root file ".git") (progn (load "vc-git" nil t) (vc-git-
vc-git-registered("/tmp/guix-build-emacs-haskell-mode-17.2.drv-0/sou
apply(vc-git-registered "/tmp/guix-build-emacs-haskell-mode-17.2.drv
vc-call-backend(Git registered "/tmp/guix-build-emacs-haskell-mode-1
#f(compiled-function (b) #<bytecode 0x13d391d5f1cff585>)(Git)
mapc(#f(compiled-function (b) #<bytecode 0x13d391d5f1cff585>) (RCS C
vc-registered("/tmp/guix-build-emacs-haskell-mode-17.2.drv-0/sour...
vc-backend("/tmp/guix-build-emacs-haskell-mode-17.2.drv-0/sour...")
vc-refresh-state()
run-hooks(find-file-hook)
after-find-file(t t)
find-file-noselect-1(#<buffer Tx.hs> "/tmp/guix-build-emacs-haskell-
find-file-noselect("Tx.hs")
(set-buffer (find-file-noselect (car entry)))
(save-current-buffer (set-buffer (find-file-noselect (car entry))) (
(cond ((stringp (cdr entry)) (save-current-buffer (set-buffer (find-
(let ((entry (car --dolist-tail--))) (cond ((stringp (cdr entry)) (s
(while --dolist-tail-- (let ((entry (car --dolist-tail--))) (cond ((
(let ((--dolist-tail-- entries)) (while --dolist-tail-- (let ((entry
create-directory-structure((("Tx.hs" . "should_not_see_me :: Int")))
(let ((default-directory (file-name-as-directory (concat default-dir
(cond ((stringp (cdr entry)) (save-current-buffer (set-buffer (find-
(let ((entry (car --dolist-tail--))) (cond ((stringp (cdr entry)) (s
(while --dolist-tail-- (let ((entry (car --dolist-tail--))) (cond ((
(let ((--dolist-tail-- entries)) (while --dolist-tail-- (let ((entry
create-directory-structure((("xxx.cabal" . "") ("T1.hs" . "i1 :: Int
(let ((default-directory (file-name-as-directory (concat default-dir
(unwind-protect (let ((default-directory (file-name-as-directory (co
(let ((tmpdir (make-temp-name "haskell-mode-test-dir"))) (make-direc
(let ((lexical-binding t)) (let ((tmpdir (make-temp-name "haskell-mo
(closure (t) nil (let ((lexical-binding t)) (let ((tmpdir (make-temp
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name haskell-generate-tags :documentation
ert-run-or-rerun-test(#s(ert--stats :selector t :tests ... :test-map
ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("--eval" "(when (boundp 'load-prefer-newer) (setq lo
command-line()
normal-top-level()
Test haskell-generate-tags condition:
(file-missing "Searching for program" "No such file or directory" "git")
FAILED 100/435 haskell-generate-tags (0.027103 sec)

Cheers
Luis Henrique Gomes Higino wrote 3 years ago
(address . 55495@debbugs.gnu.org)
87mtfdwjly.fsf@gmail.com
Hi Taiju,

I also can't really understand why this didn't happen previously,
the `vc-refresh-state' (which will need git in this case) is added
to `find-file-hook' by default since before Emacs 28. The
`haskell-generate-tags' test was last changed on 2016 and the
`with-temp-dir-structure' on 2019 according to git blame. This
code is called when the test runs `with-temp-dir-structure' on
each of the created dirs:

Toggle snippet (21 lines)
vc-refresh-state()
run-hooks(find-file-hook)
after-find-file(t t)
find-file-noselect-1(#<buffer Tx.hs>
"/tmp/guix-build-emacs-haskell-
find-file-noselect("Tx.hs")
(set-buffer (find-file-noselect (car entry)))
(save-current-buffer (set-buffer (find-file-noselect (car entry)))
(
(cond ((stringp (cdr entry)) (save-current-buffer (set-buffer
(find-
(let ((entry (car --dolist-tail--))) (cond ((stringp (cdr entry))
(s
(while --dolist-tail-- (let ((entry (car --dolist-tail--))) (cond
((
(let ((--dolist-tail-- entries)) (while --dolist-tail-- (let
((entry
create-directory-structure((("Tx.hs" . "should_not_see_me ::
Int")))

That happens because of this line on `create-directory-structure':

I think it's fine to add git to the native inputs for this test
specifically, as it only weights 346.8 MiB.

Regards,
--
Luis H. Higino
Liliana Marie Prikler wrote 3 years ago
Re: [PATCH] gnu: emacs-haskell-mode: Fix build.
bd9e0aa3d659f561a245203a1a17e5125ddcd7c6.camel@gmail.com
Hi,

Am Mittwoch, dem 18.05.2022 um 23:31 +0900 schrieb Taiju HIGASHI:
Toggle quote (31 lines)
> * gnu/packages/emacs-xyz.scm (emacs-haskell-mode): Fix build.
> ---
>  gnu/packages/emacs-xyz.scm                    |   9 +-
>  .../emacs-haskell-mode-fix-tests.patch        | 282
> ++++++++++++++++++
>  2 files changed, 289 insertions(+), 2 deletions(-)
>  create mode 100644 gnu/packages/patches/emacs-haskell-mode-fix-
> tests.patch
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 529e9329d6..9d9669f383 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -1553,11 +1553,16 @@ (define-public emacs-haskell-mode
>               (commit version)))
>         (file-name (git-file-name name version))
>         (sha256
> -        (base32
> "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
> +        (base32
> "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))
> +        ;; Submitted for inclusion upstream.
> +        ;; Not identical patches due to different target versions.
> +        ;; (see: https://github.com/haskell/haskell-mode/pull/1780)
> +       (patches
> +        (search-patches "emacs-haskell-mode-fix-tests.patch"))))
>      (propagated-inputs
>       (list emacs-dash))
>      (native-inputs
> -     (list emacs-minimal emacs-el-search emacs-stream texinfo))
> +     (list emacs-minimal emacs-el-search emacs-stream texinfo git))
There are other ways of suppressing errors caused by git. One of them
would be to set vc-handled-backends to nil for the tests.

Toggle quote (5 lines)
> +-  "Classify the current line into 'section-header 'subsection-
> header 'section-data 'comment and 'empty '"
> ++  "Classify the current line into 'section-header 'subsection-
> header
> ++'section-data 'comment and 'empty '"
LGTM.
Toggle quote (5 lines)
> +-  "Enumerate .cabal targets. PROCESS-TYPE determines the format of
> the returned target."
> ++  "Enumerate .cabal targets. PROCESS-TYPE determines the format of
> the
> ++returned target."
LGTM.

Toggle quote (7 lines)
> +-Module names in exposed-modules and other-modules are expanded by
> replacing each dot (.) in the module name with a forward slash (/)
> and appending \".hs\"
> ++Module names in exposed-modules and other-modules are expanded by
> ++replacing each dot (.) in the module name with a forward slash (/)
> and
> ++appending \".hs\"
LGTM.

Toggle quote (5 lines)
> +-  "Default build command to use for `haskell-cabal-build' when a
> cabal file is detected.
> ++  "Default build command to use for `haskell-cabal-build' when a
> cabal
> ++file is detected.
LGTM.

Toggle quote (4 lines)
> +-  "Alternative build command to use when `haskell-cabal-build' is
> called with a negative prefix argument.
> ++  "Alternative build command to use when `haskell-cabal-build' is
> ++called with a negative prefix argument.
LGTM.

Toggle quote (5 lines)
> +-  "Default build command to use for `haskell-stack-build' when a
> stack file is detected.
> ++  "Default build command to use for `haskell-stack-build' when a
> stack
> ++file is detected.x
Additional x.

Toggle quote (4 lines)
> +-  "Alternative build command to use when `haskell-stack-build' is
> called with a negative prefix argument.
> ++  "Alternative build command to use when `haskell-stack-build' is
> ++called with a negative prefix argument.
LGTM.

Toggle quote (4 lines)
> +-  "Default build command to use for `haskell-cabal-build' when no
> cabal or stack file is detected.
> ++  "Default build command to use for `haskell-cabal-build' when no
> ++cabal or stack file is detected.
LGTM.

Toggle quote (8 lines)
> +-  "Controls whether to use cabal, stack, or ghc to compile.
> +-   Auto (the default) means infer from the presence of a cabal or
> stack spec file,
> +-   following same rules as haskell-process-type."
> ++  "Controls whether to use cabal, stack, or ghc to compile.  Auto
> (the
> ++   default) means infer from the presence of a cabal or stack spec
> ++   file, following same rules as haskell-process-type."
LGTM.

Toggle quote (2 lines)
> +-  (let (htype dir)                     
> ++  (let (htype dir)
Indentation change? Suppress those, you want to make the diff as small
as possible.

Toggle quote (4 lines)
> +-  "The way to run cabal comands. It takes two arguments -- the
> directory and the command.
> ++  "The way to run cabal comands. It takes two arguments -- the
> ++directory and the command.
LGTM.

Toggle quote (5 lines)
> +-  "Suggest adding OverloadedStrings pragma to file when getting
> type mismatches with [Char]."
> ++  "Suggest adding OverloadedStrings pragma to file when getting
> type
> ++mismatches with [Char]."
LGTM.

Toggle quote (6 lines)
> +-  "Looks for cabal and stack spec files.
> +-   When found, returns a pair (TAG . DIR)
> +-   where TAG is 'cabal-project, 'cabal-sandbox. 'cabal, or 'stack;
> ++  "Looks for cabal and stack spec files.
> ++   When found, returns a pair (TAG . DIR)
> ++   where TAG is 'cabal-project, 'cabal-sandbox. 'cabal, or 'stack;
LGTM.

Toggle quote (5 lines)
> +-  "Puts point to the next following symbol, or to end if there are
> no more symbols in the sexp."
> ++  "Puts point to the next following symbol, or to end if there are
> no
> ++more symbols in the sexp."
LGTM.

Toggle quote (2 lines)
> +-  "Generate a regex for searching for any occurrence of the prompt\
> ++  "Generate a regex for searching for any occurrence of the prompt
LGTM, but you might want to shorten the docstring so that the first
line is a synopsis. This would make it easier for upstream to accept.

Toggle quote (8 lines)
> +-- 'template-haskell-quote: for a string of apostrophes for template
> haskell
> +-- 'template-haskell-quasi-quote: for a string of apostrophes for
> template haskell
> ++- 'template-haskell-quote: for a string of apostrophes for template
> ++  haskell
> ++- 'template-haskell-quasi-quote: for a string of apostrophes for
> ++  template haskell
LGTM.

Toggle quote (4 lines)
> +-  "If point is in an SCC annotation, kill the annotation. 
> Otherwise, try to insert a new annotation."
> ++  "If point is in an SCC annotation, kill the annotation.
> ++Otherwise, try to insert a new annotation."
LGTM.

Toggle quote (4 lines)
> +-  "Template string that will be inserted in new haskell buffers via
> `haskell-auto-insert-module-template'.")
> ++  "Template string that will be inserted in new haskell buffers via
> ++`haskell-auto-insert-module-template'.")
LGTM.

Toggle quote (4 lines)
> +-  "Shift the nested off-side-rule block adjacent to point by COLS
> columns to the right.
> ++  "Shift the nested off-side-rule block adjacent to point by COLS
> ++columns to the right.
LGTM.

Toggle quote (4 lines)
> +-  "Try to send a string to the process's process. Ask to restart if
> it's not running."
> ++  "Try to send a string to the process's process. Ask to restart if
> ++it's not running."
LGTM.

Toggle quote (2 lines)
> +-  "Run a loading-ish COMMAND that wants to pick up type errors\
> ++  "Run a loading-ish COMMAND that wants to pick up type errors
As above, what is "loading-ish", are "things like that" relevant, etc.
Toggle quote (4 lines)
> +-  "Regular expression for matching multiline prompt (the one inside
> :{ ... :} blocks).")
> ++  "Regular expression for matching multiline prompt (the one inside
> ++:{ ... :} blocks).")
LGTM.

Toggle quote (5 lines)
> +-    ((haskell-mode . ((haskell-w3m-haddock-dirs .
> (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
> ++    ((haskell-mode .
> ++      ((haskell-w3m-haddock-dirs .
> ++       (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
Who is chris? But fair enough, the indentation should be right.

Cheers
Taiju HIGASHI wrote 3 years ago
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 55495@debbugs.gnu.org)
87bkvtszqb.fsf@taiju.info
Hi Liliana,

Thank you for reviewing!

Toggle quote (24 lines)
>> index 529e9329d6..9d9669f383 100644
>> --- a/gnu/packages/emacs-xyz.scm
>> +++ b/gnu/packages/emacs-xyz.scm
>> @@ -1553,11 +1553,16 @@ (define-public emacs-haskell-mode
>>               (commit version)))
>>         (file-name (git-file-name name version))
>>         (sha256
>> -        (base32
>> "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
>> +        (base32
>> "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))
>> +        ;; Submitted for inclusion upstream.
>> +        ;; Not identical patches due to different target versions.
>> +        ;; (see: https://github.com/haskell/haskell-mode/pull/1780)
>> +       (patches
>> +        (search-patches "emacs-haskell-mode-fix-tests.patch"))))
>>      (propagated-inputs
>>       (list emacs-dash))
>>      (native-inputs
>> -     (list emacs-minimal emacs-el-search emacs-stream texinfo))
>> +     (list emacs-minimal emacs-el-search emacs-stream texinfo git))
> There are other ways of suppressing errors caused by git. One of them
> would be to set vc-handled-backends to nil for the tests.

I have tried, but it does not work.
Is the following patch wrong?

Toggle diff (25 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9d9669f383..1edfe2e754 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1562,7 +1562,7 @@ (define-public emacs-haskell-mode
(propagated-inputs
(list emacs-dash))
(native-inputs
- (list emacs-minimal emacs-el-search emacs-stream texinfo git))
+ (list emacs-minimal emacs-el-search emacs-stream texinfo))
(build-system gnu-build-system)
(arguments
(list
@@ -1577,6 +1577,11 @@ (define-public emacs-haskell-mode
(guix build emacs-utils))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-vc-handled-backends
+ (lambda _
+ (substitute* "Makefile"
+ (("\\(setq byte-compile-error-on-warn t\\)")
+ "(setq byte-compile-error-on-warn t) (setq vc-handled-backends nil)"))))
(delete 'configure)
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
Taiju HIGASHI wrote 3 years ago
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 55495@debbugs.gnu.org)
878rqwsi62.fsf@taiju.info
Toggle quote (2 lines)
> I have tried, but it does not work.

Sorry, I just had the wrong target to substitute.
Taiju HIGASHI wrote 3 years ago
Re: bug#55495: Re: emacs-haskell-mode build fails
(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)(address . 55495@debbugs.gnu.org)
87tu9kr0sd.fsf@taiju.info
Hi Luis,

Thank you for your comments and detailed explanation!

Since there seems to be no intention to require git to be installed in
the test code, I have decided to adopt Liliana's suggestion.

Cheers
Taiju HIGASHI wrote 3 years ago
Re: [PATCH] gnu: emacs-haskell-mode: Fix build.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 55495@debbugs.gnu.org)
87mtfcr0la.fsf@taiju.info
Hi Liliana,

Toggle quote (34 lines)
>> * gnu/packages/emacs-xyz.scm (emacs-haskell-mode): Fix build.
>> ---
>>  gnu/packages/emacs-xyz.scm                    |   9 +-
>>  .../emacs-haskell-mode-fix-tests.patch        | 282
>> ++++++++++++++++++
>>  2 files changed, 289 insertions(+), 2 deletions(-)
>>  create mode 100644 gnu/packages/patches/emacs-haskell-mode-fix-
>> tests.patch
>>
>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
>> index 529e9329d6..9d9669f383 100644
>> --- a/gnu/packages/emacs-xyz.scm
>> +++ b/gnu/packages/emacs-xyz.scm
>> @@ -1553,11 +1553,16 @@ (define-public emacs-haskell-mode
>>               (commit version)))
>>         (file-name (git-file-name name version))
>>         (sha256
>> -        (base32
>> "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
>> +        (base32
>> "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))
>> +        ;; Submitted for inclusion upstream.
>> +        ;; Not identical patches due to different target versions.
>> +        ;; (see: https://github.com/haskell/haskell-mode/pull/1780)
>> +       (patches
>> +        (search-patches "emacs-haskell-mode-fix-tests.patch"))))
>>      (propagated-inputs
>>       (list emacs-dash))
>>      (native-inputs
>> -     (list emacs-minimal emacs-el-search emacs-stream texinfo))
>> +     (list emacs-minimal emacs-el-search emacs-stream texinfo git))
> There are other ways of suppressing errors caused by git. One of them
> would be to set vc-handled-backends to nil for the tests.

I apologize for my earlier email.
I will modify it in the way you suggested.

Toggle quote (12 lines)
>> +-  "Default build command to use for `haskell-stack-build' when a
>> stack file is detected.
>> ++  "Default build command to use for `haskell-stack-build' when a
>> stack
>> ++file is detected.x
> Additional x.

>> +-  (let (htype dir)
>> ++  (let (htype dir)
> Indentation change? Suppress those, you want to make the diff as small
> as possible.

Thank you for pointing. I will fix these.

Toggle quote (9 lines)
>> +-  "Generate a regex for searching for any occurrence of the prompt\
>> ++  "Generate a regex for searching for any occurrence of the prompt
> LGTM, but you might want to shorten the docstring so that the first
> line is a synopsis. This would make it easier for upstream to accept.

>> +-  "Run a loading-ish COMMAND that wants to pick up type errors\
>> ++  "Run a loading-ish COMMAND that wants to pick up type errors
> As above, what is "loading-ish", are "things like that" relevant, etc.

I decided not to make these corrections. Because I am not familiar with
Haskell and am just one learner, and am not good at English.

Toggle quote (7 lines)
>> +-    ((haskell-mode . ((haskell-w3m-haddock-dirs .
>> (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
>> ++    ((haskell-mode .
>> ++      ((haskell-w3m-haddock-dirs .
>> ++       (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
> Who is chris? But fair enough, the indentation should be right.

In all seriousness, that is the name of the author probably.

I will submit a patch v2 soon after this.

Cheers
Taiju HIGASHI wrote 3 years ago
[PATCH v2] gnu: emacs-haskell-mode: Fix build.
(address . 55495@debbugs.gnu.org)(name . Taiju HIGASHI)(address . higashi@taiju.info)
20220520095930.3983-1-higashi@taiju.info
* gnu/packages/emacs-xyz.scm (emacs-haskell-mode): Fix build.
---
gnu/packages/emacs-xyz.scm | 14 +-
.../emacs-haskell-mode-fix-tests.patch | 273 ++++++++++++++++++
2 files changed, 286 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/emacs-haskell-mode-fix-tests.patch

Toggle diff (313 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 529e9329d6..767a214641 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1553,7 +1553,12 @@ (define-public emacs-haskell-mode
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
+ (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))
+ ;; Submitted for inclusion upstream.
+ ;; Not identical patches due to different target versions.
+ ;; (see: https://github.com/haskell/haskell-mode/pull/1780)
+ (patches
+ (search-patches "emacs-haskell-mode-fix-tests.patch"))))
(propagated-inputs
(list emacs-dash))
(native-inputs
@@ -1572,6 +1577,13 @@ (define-public emacs-haskell-mode
(guix build emacs-utils))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'disable-vc-handled-backends
+ (lambda _
+ ;; Suppresses problems with git commands being called and tests
+ ;; failing.
+ (substitute* "tests/haskell-mode-tests.el"
+ (("\\(require 'haskell-test-utils\\)" all)
+ (string-append all " (setq vc-handled-backends nil)")))))
(delete 'configure)
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/patches/emacs-haskell-mode-fix-tests.patch b/gnu/packages/patches/emacs-haskell-mode-fix-tests.patch
new file mode 100644
index 0000000000..cc14d5ca60
--- /dev/null
+++ b/gnu/packages/patches/emacs-haskell-mode-fix-tests.patch
@@ -0,0 +1,273 @@
+diff --git a/haskell-cabal.el b/haskell-cabal.el
+index a2de2ea..dd08ab6 100644
+--- a/haskell-cabal.el
++++ b/haskell-cabal.el
+@@ -361,7 +361,8 @@ OTHER-WINDOW use `find-file-other-window'."
+ (defconst haskell-cabal-conditional-regexp "^[ \t]*\\(\\if\\|else\\|}\\)")
+
+ (defun haskell-cabal-classify-line ()
+- "Classify the current line into 'section-header 'subsection-header 'section-data 'comment and 'empty '"
++ "Classify the current line into 'section-header 'subsection-header
++'section-data 'comment and 'empty '"
+ (save-excursion
+ (beginning-of-line)
+ (cond
+@@ -494,7 +495,8 @@ OTHER-WINDOW use `find-file-other-window'."
+ ((equal component-type "benchmark") "bench"))))
+
+ (defun haskell-cabal-enum-targets (&optional process-type)
+- "Enumerate .cabal targets. PROCESS-TYPE determines the format of the returned target."
++ "Enumerate .cabal targets. PROCESS-TYPE determines the format of the
++returned target."
+ (let ((cabal-file (haskell-cabal-find-file))
+ (process-type (if process-type process-type 'ghci)))
+ (when (and cabal-file (file-readable-p cabal-file))
+@@ -926,7 +928,9 @@ resulting buffer-content. Unmark line at the end."
+ (defun haskell-cabal-line-filename ()
+ "Expand filename in current line according to the subsection type
+
+-Module names in exposed-modules and other-modules are expanded by replacing each dot (.) in the module name with a forward slash (/) and appending \".hs\"
++Module names in exposed-modules and other-modules are expanded by
++replacing each dot (.) in the module name with a forward slash (/) and
++appending \".hs\"
+
+ Example: Foo.Bar.Quux ==> Foo/Bar/Quux.hs
+
+diff --git a/haskell-compile.el b/haskell-compile.el
+index 667102c..2e808ed 100644
+--- a/haskell-compile.el
++++ b/haskell-compile.el
+@@ -41,35 +41,40 @@
+
+ (defcustom haskell-compile-cabal-build-command
+ "cabal build --ghc-option=-ferror-spans"
+- "Default build command to use for `haskell-cabal-build' when a cabal file is detected.
++ "Default build command to use for `haskell-cabal-build' when a cabal
++file is detected.
+ For legacy compat, `%s' is replaced by the cabal package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-cabal-build-alt-command
+ "cabal clean -s && cabal build --ghc-option=-ferror-spans"
+- "Alternative build command to use when `haskell-cabal-build' is called with a negative prefix argument.
++ "Alternative build command to use when `haskell-cabal-build' is
++called with a negative prefix argument.
+ For legacy compat, `%s' is replaced by the cabal package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-stack-build-command
+ "stack build --fast"
+- "Default build command to use for `haskell-stack-build' when a stack file is detected.
++ "Default build command to use for `haskell-stack-build' when a stack
++file is detected.
+ For legacy compat, `%s' is replaced by the stack package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-stack-build-alt-command
+ "stack clean && stack build --fast"
+- "Alternative build command to use when `haskell-stack-build' is called with a negative prefix argument.
++ "Alternative build command to use when `haskell-stack-build' is
++called with a negative prefix argument.
+ For legacy compat, `%s' is replaced by the stack package top folder."
+ :group 'haskell-compile
+ :type 'string)
+
+ (defcustom haskell-compile-command
+ "ghc -Wall -ferror-spans -fforce-recomp -c %s"
+- "Default build command to use for `haskell-cabal-build' when no cabal or stack file is detected.
++ "Default build command to use for `haskell-cabal-build' when no
++cabal or stack file is detected.
+ The `%s' placeholder is replaced by the current buffer's filename."
+ :group 'haskell-compile
+ :type 'string)
+@@ -82,9 +87,9 @@ The `%s' placeholder is replaced by the current buffer's filename."
+
+ (defcustom haskell-compiler-type
+ 'auto
+- "Controls whether to use cabal, stack, or ghc to compile.
+- Auto (the default) means infer from the presence of a cabal or stack spec file,
+- following same rules as haskell-process-type."
++ "Controls whether to use cabal, stack, or ghc to compile. Auto (the
++ default) means infer from the presence of a cabal or stack spec
++ file, following same rules as haskell-process-type."
+ :type '(choice (const auto) (const ghc) (const stack) (const cabal))
+ :group 'haskell-compile)
+ (make-variable-buffer-local 'haskell-compiler-type)
+diff --git a/haskell-customize.el b/haskell-customize.el
+index c316de2..235a3c4 100644
+--- a/haskell-customize.el
++++ b/haskell-customize.el
+@@ -172,7 +172,8 @@ pass additional flags to `ghc'."
+
+ (defcustom haskell-process-do-cabal-format-string
+ ":!cd %s && %s"
+- "The way to run cabal comands. It takes two arguments -- the directory and the command.
++ "The way to run cabal comands. It takes two arguments -- the
++directory and the command.
+ See `haskell-process-do-cabal' for more details."
+ :group 'haskell-interactive
+ :type 'string)
+@@ -241,7 +242,8 @@ is a member of the hidden package, blah blah."
+
+ (defcustom haskell-process-suggest-overloaded-strings
+ t
+- "Suggest adding OverloadedStrings pragma to file when getting type mismatches with [Char]."
++ "Suggest adding OverloadedStrings pragma to file when getting type
++mismatches with [Char]."
+ :type 'boolean
+ :group 'haskell-interactive)
+
+@@ -409,9 +411,9 @@ imports."
+ presence of a *.cabal file or stack.yaml file or something similar.")
+
+ (defun haskell-build-type ()
+- "Looks for cabal and stack spec files.
+- When found, returns a pair (TAG . DIR)
+- where TAG is 'cabal-project, 'cabal-sandbox. 'cabal, or 'stack;
++ "Looks for cabal and stack spec files.
++ When found, returns a pair (TAG . DIR)
++ where TAG is 'cabal-project, 'cabal-sandbox. 'cabal, or 'stack;
+ and DIR is the directory containing cabal or stack file.
+ When none found, DIR is nil, and TAG is 'ghc"
+ ;; REVIEW maybe just 'cabal is enough.
+diff --git a/haskell-indent.el b/haskell-indent.el
+index afa5585..83eb1de 100644
+--- a/haskell-indent.el
++++ b/haskell-indent.el
+@@ -435,7 +435,8 @@ Returns the location of the start of the comment, nil otherwise."
+ (haskell-indent-skip-blanks-and-newlines-forward end))))
+
+ (defun haskell-indent-next-symbol-safe (end)
+- "Puts point to the next following symbol, or to end if there are no more symbols in the sexp."
++ "Puts point to the next following symbol, or to end if there are no
++more symbols in the sexp."
+ (condition-case _errlist (haskell-indent-next-symbol end)
+ (error (goto-char end))))
+
+diff --git a/haskell-interactive-mode.el b/haskell-interactive-mode.el
+index f4fb325..ae5fcd3 100644
+--- a/haskell-interactive-mode.el
++++ b/haskell-interactive-mode.el
+@@ -48,7 +48,7 @@
+ "Mark used for the old beginning of the prompt.")
+
+ (defun haskell-interactive-prompt-regex ()
+- "Generate a regex for searching for any occurrence of the prompt\
++ "Generate a regex for searching for any occurrence of the prompt
+ at the beginning of the line. This should prevent any
+ interference with prompts that look like haskell expressions."
+ (concat "^" (regexp-quote haskell-interactive-prompt)))
+diff --git a/haskell-lexeme.el b/haskell-lexeme.el
+index 622f53f..198c994 100644
+--- a/haskell-lexeme.el
++++ b/haskell-lexeme.el
+@@ -452,8 +452,10 @@ Possible results are:
+ - 'string: for strings literals
+ - 'char: for char literals
+ - 'number: for decimal, float, hexadecimal and octal number literals
+-- 'template-haskell-quote: for a string of apostrophes for template haskell
+-- 'template-haskell-quasi-quote: for a string of apostrophes for template haskell
++- 'template-haskell-quote: for a string of apostrophes for template
++ haskell
++- 'template-haskell-quasi-quote: for a string of apostrophes for
++ template haskell
+
+ Note that for qualified symbols (match-string 1) returns the
+ unqualified identifier or symbol. Further qualification for
+diff --git a/haskell-mode.el b/haskell-mode.el
+index c20e66a..0cedf14 100644
+--- a/haskell-mode.el
++++ b/haskell-mode.el
+@@ -1142,7 +1142,8 @@ successful, nil otherwise."
+ "2015-11-11")
+
+ (defun haskell-mode-toggle-scc-at-point ()
+- "If point is in an SCC annotation, kill the annotation. Otherwise, try to insert a new annotation."
++ "If point is in an SCC annotation, kill the annotation.
++Otherwise, try to insert a new annotation."
+ (interactive)
+ (if (not (haskell-mode-try-kill-scc-at-point))
+ (if (not (haskell-mode-try-insert-scc-at-point))
+@@ -1181,7 +1182,8 @@ Uses `haskell-guess-module-name-from-file-name'."
+
+ (defvar haskell-auto-insert-module-format-string
+ "-- | \n\nmodule %s where\n\n"
+- "Template string that will be inserted in new haskell buffers via `haskell-auto-insert-module-template'.")
++ "Template string that will be inserted in new haskell buffers via
++`haskell-auto-insert-module-template'.")
+
+ (defun haskell-auto-insert-module-template ()
+ "Insert a module template for the newly created buffer."
+diff --git a/haskell-move-nested.el b/haskell-move-nested.el
+index c4a7bd5..1339043 100644
+--- a/haskell-move-nested.el
++++ b/haskell-move-nested.el
+@@ -34,7 +34,8 @@
+
+ ;;;###autoload
+ (defun haskell-move-nested (cols)
+- "Shift the nested off-side-rule block adjacent to point by COLS columns to the right.
++ "Shift the nested off-side-rule block adjacent to point by COLS
++columns to the right.
+
+ In Transient Mark mode, if the mark is active, operate on the contents
+ of the region instead.
+diff --git a/haskell-process.el b/haskell-process.el
+index 2ca131f..f1f5303 100644
+--- a/haskell-process.el
++++ b/haskell-process.el
+@@ -205,7 +205,8 @@ HPTYPE is the result of calling `'haskell-process-type`' function."
+ t))
+
+ (defun haskell-process-send-string (process string)
+- "Try to send a string to the process's process. Ask to restart if it's not running."
++ "Try to send a string to the process's process. Ask to restart if
++it's not running."
+ (let ((child (haskell-process-process process)))
+ (if (equal 'run (process-status child))
+ (let ((out (concat string "\n")))
+diff --git a/haskell.el b/haskell.el
+index a679b62..66e5f7e 100644
+--- a/haskell.el
++++ b/haskell.el
+@@ -446,7 +446,7 @@ Give optional NEXT-P parameter to override value of
+ (list "build --ghc-options=-fforce-recomp"))))))
+
+ (defun haskell-process-file-loadish (command reload-p module-buffer)
+- "Run a loading-ish COMMAND that wants to pick up type errors\
++ "Run a loading-ish COMMAND that wants to pick up type errors
+ and things like that. RELOAD-P indicates whether the notification
+ should say 'reloaded' or 'loaded'. MODULE-BUFFER may be used
+ for various things, but is optional."
+diff --git a/inf-haskell.el b/inf-haskell.el
+index e62b6ed..1bda90e 100644
+--- a/inf-haskell.el
++++ b/inf-haskell.el
+@@ -74,7 +74,8 @@ directory structure."
+
+ (defvar inferior-haskell-multiline-prompt-re
+ "^\\*?[[:upper:]][\\._[:alnum:]]*\\(?: \\*?[[:upper:]][\\._[:alnum:]]*\\)*| "
+- "Regular expression for matching multiline prompt (the one inside :{ ... :} blocks).")
++ "Regular expression for matching multiline prompt (the one inside
++:{ ... :} blocks).")
+
+ (defconst inferior-haskell-error-regexp-alist
+ `(;; Format of error messages used by GHCi.
+diff --git a/w3m-haddock.el b/w3m-haddock.el
+index 141cbf4..4ef6a88 100644
+--- a/w3m-haddock.el
++++ b/w3m-haddock.el
+@@ -49,7 +49,9 @@ directories of package-name-x.x.
+ You can rebind this if you're using hsenv by adding it to your
+ .dir-locals.el in your project root. E.g.
+
+- ((haskell-mode . ((haskell-w3m-haddock-dirs . (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
++ ((haskell-mode .
++ ((haskell-w3m-haddock-dirs .
++ (\"/home/chris/Projects/foobar/.hsenv/cabal/share/doc\")))))
+
+ "
+ :group 'haskell
--
2.36.0
Taiju HIGASHI wrote 3 years ago
Re: [PATCH] gnu: emacs-haskell-mode: Fix build.
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 55495@debbugs.gnu.org)
CB2BAAEA-E9F4-41D1-AB73-958434DE52D3@taiju.info
Hi Liliana,

Toggle quote (12 lines)
>>> +-  "Generate a regex for searching for any occurrence of the prompt\
>>> ++  "Generate a regex for searching for any occurrence of the prompt
>> LGTM, but you might want to shorten the docstring so that the first
>> line is a synopsis. This would make it easier for upstream to accept.
>
>>> +-  "Run a loading-ish COMMAND that wants to pick up type errors\
>>> ++  "Run a loading-ish COMMAND that wants to pick up type errors
>> As above, what is "loading-ish", are "things like that" relevant, etc.
>
>I decided not to make these corrections. Because I am not familiar with
>Haskell and am just one learner, and am not good at English.

Hmmm, you were right.

I will try, but I am a little apprehensive.
Is it possible for you to continue to review it here? Or should I just change the fix to change the parameters to suppress the error and resolve this issue?

Cheers
Liliana Marie Prikler wrote 3 years ago
(name . Taiju HIGASHI)(address . higashi@taiju.info)(address . 55495@debbugs.gnu.org)
4a298e2b5711289768810916808e13e86798b83e.camel@gmail.com
Am Samstag, dem 21.05.2022 um 05:59 +0900 schrieb Taiju HIGASHI:
Toggle quote (26 lines)
> Hi Liliana,
> > > > +-  "Generate a regex for searching for any occurrence of the
> > > > prompt\
> > > > ++  "Generate a regex for searching for any occurrence of the
> > > > prompt
> > > LGTM, but you might want to shorten the docstring so that the
> > > first line is a synopsis.  This would make it easier for upstream
> > > to accept.
> >
> > > > +-  "Run a loading-ish COMMAND that wants to pick up type
> > > > errors\
> > > > ++  "Run a loading-ish COMMAND that wants to pick up type
> > > > errors
> > > As above, what is "loading-ish", are "things like that" relevant,
> > > etc.
> >
> > I decided not to make these corrections. Because I am not familiar
> > with Haskell and am just one learner, and am not good at English.
>
> Hmmm, you were right.
> https://github.com/haskell/haskell-mode/pull/1780#issuecomment-1133107992
>
> I will try, but I am a little apprehensive.
> Is it possible for you to continue to review it here? Or should I
> just change the fix to change the parameters to suppress the error
> and resolve this issue?
I can review it here, but my own criteria might be weaker than
upstream's. While I'm confident in my English, I'm less well read on
the operations of haskell-mode, I must admit :)

Cheers
Taiju HIGASHI wrote 3 years ago
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 55495@debbugs.gnu.org)
B99CEC56-54A9-4780-B083-0B82B84498E8@taiju.info
Thank you.
I decide to fix this issue by I exclude the patch for codes and adding parameters for suppressing errors because I don't want to waste your time.
I am going to fix codes for upstream myself separately from here (or give up to fix).
I will submit the v3 patch coming soon.
Taiju HIGASHI wrote 3 years ago
[PATCH v3] gnu: emacs-haskell-mode: Fix build.
(address . 55495@debbugs.gnu.org)(name . Taiju HIGASHI)(address . higashi@taiju.info)
20220521052323.9814-1-higashi@taiju.info
* gnu/packages/emacs-xyz.scm (emacs-haskell-mode): Fix build.
---
gnu/packages/emacs-xyz.scm | 10 ++++++++++
1 file changed, 10 insertions(+)

Toggle diff (23 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ae81f4e395..7af083da02 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1594,6 +1594,16 @@ (define-public emacs-haskell-mode
(guix build emacs-utils))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-and-tests
+ (lambda _
+ ;; This causes the byte-compilation before unit-tests to fail.
+ (substitute* "Makefile"
+ (("--eval '\\(setq byte-compile-error-on-warn t\\)'") ""))
+ ;; Suppresses problems with git commands being called and tests
+ ;; failing.
+ (substitute* "tests/haskell-mode-tests.el"
+ (("\\(require 'haskell-test-utils\\)" all)
+ (string-append all " (setq vc-handled-backends nil)")))))
(delete 'configure)
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
--
2.36.0
Luis Henrique Gomes Higino wrote 3 years ago
(no subject)
(address . 55495@debbugs.gnu.org)
87ee09ze37.fsf@gmail.com
Hi guix,

the PR from Taiju was merged [0]. I did a local test and now we
only need to update to the latest master commit and the second
`substitute*' from the `fix-build-and-tests' phase for the package
to build.


Regards,
--
Luis H. Higino
Taiju HIGASHI wrote 3 years ago
(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)(address . 55495@debbugs.gnu.org)
87ee09ghvp.fsf@taiju.info
Hi Luis,

Thank you for your comments.

I have not decided what I should do, because I am a light user of this
package and my previous patch target version is a different target
version from my other patch that was merged master one.

Specifically, I am not sure if I should up the version of this package.

How do you think we should proceed?

-- taiju
Luis Henrique Gomes Higino wrote 3 years ago
(name . Taiju HIGASHI)(address . higashi@taiju.info)(address . 55495@debbugs.gnu.org)
87v8tkxw79.fsf@gmail.com
Hi Taiju,

Taiju HIGASHI <higashi@taiju.info> writes:

Toggle quote (17 lines)
> Hi Luis,
>
> Thank you for your comments.
>
> I have not decided what I should do, because I am a light user
> of this
> package and my previous patch target version is a different
> target
> version from my other patch that was merged master one.
>
> Specifically, I am not sure if I should up the version of this
> package.
>
> How do you think we should proceed?
>
> -- taiju

the current stable version of haskell-mode is from September 2020
[0], so I personally think it is reasonable to update the package
to the latest master commit instead of patching it through build
phases for its build to succeed on Emacs 28.


Regards,
--
Luis H. Higino
Taiju HIGASHI wrote 3 years ago
(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)(address . 55495@debbugs.gnu.org)
591A5006-AF4A-4E9B-B4F0-FC28CE07A5FE@taiju.info
Hi Luis,

Thank you for telling me your opinion.
I will write a v3 patch soon based on your advice.

Cheers,
-- taiju
Taiju HIGASHI wrote 3 years ago
[PATCH v3] gnu: emacs-haskell-mode: Fix build.
(address . 55495@debbugs.gnu.org)(name . Taiju HIGASHI)(address . higashi@taiju.info)
20220602035722.18022-1-higashi@taiju.info
* gnu/packages/emacs-xyz.scm (emacs-haskell-mode): Fix build.
---
gnu/packages/emacs-xyz.scm | 179 +++++++++++++++++++------------------
1 file changed, 94 insertions(+), 85 deletions(-)

Toggle diff (193 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ced6e1a482..3552cdc7c3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1571,92 +1571,101 @@ (define-public emacs-unpackaged-el
(license license:gpl3+))))
(define-public emacs-haskell-mode
- (package
- (name "emacs-haskell-mode")
- (version "17.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/haskell/haskell-mode")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
- (propagated-inputs
- (list emacs-dash))
- (native-inputs
- (list emacs-minimal emacs-el-search emacs-stream texinfo))
- (build-system gnu-build-system)
- (arguments
- (list
- #:make-flags #~(list
- (string-append "EMACS=" #$emacs-minimal "/bin/emacs"))
- #:modules `((ice-9 match)
- (srfi srfi-26)
- ((guix build emacs-build-system) #:prefix emacs:)
- ,@%gnu-build-system-modules)
- #:imported-modules `(,@%gnu-build-system-modules
- (guix build emacs-build-system)
- (guix build emacs-utils))
- #:phases
- #~(modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'pre-build
- (lambda* (#:key inputs #:allow-other-keys)
- (define (el-dir store-dir)
- (match (find-files store-dir "\\.el$")
- ((f1 f2 ...) (dirname f1))
- (_ "")))
-
- (let ((sh (search-input-file inputs "/bin/sh")))
- (define emacs-prefix? (cut string-prefix? "emacs-" <>))
-
- (setenv "SHELL" "sh")
- (setenv "EMACSLOADPATH"
- (string-concatenate
- (map (match-lambda
- (((? emacs-prefix? name) . dir)
- (string-append (el-dir dir) ":"))
- (_ ""))
- inputs)))
- (substitute* (find-files "." "\\.el") (("/bin/sh") sh)))))
- (add-before 'check 'delete-failing-tests
- ;; XXX: these tests require GHC executable, which would be a big
- ;; native input.
- (lambda _
- (with-directory-excursion "tests"
- ;; File `haskell-indent-tests.el' fails with
- ;; `haskell-indent-put-region-in-literate-2'
- ;; on Emacs 27.1+
- ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
- (for-each delete-file
- '("haskell-indent-tests.el"
- "haskell-customize-tests.el"
- "inferior-haskell-tests.el")))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (el-dir (emacs:elpa-directory out))
- (doc (string-append
- out "/share/doc/haskell-mode-" #$version))
- (info (string-append out "/share/info")))
- (define (copy-to-dir dir files)
- (for-each (lambda (f)
- (install-file f dir))
- files))
-
- (with-directory-excursion "doc"
- (invoke "makeinfo" "haskell-mode.texi")
- (install-file "haskell-mode.info" info))
- (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
- (copy-to-dir el-dir (find-files "." "\\.elc?"))))))))
- (home-page "https://github.com/haskell/haskell-mode")
- (synopsis "Haskell mode for Emacs")
- (description
- "This is an Emacs mode for editing, debugging and developing Haskell
+ (let ((commit "5a9f8072c7b9168f0a8409adf9d62a3e4ad4ea3d")
+ (revision "0"))
+ (package
+ (name "emacs-haskell-mode")
+ (version (git-version "17.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/haskell/haskell-mode")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0np1wrwdq7b9hpqpl9liampacnkx6diphyk8h2sbz2mfn9qr7pxs"))))
+ (propagated-inputs
+ (list emacs-dash))
+ (native-inputs
+ (list emacs-minimal emacs-el-search emacs-stream texinfo))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags #~(list
+ (string-append "EMACS=" #$emacs-minimal "/bin/emacs"))
+ #:modules `((ice-9 match)
+ (srfi srfi-26)
+ ((guix build emacs-build-system) #:prefix emacs:)
+ ,@%gnu-build-system-modules)
+ #:imported-modules `(,@%gnu-build-system-modules
+ (guix build emacs-build-system)
+ (guix build emacs-utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ ;; Suppresses problems with git commands being called and tests
+ ;; failing.
+ (substitute* "tests/haskell-mode-tests.el"
+ (("\\(require 'haskell-test-utils\\)" all)
+ (string-append all " (setq vc-handled-backends nil)")))))
+ (delete 'configure)
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define (el-dir store-dir)
+ (match (find-files store-dir "\\.el$")
+ ((f1 f2 ...) (dirname f1))
+ (_ "")))
+
+ (let ((sh (search-input-file inputs "/bin/sh")))
+ (define emacs-prefix? (cut string-prefix? "emacs-" <>))
+
+ (setenv "SHELL" "sh")
+ (setenv "EMACSLOADPATH"
+ (string-concatenate
+ (map (match-lambda
+ (((? emacs-prefix? name) . dir)
+ (string-append (el-dir dir) ":"))
+ (_ ""))
+ inputs)))
+ (substitute* (find-files "." "\\.el") (("/bin/sh") sh)))))
+ (add-before 'check 'delete-failing-tests
+ ;; XXX: these tests require GHC executable, which would be a big
+ ;; native input.
+ (lambda _
+ (with-directory-excursion "tests"
+ ;; File `haskell-indent-tests.el' fails with
+ ;; `haskell-indent-put-region-in-literate-2'
+ ;; on Emacs 27.1+
+ ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
+ (for-each delete-file
+ '("haskell-indent-tests.el"
+ "haskell-customize-tests.el"
+ "inferior-haskell-tests.el")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (el-dir (emacs:elpa-directory out))
+ (doc (string-append
+ out "/share/doc/haskell-mode-" #$version))
+ (info (string-append out "/share/info")))
+ (define (copy-to-dir dir files)
+ (for-each (lambda (f)
+ (install-file f dir))
+ files))
+
+ (with-directory-excursion "doc"
+ (invoke "makeinfo" "haskell-mode.texi")
+ (install-file "haskell-mode.info" info))
+ (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
+ (copy-to-dir el-dir (find-files "." "\\.elc?"))))))))
+ (home-page "https://github.com/haskell/haskell-mode")
+ (synopsis "Haskell mode for Emacs")
+ (description
+ "This is an Emacs mode for editing, debugging and developing Haskell
programs.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-dante
(let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
--
2.36.1
Taiju HIGASHI wrote 3 years ago
(address . 55495@debbugs.gnu.org)
877d5zemsg.fsf@taiju.info
Please point out any errors, as I am not familiar with the etiquette of
version numbering in such cases.

--
Taiju
Luis Henrique Gomes Higino wrote 3 years ago
About v3
(address . 55495@debbugs.gnu.org)(address . higashi@taiju.info)
87k09fufpy.fsf@gmail.com
Hi Taiju,

i have tested the v3 patch locally and it LGTM!

Regards,
--
Luis H. Higino
Taiju HIGASHI wrote 3 years ago
(name . Luis Henrique Gomes Higino)(address . luishenriquegh2701@gmail.com)(address . 55495@debbugs.gnu.org)
878rpunjux.fsf@taiju.info
Hi Luis,

Toggle quote (2 lines)
> i have tested the v3 patch locally and it LGTM!

Thanks for testing that!

I don't know what else I can do here, but I will await others' opinions,
etc.

Regards,
--
Taiju
Taiju HIGASHI wrote 3 years ago
resolved by bug#56120
(address . 55495-done@debbugs.gnu.org)
87pmj1zgdv.fsf@taiju.info
Hi,

I have confirmed with bug#56120 that this issue has been resolved and
will close.

Thanks,
--
Taiju
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 55495@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 55495
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help