~ruther/guix-local

df34f478944217b8621315acbe21d1f1dd63f4be — Maxim Cournoyer 8 years ago dfe93c9
build-system: emacs: Factorize include/exclude default arguments.

The `install' phase of the emacs-build-system contained default arguments
duplicated from the host side `emacs-build' procedure. This change factorizes
them so that:

1. They are not duplicated.
2. They can be reused and extended easily when defining emacs packages.

* guix/build/emacs-build-system.scm (%default-include, %default-exclude): New
  variables.
(install): Use %default-include and %default-exclude as default arguments.
* guix/build-system/emacs.scm: Use and re-export %default-include,
%default-exclude from (guix build emacs-build-system).
(emacs-build): Use %default-include and %default-exclude as default arguments.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2 files changed, 17 insertions(+), 5 deletions(-)

M guix/build-system/emacs.scm
M guix/build/emacs-build-system.scm
M guix/build-system/emacs.scm => guix/build-system/emacs.scm +8 -3
@@ 17,6 17,8 @@
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (guix build-system emacs)
  #:use-module ((guix build emacs-build-system)
                #:select (%default-include %default-exclude))
  #:use-module (guix store)
  #:use-module (guix utils)
  #:use-module (guix packages)


@@ 28,7 30,10 @@
  #:use-module (srfi srfi-26)
  #:export (%emacs-build-system-modules
            emacs-build
            emacs-build-system))
            emacs-build-system)
  #:re-export (%default-include         ;for convenience
               %default-exclude))


;; Commentary:
;;


@@ 83,8 88,8 @@
                      (phases '(@ (guix build emacs-build-system)
                                  %standard-phases))
                      (outputs '("out"))
                      (include ''("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$"))
                      (exclude ''("^\\.dir-locals\\.el$" "-pkg\\.el$" "^[^/]*tests?\\.el$"))
                      (include (quote %default-include))
                      (exclude (quote %default-exclude))
                      (search-paths '())
                      (system (%current-system))
                      (guile #f)

M guix/build/emacs-build-system.scm => guix/build/emacs-build-system.scm +9 -2
@@ 29,6 29,8 @@
  #:use-module (ice-9 regex)
  #:use-module (ice-9 match)
  #:export (%standard-phases
            %default-include
            %default-exclude
            emacs-build))

;; Commentary:


@@ 42,6 44,11 @@
;; archive signature.
(define %install-suffix "/share/emacs/site-lisp/guix.d")

;; These are the default inclusion/exclusion regexps for the install phase.
(define %default-include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$"))
(define %default-exclude '("^\\.dir-locals\\.el$" "-pkg\\.el$"
                           "^[^/]*tests?\\.el$"))

(define gnu:unpack (assoc-ref gnu:%standard-phases 'unpack))

(define (store-file->elisp-source-file file)


@@ 96,8 103,8 @@ store in '.el' files."
    #t))

(define* (install #:key outputs
                  (include '("^[^/]*\\.el$" "^[^/]*\\.info$" "^doc/.*\\.info$"))
                  (exclude '("^\\.dir-locals\\.el$" "-pkg\\.el$" "^[^/]*tests?\\.el$"))
                  (include %default-include)
                  (exclude %default-exclude)
                  #:allow-other-keys)
  "Install the package contents."