1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 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
|