summaryrefslogtreecommitdiff
path: root/pcr/emacs-elib
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/emacs-elib')
-rw-r--r--pcr/emacs-elib/PKGBUILD51
-rw-r--r--pcr/emacs-elib/elib-deprecation.patch461
-rw-r--r--pcr/emacs-elib/emacs-elib.install34
3 files changed, 546 insertions, 0 deletions
diff --git a/pcr/emacs-elib/PKGBUILD b/pcr/emacs-elib/PKGBUILD
new file mode 100644
index 000000000..22946859e
--- /dev/null
+++ b/pcr/emacs-elib/PKGBUILD
@@ -0,0 +1,51 @@
+# PKGBUILD for Emacs Lisp Library (elib)
+# Contributor: J. Bromley <jbromley@gmail.com>
+# $Id: PKGBUILD,v e6d455730f95 2009/12/03 05:38:28 jbromley $
+# Maintainer : Parabola GNU / Linux-libre Aurelien Desbrieres <aurelien@cwb.io>
+
+pkgname=emacs-elib
+_pkgname=elib
+pkgver=1.0
+pkgrel=3
+pkgdesc="The Emacs Lisp library"
+arch=('i686' 'x86_64')
+url="http://jdee.sourceforge.net/"
+license="GPL"
+depends=('emacs')
+makedepends=('texinfo' 'gzip')
+conflicts=()
+replaces=()
+backup=()
+install="$pkgname.install"
+source=(http://downloads.sourceforge.net/project/jdee/jdee/Dependencies/elib.tar.gz)
+md5sums=('4feb380f2e3b12eb5500dfe6714e349d')
+
+build() {
+mv $startdir/src/pub/comp/os/unix/gnu/elib/$_pkgname-$pkgver.tar.gz $startdir/src
+cd $startdir/src/
+tar -xzf $_pkgname-$pkgver.tar.gz
+cd $startdir/src/$_pkgname-$pkgver
+
+# Fix up paths and old --infodir flag.
+sed -i 's!/usr/local!/usr!' Makefile
+sed -i 's!/info!/share/info!' Makefile
+sed -i 's!--infodir!--info-dir!g' Makefile
+
+# Patch to get rid of deprecated code.
+patch -p1 < $startdir/elib-deprecation.patch
+
+# Create directories for installation
+mkdir -p $startdir/pkg/usr/share/info
+mkdir -p $startdir/pkg/usr/share/emacs/site-lisp
+make || return 1
+
+# Install the compile package and gzip info file.
+make prefix=$startdir/pkg/usr install
+find $startdir/pkg -name dir -exec rm '{}' \;
+mv $startdir/pkg/usr/share/info/elib.info $startdir/pkg/usr/share/info/elib
+gzip $startdir/pkg/usr/share/info/elib
+}
+
+# Local Variables:
+# mode: shell-script
+# End:
diff --git a/pcr/emacs-elib/elib-deprecation.patch b/pcr/emacs-elib/elib-deprecation.patch
new file mode 100644
index 000000000..ce8aedb6f
--- /dev/null
+++ b/pcr/emacs-elib/elib-deprecation.patch
@@ -0,0 +1,461 @@
+diff -ub elib-1.0.orig/avltree.el elib-1.0/avltree.el
+--- elib-1.0.orig/avltree.el 1995-12-10 16:50:53.000000000 -0800
++++ elib-1.0/avltree.el 2008-06-22 15:31:48.000000000 -0700
+@@ -69,19 +69,19 @@
+ (defmacro elib-avl-node-create (left right data balance)
+
+ ;; Create and return an avl-tree node.
+- (` (vector (, left) (, right) (, data) (, balance))))
++ `(vector ,left ,right ,data ,balance))
+
+
+ (defmacro elib-avl-node-balance (node)
+
+ ;; Return the balance field of a node.
+- (` (aref (, node) 3)))
++ `(aref ,node 3))
+
+
+ (defmacro elib-avl-node-set-balance (node newbal)
+
+ ;; Set the balance field of a node.
+- (` (aset (, node) 3 (, newbal))))
++ `(aset ,node 3 ,newbal))
+
+
+
+@@ -96,20 +96,20 @@
+ (defmacro elib-avl-root (tree)
+
+ ;; Return the root node for an avl-tree. INTERNAL USE ONLY.
+- (` (elib-node-left (car (cdr (, tree))))))
++ `(elib-node-left (car (cdr ,tree))))
+
+
+ (defmacro elib-avl-dummyroot (tree)
+
+ ;; Return the dummy node of an avl-tree. INTERNAL USE ONLY.
+
+- (` (car (cdr (, tree)))))
++ `(car (cdr ,tree)))
+
+
+ (defmacro elib-avl-cmpfun (tree)
+
+ ;; Return the compare function of AVL tree TREE. INTERNAL USE ONLY.
+- (` (cdr (cdr (, tree)))))
++ `(cdr (cdr ,tree)))
+
+
+ ;; ----------------------------------------------------------------
+@@ -412,20 +412,20 @@
+ ;; INTERNAL USE ONLY.
+
+ (let ((node root)
+- (stack (elib-stack-create))
++ (stack (stack-create))
+ (go-left t))
+- (elib-stack-push stack nil)
++ (stack-push stack nil)
+ (while node
+ (if (and go-left
+ (elib-node-left node))
+ (progn ; Do the left subtree first.
+- (elib-stack-push stack node)
++ (stack-push stack node)
+ (setq node (elib-node-left node)))
+ (funcall map-function node) ; Apply the function...
+ (if (elib-node-right node) ; and do the right subtree.
+ (setq node (elib-node-right node)
+ go-left t)
+- (setq node (elib-stack-pop stack)
++ (setq node (stack-pop stack)
+ go-left nil))))))
+
+
+diff -ub elib-1.0.orig/bintree.el elib-1.0/bintree.el
+--- elib-1.0.orig/bintree.el 1995-12-10 16:50:53.000000000 -0800
++++ elib-1.0/bintree.el 2008-06-22 15:28:45.000000000 -0700
+@@ -64,19 +64,19 @@
+ (defmacro elib-bintree-root (tree)
+
+ ;; Return the root node for a binary tree. INTERNAL USE ONLY.
+- (` (elib-node-left (car (cdr (, tree))))))
++ `(elib-node-left (car (cdr ,tree))))
+
+
+ (defmacro elib-bintree-dummyroot (tree)
+
+ ;; Return the dummy node of a binary tree. INTERNAL USE ONLY.
+- (` (car (cdr (, tree)))))
++ `(car (cdr ,tree)))
+
+
+ (defmacro elib-bintree-cmpfun (tree)
+
+ ;; Return the compare function of binary tree TREE. INTERNAL USE ONLY."
+- (` (cdr (cdr (, tree)))))
++ `(cdr (cdr ,tree)))
+
+
+
+@@ -90,20 +90,20 @@
+ ;; INTERNAL USE ONLY."
+
+ (let ((node root)
+- (stack (elib-stack-create))
++ (stack (stack-create))
+ (go-left t))
+- (elib-stack-push stack nil)
++ (stack-push stack nil)
+ (while node
+ (if (and go-left
+ (elib-node-left node))
+ (progn ; Do the left subtree first.
+- (elib-stack-push stack node)
++ (stack-push stack node)
+ (setq node (elib-node-left node)))
+ (funcall map-function node) ; Apply the function...
+ (if (elib-node-right node) ; and do the right subtree.
+ (setq node (elib-node-right node)
+ go-left t)
+- (setq node (elib-stack-pop stack)
++ (setq node (stack-pop stack)
+ go-left nil))))))
+
+
+diff -ub elib-1.0.orig/cookie.el elib-1.0/cookie.el
+--- elib-1.0.orig/cookie.el 1995-12-10 16:50:54.000000000 -0800
++++ elib-1.0/cookie.el 2008-06-22 15:38:55.000000000 -0700
+@@ -139,13 +139,13 @@
+
+ (let ((old-buffer (make-symbol "old-buffer"))
+ (hnd (make-symbol "collection")))
+- (` (let* (((, old-buffer) (current-buffer))
+- ((, hnd) (, collection))
+- (dll (elib-collection->dll (, hnd))))
+- (set-buffer (elib-collection->buffer (, hnd)))
++ `(let* ((,old-buffer (current-buffer))
++ (,hnd ,collection)
++ (dll (elib-collection->dll ,hnd)))
++ (set-buffer (elib-collection->buffer ,hnd))
+ (unwind-protect
+- (progn (,@ forms))
+- (set-buffer (, old-buffer)))))))
++ (progn ,@forms)
++ (set-buffer ,old-buffer)))))
+
+
+ (put 'elib-set-buffer-bind-dll-let* 'lisp-indent-hook 2)
+@@ -160,14 +160,14 @@
+
+ (let ((old-buffer (make-symbol "old-buffer"))
+ (hnd (make-symbol "collection")))
+- (` (let* (((, old-buffer) (current-buffer))
+- ((, hnd) (, collection))
+- (dll (elib-collection->dll (, hnd)))
+- (,@ varlist))
+- (set-buffer (elib-collection->buffer (, hnd)))
++ `(let* ((,old-buffer (current-buffer))
++ (,hnd ,collection)
++ (dll (elib-collection->dll ,hnd))
++ ,@varlist)
++ (set-buffer (elib-collection->buffer ,hnd))
+ (unwind-protect
+- (progn (,@ forms))
+- (set-buffer (, old-buffer)))))))
++ (progn ,@forms)
++ (set-buffer ,old-buffer)))))
+
+
+ (defmacro elib-filter-hf (collection tin)
+@@ -179,12 +179,12 @@
+
+ (let ((tempvar (make-symbol "tin"))
+ (tmpcoll (make-symbol "tmpcollection")))
+- (` (let (((, tempvar) (, tin))
+- ((, tmpcoll) (, collection)))
+- (if (or (eq (, tempvar) (elib-collection->header (, tmpcoll)))
+- (eq (, tempvar) (elib-collection->footer (, tmpcoll))))
++ `(let ((,tempvar ,tin)
++ (,tmpcoll ,collection))
++ (if (or (eq ,tempvar (elib-collection->header ,tmpcoll))
++ (eq ,tempvar (elib-collection->footer ,tmpcoll)))
+ nil
+- (, tempvar))))))
++ ,tempvar))))
+
+
+
+diff -ub elib-1.0.orig/dll-debug.el elib-1.0/dll-debug.el
+--- elib-1.0.orig/dll-debug.el 1995-12-10 16:50:54.000000000 -0800
++++ elib-1.0/dll-debug.el 2008-06-22 15:25:14.000000000 -0700
+@@ -74,9 +74,9 @@
+ (defmacro dll-insert-after (node element)
+ (let ((node-v (make-symbol "node"))
+ (element-v (make-symbol "element")))
+- (` (let (((, node-v) (, node))
+- ((, element-v) (, element)))
+- (setcdr (, node-v) (cons (, element-v) (cdr (, node-v))))))))
++ `(let ((,node-v ,node)
++ (,element-v ,element))
++ (setcdr ,node-v (cons ,element-v (cdr ,node-v))))))
+
+ ;;; ===================================================================
+ ;;; The public functions which operate on doubly linked lists.
+@@ -86,7 +86,7 @@
+ "Get the element of a NODE in a doubly linked list DLL.
+ Args: DLL NODE."
+
+- (` (car (, node))))
++ `(car ,node))
+
+
+ (defun dll-create ()
+diff -ub elib-1.0.orig/dll.el elib-1.0/dll.el
+--- elib-1.0.orig/dll.el 1995-12-10 16:50:54.000000000 -0800
++++ elib-1.0/dll.el 2008-06-22 15:22:58.000000000 -0700
+@@ -89,7 +89,7 @@
+ "Get the element of a NODE in a doubly linked list DLL.
+ Args: DLL NODE."
+
+- (` (elib-node-data (, node))))
++ `(elib-node-data ,node))
+
+
+ (defun dll-create ()
+diff -ub elib-1.0.orig/elib-node.el elib-1.0/elib-node.el
+--- elib-1.0.orig/elib-node.el 1995-12-10 16:50:53.000000000 -0800
++++ elib-1.0/elib-node.el 2008-06-22 15:21:46.000000000 -0700
+@@ -49,42 +49,42 @@
+ (defmacro elib-node-create (left right data)
+
+ ;; Create a tree node from LEFT, RIGHT and DATA.
+- (` (vector (, left) (, right) (, data))))
++ `(vector ,left ,right ,data))
+
+
+ (defmacro elib-node-left (node)
+
+ ;; Return the left pointer of NODE.
+- (` (aref (, node) 0)))
++ `(aref ,node 0))
+
+
+ (defmacro elib-node-right (node)
+
+ ;; Return the right pointer of NODE.
+- (` (aref (, node) 1)))
++ `(aref ,node 1))
+
+
+ (defmacro elib-node-data (node)
+
+ ;; Return the data of NODE.
+- (` (aref (, node) 2)))
++ `(aref ,node 2))
+
+
+ (defmacro elib-node-set-left (node newleft)
+
+ ;; Set the left pointer of NODE to NEWLEFT.
+- (` (aset (, node) 0 (, newleft))))
++ `(aset ,node 0 ,newleft))
+
+
+ (defmacro elib-node-set-right (node newright)
+
+ ;; Set the right pointer of NODE to NEWRIGHT.
+- (` (aset (, node) 1 (, newright))))
++ `(aset ,node 1 ,newright))
+
+
+ (defmacro elib-node-set-data (node newdata)
+ ;; Set the data of NODE to NEWDATA.
+- (` (aset (, node) 2 (, newdata))))
++ `(aset ,node 2 ,newdata))
+
+
+
+@@ -94,7 +94,7 @@
+ ;;
+ ;; NODE is the node, and BRANCH is the branch.
+ ;; 0 for left pointer, 1 for right pointer and 2 for the data."
+- (` (aref (, node) (, branch))))
++ `(aref ,node ,branch))
+
+
+ (defmacro elib-node-set-branch (node branch newval)
+@@ -104,6 +104,6 @@
+ ;; NODE is the node, and BRANCH is the branch.
+ ;; 0 for left pointer, 1 for the right pointer and 2 for the data.
+ ;; NEWVAL is new value of the branch."
+- (` (aset (, node) (, branch) (, newval))))
++ `(aset ,node ,branch ,newval))
+
+ ;;; elib-node.el ends here.
+Only in elib-1.0: elib.info
+diff -ub elib-1.0.orig/queue-m.el elib-1.0/queue-m.el
+--- elib-1.0.orig/queue-m.el 1995-12-10 16:50:53.000000000 -0800
++++ elib-1.0/queue-m.el 2008-06-22 15:13:41.000000000 -0700
+@@ -54,12 +54,12 @@
+
+ (defmacro queue-create ()
+ "Create an empty fifo queue."
+- (` (cons 'QUEUE (cons nil nil))))
++ `(cons 'QUEUE (cons nil nil)))
+
+
+ (defmacro queue-p (queue)
+ "Return t if QUEUE is a queue, otherwise return nil."
+- (` (eq (car-safe (, queue)) 'QUEUE)))
++ `(eq (car-safe ,queue) 'QUEUE))
+
+
+ (defun queue-enqueue (queue element)
+@@ -91,13 +91,13 @@
+
+ (defmacro queue-empty (queue)
+ "Return t if QUEUE is empty, otherwise return nil."
+- (` (null (car (cdr (, queue))))))
++ `(null (car (cdr ,queue))))
+
+
+ (defmacro queue-first (queue)
+ "Return the first element of QUEUE or nil if it is empty.
+ The element is not removed."
+- (` (car-safe (car (cdr (, queue))))))
++ `(car-safe (car (cdr ,queue))))
+
+
+ (defmacro queue-nth (queue n)
+@@ -106,18 +106,18 @@
+ If the length of the queue is less than N, return nil.
+
+ The oldest element (the first one) has number 0."
+- (` (nth (, n) (car (cdr (, queue))))))
++ `(nth ,n (car (cdr ,queue))))
+
+
+ (defmacro queue-last (queue)
+ "Return the last element of QUEUE or nil if it is empty."
+- (` (car-safe (cdr (cdr (, queue))))))
++ `(car-safe (cdr (cdr ,queue))))
+
+
+ (defmacro queue-all (queue)
+ "Return a list of all elements of QUEUE or nil if it is empty.
+ The oldest element in the queue is the first in the list."
+- (` (car (cdr (, queue)))))
++ `(car (cdr ,queue)))
+
+
+ (defun queue-copy (queue)
+@@ -131,11 +131,11 @@
+
+ (defmacro queue-length (queue)
+ "Return the number of elements in QUEUE."
+- (` (length (car (cdr (, queue))))))
++ `(length (car (cdr ,queue))))
+
+
+ (defmacro queue-clear (queue)
+ "Remove all elements from QUEUE."
+- (` (setcdr (, queue) (cons nil nil))))
++ `(setcdr ,queue (cons nil nil)))
+
+ ;;; queue-m.el ends here
+diff -ub elib-1.0.orig/read.el elib-1.0/read.el
+--- elib-1.0.orig/read.el 1995-12-10 16:50:54.000000000 -0800
++++ elib-1.0/read.el 2008-06-22 15:40:38.000000000 -0700
+@@ -61,7 +61,7 @@
+ numdefault)
+ (setq number numdefault))
+ ((string-match "\\`[0-9]+\\'" numstr)
+- (setq number (string-to-int numstr)))
++ (setq number (string-to-number numstr)))
+ (t (beep))))
+ number))
+
+diff -ub elib-1.0.orig/stack-m.el elib-1.0/stack-m.el
+--- elib-1.0.orig/stack-m.el 1995-12-10 16:50:52.000000000 -0800
++++ elib-1.0/stack-m.el 2008-06-22 15:10:48.000000000 -0700
+@@ -51,36 +51,36 @@
+
+ (defmacro stack-create ()
+ "Create an empty lifo stack."
+- (` (cons 'STACK nil)))
++ `(cons 'STACK nil))
+
+
+ (defmacro stack-p (stack)
+ "Return t if STACK is a stack, otherwise return nil."
+- (` (eq (car-safe (, stack)) 'STACK)))
++ `(eq (car-safe ,stack) 'STACK))
+
+
+ (defmacro stack-push (stack element)
+ "Push an element onto the stack.
+ Args: STACK ELEMENT"
+- (` (setcdr (, stack) (cons (, element) (cdr (, stack))))))
++ `(setcdr ,stack (cons ,element (cdr ,stack))))
+
+
+ (defmacro stack-pop (stack)
+ "Remove the topmost element from STACK and return it.
+ If the stack is empty, return nil."
+- (` (prog1
+- (car-safe (cdr (, stack)))
+- (setcdr (, stack) (cdr-safe (cdr (, stack)))))))
++ `(prog1
++ (car-safe (cdr ,stack))
++ (setcdr ,stack (cdr-safe (cdr ,stack)))))
+
+
+ (defmacro stack-empty (stack)
+ "Return t if STACK is empty, otherwise return nil."
+- (` (null (cdr (, stack)))))
++ `(null (cdr ,stack)))
+
+
+ (defmacro stack-top (stack)
+ "Return the topmost element of STACK or nil if it is empty."
+- (` (car-safe (cdr (, stack)))))
++ `(car-safe (cdr ,stack)))
+
+
+ (defmacro stack-nth (stack n)
+@@ -89,28 +89,28 @@
+ If the length of the stack is less than N, return nil.
+
+ The top stack element has number 0."
+- (` (nth (, n) (cdr (, stack)))))
++ `(nth ,n (cdr ,stack)))
+
+
+ (defmacro stack-all (stack)
+ "Return a list of all entries in STACK.
+ The element last pushed is first in the list."
+- (` (cdr (, stack))))
++ `(cdr ,stack))
+
+
+ (defmacro stack-copy (stack)
+ "Return a copy of STACK.
+ All entries in STACK are also copied."
+- (` (cons 'STACK (copy-sequence (cdr (, stack))))))
++ `(cons 'STACK (copy-sequence (cdr ,stack))))
+
+
+ (defmacro stack-length (stack)
+ "Return the number of elements on STACK."
+- (` (length (cdr (, stack)))))
++ `(length (cdr ,stack)))
+
+
+ (defmacro stack-clear (stack)
+ "Remove all elements from STACK."
+- (` (setcdr (, stack) nil)))
++ `(setcdr ,stack nil))
+
+ ;;; stack-m.el ends here
diff --git a/pcr/emacs-elib/emacs-elib.install b/pcr/emacs-elib/emacs-elib.install
new file mode 100644
index 000000000..53a01f9f6
--- /dev/null
+++ b/pcr/emacs-elib/emacs-elib.install
@@ -0,0 +1,34 @@
+# emacs-elib.install
+# Install info file and show configuration info.
+# $Id: emacs-elib.install,v e6d455730f95 2008/06/23 05:55:28 jbromley $
+post_install () {
+if sh -c 'install-info --version' > /dev/nul 2>&1; then
+ if [ -f /usr/share/info/elib.gz ]; then
+ cd /usr/share/info
+ install-info --info-dir=/usr/share/info --section=Emacs --name=Elib \
+ --description=' The Emacs Lisp Library' elib.gz
+ fi
+fi
+
+echo ""
+echo "==> To use elib, add the following Lisp to your ~/.emacs file:"
+echo "==> "
+echo "==> (setq load-path (append (list \"/usr/share/emacs/site-lisp/elib\")"
+echo "==> load-path))"
+echo "==> "
+echo "==> You do not need this if you have a subdirs.el in your Emacs site-lisp"
+echo "==> directory."
+echo ""
+}
+
+post_upgrade () {
+ post_install $1
+}
+
+op=$1
+shift
+$op $*
+
+# Local Variables:
+# mode: shell-script
+# End: