What about package-pkg.el file?.
At 2017-04-19 15:35:25, "Arun Isaac" <address@hidden> wrote:
>* guix/build/emacs-build-system.scm (install): Install files matching
> #:include while excluding files matching #:exclude.
>* guix/build-system/emacs.scm (emacs-build): Add keyword arguments #:include
> and #:exclude.
>---
> guix/build-system/emacs.scm | 6 ++++++
> guix/build/emacs-build-system.scm | 24 +++++++++++++++++++++---
> 2 files changed, 27 insertions(+), 3 deletions(-)
>
>diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
>index a7982002b..e6c021c7e 100644
>--- a/guix/build-system/emacs.scm
>+++ b/guix/build-system/emacs.scm
>@@ -83,6 +83,10 @@
> (phases '(@ (guix build emacs-build-system)
> %standard-phases))
> (outputs '("out"))
>+ (include ''(".*.el$" ".*.el.in$" "^dir$"
>+ ".*.info$" ".*.texi$" ".*.texinfo$"
>+ "doc/dir" "doc/*.info$" "doc/*.texi$" "doc/*.texinfo$"))
>+ (exclude ''("^.dir-locals.el$" "^test.el$" "^tests.el$" ".*-test.el$" ".*-tests.el$"))
> (search-paths '())
> (system (%current-system))
> (guile #f)
>@@ -108,6 +112,8 @@
> #:tests? ,tests?
> #:phases ,phases
> #:outputs %outputs
>+ #:include ,include
>+ #:exclude ,exclude
> #:search-paths ',(map search-path-specification->sexp
> search-paths)
> #:inputs %build-inputs)))
>diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm
>index 44e8b0d31..579596d72 100644
>--- a/guix/build/emacs-build-system.scm
>+++ b/guix/build/emacs-build-system.scm
>@@ -28,6 +28,7 @@
> #:use-module (ice-9 rdelim)
> #:use-module (ice-9 regex)
> #:use-module (ice-9 match)
>+ #:use-module (ice-9 ftw)
> #:export (%standard-phases
> emacs-build))
>
>@@ -93,14 +94,31 @@ store in '.el' files."
> (substitute-cmd))))
> #t))
>
>-(define* (install #:key outputs #:allow-other-keys)
>+(define* (install #:key outputs
>+ (include '(".*.el$" ".*.el.in$" "^dir$"
>+ ".*.info$" ".*.texi$" ".*.texinfo$"
>+ "^doc/dir" "^doc/*.info$" "^doc/*.texi$" "^doc/*.texinfo$"))
>+ (exclude '("^.dir-locals.el$" "^test.el$" "^tests.el$" ".*-test.el$" ".*-tests.el$"))
>+ #:allow-other-keys)
> "Install the package contents."
>+
>+ (define (include-file? file)
>+ (and (any (cut string-match <> file) include)
>+ (not (any (cut string-match <> file) exclude))))
>+
> (let* ((out (assoc-ref outputs "out"))
> (elpa-name-ver (store-directory->elpa-name-version out))
> (src-dir (getcwd))
> (tgt-dir (string-append out %install-suffix "/" elpa-name-ver)))
>- (copy-recursively src-dir tgt-dir)
>- #t))
>+ (ftw src-dir
>+ (lambda (file stat flag)
>+ (let ((stripped-file (substring file (string-length src-dir))))
>+ (when (and (eq? flag 'regular)
>+ (include-file? (string-trim stripped-file #\/)))
>+ (format #t "`~a' -> `~a'~%"
>+ file (string-append tgt-dir stripped-file))
>+ (install-file file tgt-dir)))
>+ #t))))
>
> (define* (move-doc #:key outputs #:allow-other-keys)
> "Move info files from the ELPA package directory to the info directory."
>--
>2.12.2
>
>
>
>