Just for once I have made available,
http://www.math.ethz.ch/~vroonhof/emacs/xemacs-sumo-19980811-nomule.tar.gz
http://www.math.ethz.ch/~vroonhof/emacs/xemacs-sumo-19980811-mule.tar.gz
However I will not have the time to a "sumo package maintainer" so I
hope somebody will pick this up and use it. Maybe even somebody with a local
package repository.... hint hint..
;; sumo.el, needs gnu version of chmod and tar
(require 'package-get)
(defvar sumo-package-exclusion-list '(vc-cc)
"List of packages not included in sumo packages")
(defvar sumo-temp-dir "/scratch/"
"Make sure this is big")
(defun sumo-make-sumo (name &optional no-mule)
(interactive "Fp")
(let* ((temp (make-temp-name (expand-file-name "sumo" sumo-temp-dir)))
(site-dir (expand-file-name "lib/xemacs/site-packages/" temp))
(mule (expand-file-name "lib/xemacs/mule-packages/" temp))
(dest (expand-file-name "lib/xemacs/xemacs-packages/" temp))
(sumo-package-list
(delete-if
(lambda (p) (memq (car p) sumo-package-exclusion-list ))
(mapcar (lambda (entry)
(cons (car entry)
(or (eq (car entry) 'mule-base)
(memq 'mule-base
(plist-get (cadr entry)
'requires)))))
package-get-base))))
(make-directory temp t)
(make-directory site-dir t)
(make-directory mule t)
(make-directory dest t)
(mapc (lambda (p)
(unless (and no-mule (cdr p))
(package-get (car p) nil 'always (if (cdr p) mule dest))))
sumo-package-list)
(call-process "chmod" nil nil nil "-R" "go+rX" temp)
(if no-mule
(call-process "tar" nil nil nil "--directory" temp
"--create"
"--gzip" "--file" name "lib/xemacs/site-packages"
"lib/xemacs/xemacs-packages")
(call-process "tar" nil nil nil "--directory" temp
"--create"
"--gzip" "--file" name "lib/xemacs/site-packages"
"lib/xemacs/xemacs-packages" "lib/xemacs/mule-packages"))
(call-process "rm" nil nil nil "-rf" temp)))