Mercurial > hg > xemacs-beta
diff lisp/package-admin.el @ 217:d44af0c54775 r20-4b7
Import from CVS: tag r20-4b7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:08:34 +0200 |
parents | |
children | 89ec2bb86eea |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/package-admin.el Mon Aug 13 10:08:34 2007 +0200 @@ -0,0 +1,81 @@ +;;; package-admin.el --- Installation and Maintenance of XEmacs packages + +;; Copyright (C) 1997 by Free Software Foundation, Inc. + +;; Author: SL Baur <steve@altair.xemacs.org> +;; Keywords: internal + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Synched up with: Not in FSF + +;;; Commentary: + +;; First pass at lisp front end to package maintenance. + +;;; Code: + +(require 'config) + +(defvar package-admin-xemacs (concat (config-value 'top_srcdir) + "/src/xemacs") + "Location of XEmacs binary to use.") + +(defvar package-admin-temp-buffer "*Package Output*" + "Temporary buffer where output of backend commands is saved.") + +;;;###autoload +(defun package-admin-add-single-file-package (file destdir &optional pkg-dir) + "Install a single file Lisp package into XEmacs package hierarchy. +`file' should be the full path to the lisp file to install. +`destdir' should be a simple directory name. +The optional `pkg-dir' can be used to override the default package hiearchy +\(last package-path)." + (interactive "fLisp File: \nsDestination: ") + (when (null pkg-dir) + (setq pkg-dir (cadr package-path))) + (let ((destination (concat pkg-dir "/lisp/" destdir)) + (buf (get-buffer-create package-admin-temp-buffer))) + (call-process "add-little-package.sh" + nil + buf + t + ;; rest of command line follows + package-admin-xemacs file destination))) + +;;;###autoload +(defun package-admin-add-binary-package (file &optional pkg-dir) + "Install a pre-bytecompiled XEmacs package into package hierarchy." + (interactive "fPackage tarball: ") + (when (null pkg-dir) + (when (or (not (listp package-path)) + (not package-path)) + (error "No package path")) + (setq pkg-dir (car (last package-path)))) + + (let ((buf (get-buffer-create package-admin-temp-buffer))) + (call-process "add-big-package.sh" + nil + buf + t + ;; rest of command line follows + package-admin-xemacs file pkg-dir))) + +(provide 'package-admin) + +;;; package-admin.el ends here