guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: build-system: emacs: Factorize include/exclude default arguments.


From: Arun Isaac
Subject: 01/02: build-system: emacs: Factorize include/exclude default arguments.
Date: Thu, 8 Jun 2017 10:28:45 -0400 (EDT)

arunisaac pushed a commit to branch master
in repository guix.

commit df34f478944217b8621315acbe21d1f1dd63f4be
Author: Maxim Cournoyer <address@hidden>
Date:   Sat Jun 3 23:43:02 2017 -0700

    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 <address@hidden>
---
 guix/build-system/emacs.scm       | 11 ++++++++---
 guix/build/emacs-build-system.scm | 11 +++++++++--
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 9a46ecf..0229682 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -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)
diff --git a/guix/build/emacs-build-system.scm 
b/guix/build/emacs-build-system.scm
index 50af4be..bda699d 100644
--- a/guix/build/emacs-build-system.scm
+++ b/guix/build/emacs-build-system.scm
@@ -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."
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]