gnu: emacs-haskell-mode: Use new style.
* gnu/packages/emacs-xyz.scm (emacs-haskell-mode)[arguments]: Use gexps.master
parent
9ad779f7b5
commit
67863365f2
|
@ -1408,71 +1408,68 @@ replacement.")
|
|||
(list emacs-minimal emacs-el-search emacs-stream texinfo))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "EMACS="
|
||||
(assoc-ref %build-inputs "emacs-minimal")
|
||||
"/bin/emacs"))
|
||||
#:modules ((ice-9 match)
|
||||
(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
|
||||
#: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))
|
||||
(_ "")))
|
||||
#: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-" <>))
|
||||
(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))
|
||||
#t)))
|
||||
(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")))
|
||||
#t))
|
||||
(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))
|
||||
(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?"))
|
||||
#t))))))
|
||||
(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
|
||||
|
|
Reference in New Issue