emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[ELPA-diffs] /srv/bzr/emacs/elpa r280: * admin/archive-contents.el (batc


From: Stefan Monnier
Subject: [ELPA-diffs] /srv/bzr/emacs/elpa r280: * admin/archive-contents.el (batch-make-site-package): New function.
Date: Mon, 22 Oct 2012 17:56:43 -0400
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 280
committer: Stefan Monnier <address@hidden>
branch nick: elpa
timestamp: Mon 2012-10-22 17:56:43 -0400
message:
  * admin/archive-contents.el (batch-make-site-package): New function.
  * Makefile (site/%): Use it.
modified:
  Makefile
  admin/archive-contents.el
=== modified file 'Makefile'
--- a/Makefile  2012-10-08 04:05:54 +0000
+++ b/Makefile  2012-10-22 21:56:43 +0000
@@ -5,7 +5,7 @@
 ARCHIVE_TMP=archive-tmp
 SITE_DIR=site
 
-.PHONY: archive-tmp process-archive archive-full org-fetch clean all
+.PHONY: archive-tmp process-archive archive-full org-fetch clean all do-it
 
 ## Set up the source files for direct usage, by pointing
 ## `package-directory-list' to the site/ directory.
@@ -14,6 +14,10 @@
        $(EMACS) -batch -l $(CURDIR)/admin/archive-contents.el \
          --eval "(batch-make-site-dir \"packages\" \"$(SITE_DIR)\")"
 
+site/%: do-it
+       $(EMACS) -batch -l $(CURDIR)/admin/archive-contents.el \
+         --eval "(progn (setq debug-on-error t) (batch-make-site-package 
\"address@hidden"))"
+
 ## Deploy the package archive to archive/, with packages in
 ## archive/packages/:
 archive: archive-tmp

=== modified file 'admin/archive-contents.el'
--- a/admin/archive-contents.el 2012-05-05 05:07:32 +0000
+++ b/admin/archive-contents.el 2012-10-22 21:56:43 +0000
@@ -1,6 +1,6 @@
 ;;; archive-contents.el --- Auto-generate an Emacs Lisp package archive.
 
-;; Copyright (C) 2011  Free Software Foundation, Inc
+;; Copyright (C) 2011, 2012  Free Software Foundation, Inc
 
 ;; Author: Stefan Monnier <address@hidden>
 
@@ -22,6 +22,7 @@
 ;;; Code:
 
 (require 'lisp-mnt)
+(require 'package)
 
 (defconst archive-contents-subdirectory-regexp
   
"\\([^.].*?\\)-\\([0-9]+\\(?:[.][0-9]+\\|\\(?:pre\\|beta\\|alpha\\)[0-9]+\\)*\\)")
@@ -187,7 +188,7 @@
   (setq package-dir (expand-file-name package-dir default-directory))
   (setq site-dir (expand-file-name site-dir default-directory))
   (dolist (dir (directory-files package-dir t archive-re-no-dot))
-   (condition-case v
+    (condition-case v
        (if (not (file-directory-p dir))
            (error "Skipping non-package file %s" dir)
          (let* ((pkg (file-name-nondirectory dir))
@@ -218,6 +219,16 @@
      ;; Error handler
      (error (message "%s" (cadr v))))))
 
+(defun batch-make-site-package (sdir)
+  (let* ((dest (car (file-attributes sdir)))
+         (pkg (file-name-nondirectory (directory-file-name (or dest sdir))))
+         (dir (or dest sdir)))
+    (let ((make-backup-files nil))
+      (package-generate-autoloads pkg dir))
+    (let ((load-path (cons dir load-path)))
+      ;; FIXME: Don't compile the -pkg.el files!
+      (byte-recompile-directory dir 0))))
+
 (defun archive--write-pkg-file (pkg-dir name version desc requires &rest 
ignored)
   (let ((pkg-file (expand-file-name (concat name "-pkg.el") pkg-dir))
        (print-level nil)


reply via email to

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