From 67863365f2cef1547e70966a49430bb6529c2203 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 15 Dec 2021 12:03:03 +0100 Subject: gnu: emacs-haskell-mode: Use new style. * gnu/packages/emacs-xyz.scm (emacs-haskell-mode)[arguments]: Use gexps. --- gnu/packages/emacs-xyz.scm | 117 ++++++++++++++++++++++----------------------- 1 file changed, 57 insertions(+), 60 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 92eba2d5b2..87c1d21af5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1408,71 +1408,68 @@ (define-public emacs-haskell-mode (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)) - (_ ""))) - - (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)) - - (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)))))) + #: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 -- cgit v1.2.3