summaryrefslogtreecommitdiff
path: root/app-emacs/rudel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-emacs/rudel
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-emacs/rudel')
-rw-r--r--app-emacs/rudel/Manifest5
-rw-r--r--app-emacs/rudel/files/60rudel-gentoo.el13
-rw-r--r--app-emacs/rudel/files/rudel-0.3_pre20110721-emacs25.patch341
-rw-r--r--app-emacs/rudel/metadata.xml20
-rw-r--r--app-emacs/rudel/rudel-0.3_pre20110721-r1.ebuild49
5 files changed, 428 insertions, 0 deletions
diff --git a/app-emacs/rudel/Manifest b/app-emacs/rudel/Manifest
new file mode 100644
index 000000000000..ef57f0b692bf
--- /dev/null
+++ b/app-emacs/rudel/Manifest
@@ -0,0 +1,5 @@
+AUX 60rudel-gentoo.el 542 BLAKE2B 2b1e1df77779d5de74db60b434e9a66b9a85a9fddbf2139b7b4f56bb04d1837b77d0b64d126b932a4d3441bbc9dec4039f729c3452ed79e77a98853fb8a2d29b SHA512 8b553141f8ade7c93e5d30298fe921b420a84d005450092473589a91e7e8ce5a0ad76ce7beaf8be1cb8233bb3f1693a4a6d055d034b903d46e5883f1d35386d0
+AUX rudel-0.3_pre20110721-emacs25.patch 9309 BLAKE2B 4cb32e198519de82bee48bc0b3b6ffa32f5efc25afa34a201c43ea0ce23c22be38cb455afe17ad94ebd8b8121396908f3aef0a26b4ba1800a8d04c1f2c1dc8c8 SHA512 6f5d8b6cadf527ea7c8410519d07b2f831e13da10812a5180142ca381d47ee14072ed59251a048d250c5a582998e9fb8205f050f034d7aa21a336b98255b9bc0
+DIST rudel-0.3_pre20110721.tar.xz 416060 BLAKE2B 813ec0dc034a0893c0cc540118d9471fcb353c232ce37b70816183ebc99ff82c16e80eddf015f5d5663c7380a93c29b153871bb1ca58f37f06d4e09bddd87912 SHA512 abf6c8eb4fcaf4acafb9bed7cafff5d3c8e19e3fecd2aa779065bfb11ce5cb198ef14cc9deed360ac895166ea159a821e24dc92dbeda4f5481d1bb3bc2f8c023
+EBUILD rudel-0.3_pre20110721-r1.ebuild 1199 BLAKE2B 420d1983b029be02199dfe4bd3f1d3d090aa33b28917e2d31abd222b23b84ba6b371eb41910666df00443d0b93fc8f288ca4e6b3fdf2913a82424ab877cb25ff SHA512 6f7ebe1ed408b7c2524085fd4af4ecc274f7da04ce03a0127ce8f8015ddd6b3670f41a1eff8bd0d73176de38a3ef69075c3843d5c3ff6f61b04302cde2a1c961
+MISC metadata.xml 781 BLAKE2B 66f1f7794721148546035e40a21b27075a828174825fd0a09a8dd7bfdc863ad585dd3aa093745c6494e488d2cce85494b346d45c5ffaa7ae905927be4c8e8123 SHA512 2df67c7b3175b5f6d0109a2627abb9f12b5ab7f88bb8fe386e786ce4014d8c1c7886cdab181a928d9ba8ab1d932823fe90ef782341d0cbbf6c07f84952bb9326
diff --git a/app-emacs/rudel/files/60rudel-gentoo.el b/app-emacs/rudel/files/60rudel-gentoo.el
new file mode 100644
index 000000000000..2383074cfe17
--- /dev/null
+++ b/app-emacs/rudel/files/60rudel-gentoo.el
@@ -0,0 +1,13 @@
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'rudel-join-session "rudel-loaddefs"
+ "Start a collaborative Rudel session" t)
+(autoload 'rudel-host-session "rudel-loaddefs"
+ "Host a collaborative Rudel session" t)
+(autoload 'rudel-speedbar "rudel-loaddefs"
+ "Show connected users and documents for the Rudel session in speedbar" t)
+(autoload 'global-rudel-minor-mode "rudel-loaddefs"
+ "Bindings for rudel session-level commands" t)
+
+;;(global-set-key (kbd "C-c c j") 'rudel-join-session)
+
+(setq rudel-icons-directory "@SITEETC@/icons/")
diff --git a/app-emacs/rudel/files/rudel-0.3_pre20110721-emacs25.patch b/app-emacs/rudel/files/rudel-0.3_pre20110721-emacs25.patch
new file mode 100644
index 000000000000..98aa38f370d7
--- /dev/null
+++ b/app-emacs/rudel/files/rudel-0.3_pre20110721-emacs25.patch
@@ -0,0 +1,341 @@
+Fix byte-compilation with Emacs 25.
+https://bugs.gentoo.org/590340
+
+This comprises parts of the following commits from ELPA:
+
+commit 9ec4b84e27f3faae8ad3eb5d3e96c523ce1fece2
+Author: Stefan Monnier <monnier@iro.umontreal.ca>
+Date: Sun Jul 10 18:16:39 2016 -0400
+
+ * rudel-backend.el: Try and fix compilation problem
+
+commit 5e4f147f6b23c392505cb0cbb5f13384d6d96304
+Author: Stefan Monnier <monnier@iro.umontreal.ca>
+Date: Mon May 12 02:23:00 2014 -0400
+
+ Fix up headers and compilation
+
+--- rudel-orig/rudel-backend.el
++++ rudel/rudel-backend.el
+@@ -46,8 +46,7 @@
+ ;;; Code:
+ ;;
+
+-(eval-when-compile
+- (require 'cl))
++(require 'cl)
+
+ (require 'warnings)
+
+@@ -97,24 +96,34 @@
+ "Factory class that holds an object for each known backend
+ category. Objects manage backend implementation for one backend
+ category each.")
+-(oset-default rudel-backend-factory factories
++(oset-default 'rudel-backend-factory factories
+ (make-hash-table :test #'eq))
+
+-(defmethod initialize-instance ((this rudel-backend-factory) &rest slots)
++(defmethod initialize-instance ((this rudel-backend-factory) &rest _slots)
+ "Initialize slots of THIS with SLOTS."
+ (when (next-method-p)
+ (call-next-method))
+- (oset this :backends (make-hash-table :test #'eq)))
++ (oset this backends (make-hash-table :test #'eq)))
++
++;;;###autoload
++(progn
++(defmacro rudel--with-memoization (place &rest code)
++ (declare (indent 1) (debug t))
++ (gv-letplace (getter setter) place
++ `(or ,getter
++ ,(macroexp-let2 nil val (macroexp-progn code)
++ `(progn
++ ,(funcall setter val)
++ ,val))))))
+
+ ;;;###autoload
+ (defmethod rudel-get-factory :static ((this rudel-backend-factory)
+ category)
+ "Return the factory responsible for CATEGORY.
+ If there is no responsible factory, create one and return it."
+- (with-slots (factories) this
+- (or (gethash category factories)
+- (puthash category (rudel-backend-factory category) factories)))
+- )
++ (rudel--with-memoization
++ (gethash category (eieio-oref-default this 'factories))
++ (make-instance 'rudel-backend-factory))) ;; category
+
+ ;;;###autoload
+ (defmethod rudel-add-backend ((this rudel-backend-factory)
+@@ -188,7 +197,8 @@
+ (unless (object-p class)
+ (condition-case error
+ (puthash name (make-instance
+- class (symbol-name name)) backends)
++ class (symbol-name name))
++ backends)
+ (error
+ ;; Store this error on the name symbol of the backend for
+ ;; later display.
+@@ -224,7 +234,7 @@
+ ;;;###autoload
+ (defun rudel-backend-get-factory (category)
+ "A shortcut for getting the factory object for CATEGORY."
+- (rudel-get-factory rudel-backend-factory category))
++ (rudel-get-factory 'rudel-backend-factory category))
+
+ (defun rudel-backend-suitable-backends (category predicate)
+ "Return backends from category CATEGORY that satisfy PREDICATE.
+@@ -290,15 +300,15 @@
+
+ ;; Insert all backends provided by this factory.
+ (dolist (backend (rudel-all-backends factory))
+- (if (or (object-p (cdr backend))
+- (null (get (car backend)
+- 'rudel-backend-last-load-error)))
+- (insert (rudel-backend--format-backend-normal backend))
+- (insert (rudel-backend--format-backend-error backend))))
++ (insert (if (or (object-p (cdr backend))
++ (null (get (car backend)
++ 'rudel-backend-last-load-error)))
++ (rudel-backend--format-backend-normal backend)
++ (rudel-backend--format-backend-error backend))))
+
+ ;; One empty line between backend categories.
+ (insert "\n"))
+- (oref rudel-backend-factory factories))
++ (oref-default 'rudel-backend-factory factories))
+ (current-buffer))
+
+ (defun rudel-backend--format-backend-normal (backend)
+@@ -316,7 +326,7 @@
+ (propertize
+ (if (object-p (cdr backend))
+ (mapconcat #'prin1-to-string
+- (oref (cdr backend) :version)
++ (oref (cdr backend) version)
+ ".")
+ "?")
+ 'face 'font-lock-constant-face)
+@@ -324,7 +334,7 @@
+ (propertize
+ (if (object-p (cdr backend))
+ (mapconcat #'prin1-to-string
+- (oref (cdr backend) :capabilities)
++ (oref (cdr backend) capabilities)
+ " ")
+ "?")
+ 'face 'font-lock-constant-face))
+--- rudel-orig/rudel-color.el
++++ rudel/rudel-color.el
+@@ -46,6 +46,7 @@
+ ;;; Code:
+ ;;
+
++(eval-when-compile (require 'cl))
+
+ ;;; RGV <-> HSV conversion
+ ;;
+--- rudel-orig/rudel.el
++++ rudel/rudel.el
+@@ -41,8 +41,7 @@
+ ;;; Code:
+ ;;
+
+-(eval-when-compile
+- (require 'cl))
++(require 'cl)
+
+ (require 'eieio)
+ (require 'eieio-base)
+--- rudel-orig/rudel-icons.el
++++ rudel/rudel-icons.el
+@@ -41,8 +41,9 @@
+ ;;; Image constants
+ ;;
+
++(eval-and-compile
+ (defconst rudel-icons-image-formats '(svg png)
+- "Image formats to try (in that order) when loading Rudel icons.")
++ "Image formats to try (in that order) when loading Rudel icons."))
+
+ (defvar rudel-icons-directory
+ (file-name-as-directory
+--- rudel-orig/rudel-interactive.el
++++ rudel/rudel-interactive.el
+@@ -38,6 +38,7 @@
+
+ ;;; Code:
+ ;;
++(require 'cl)
+
+ (require 'rudel-compat) ;; for `read-color' replacement
+ (require 'rudel-backend) ;; for `rudel-backend-cons-p'
+@@ -80,25 +81,29 @@
+ (setq prompt "Session: "))
+ ;; For presentation and identification of sessions, use the :name
+ ;; property.
+- (flet ((to-string (session)
+- (if (rudel-backend-cons-p session)
+- (symbol-name (car session))
+- (plist-get session :name))))
++ (let ((to-string
++ (lambda (session)
++ (if (rudel-backend-cons-p session)
++ (symbol-name (car session))
++ (plist-get session :name)))))
+ ;; Read a session by name, then return that name or the
+ ;; corresponding session info.
+ (let ((session-name (completing-read prompt
+- (mapcar #'to-string sessions)
++ (mapcar to-string sessions)
+ nil t)))
+ (cond
+ ((eq return 'object)
+ (find session-name sessions
+- :key #'to-string :test #'string=))
++ :key to-string :test #'string=))
+ (t session-name))))
+ )
+
+ (defvar rudel-read-user-name-history nil
+ "History of inputs read by `rudel-read-user-name'.")
+
++(defvar rudel-default-username)
++(defvar rudel-current-session)
++
+ (defun rudel-read-user-name ()
+ "Read a username.
+ The default is taken from `rudel-default-username'."
+--- rudel-orig/rudel-mode.el
++++ rudel/rudel-mode.el
+@@ -48,6 +48,7 @@
+ ;;; Code:
+ ;;
+
++(require 'cl)
+ (require 'easy-mmode)
+ (require 'easymenu)
+
+@@ -132,6 +133,8 @@
+ (rudel-buffer-document))))
+ (force-mode-line-update))
+
++(defvar rudel-header-subscriptions-minor-mode)
++
+ (defun rudel-header-subscriptions--options-changed ()
+ "Update headers in buffers that have header subscriptions mode enabled."
+ (dolist (buffer (buffer-list))
+@@ -228,8 +231,7 @@
+ #'rudel-header-subscriptions--remove-user))
+
+ ;; Reset header line to default format.
+- (setq header-line-format default-header-line-format)
+- (force-mode-line-update)) ;; TODO remove all handlers
++ (kill-local-variable 'header-line-format)) ;; TODO remove all handlers
+
+ ;; No buffer document
+ (t
+@@ -237,8 +239,7 @@
+ (setq rudel-header-subscriptions-minor-mode nil)
+
+ ;; Reset header line to default format.
+- (setq header-line-format default-header-line-format)
+- (force-mode-line-update)))
++ (kill-local-variable 'header-line-format)))
+ )
+
+
+@@ -411,6 +412,8 @@
+ (force-mode-line-update)
+ )
+
++(defvar rudel-mode-line-publish-state-minor-mode)
++
+ (defun rudel-mode-line-publish-state--document-attach (document buffer)
+ "Handle attaching of DOCUMENT to BUFFER.
+ When `rudel-mode-line-publish-state-minor-mode' is enabled in
+--- rudel-orig/rudel-overlay.el
++++ rudel/rudel-overlay.el
+@@ -36,8 +36,7 @@
+
+ (require 'custom)
+
+-(eval-when-compile
+- (require 'cl))
++(require 'cl)
+
+ (require 'eieio)
+
+--- rudel-orig/rudel-session-initiation.el
++++ rudel/rudel-session-initiation.el
+@@ -54,8 +54,7 @@
+ ;;; Code:
+ ;;
+
+-(eval-when-compile
+- (require 'cl))
++(require 'cl)
+
+ (require 'eieio)
+
+--- rudel-orig/rudel-speedbar.el
++++ rudel/rudel-speedbar.el
+@@ -77,6 +77,8 @@
+ '([ "Subscribe" #'ignore t])
+ "Menu part in easymenu format used in speedbar while browsing objects.")
+
++(defvar rudel-current-session)
++
+ (defun rudel-speedbar-toplevel-buttons (dir)
+ "Return a list of objects to display in speedbar.
+ Argument DIR is the directory from which to derive the list of objects."
+--- rudel-orig/rudel-state-machine.el
++++ rudel/rudel-state-machine.el
+@@ -41,8 +41,7 @@
+ ;;; Code:
+ ;;
+
+-(eval-when-compile
+- (require 'cl))
++(require 'cl)
+
+ (require 'eieio)
+
+--- rudel-orig/rudel-transport-util.el
++++ rudel/rudel-transport-util.el
+@@ -48,7 +48,10 @@
+
+ ;;; Code:
+ ;;
+
++(eval-when-compile (require 'cl))
++(require 'eieio)
++(eval-when-compile (require 'rudel-util))
+ (require 'rudel-errors) ;; for `rudel-error'
+ (require 'rudel-transport)
+
+--- rudel-orig/rudel-util.el
++++ rudel/rudel-util.el
+@@ -43,8 +43,7 @@
+ ;;; Code:
+ ;;
+
+-(eval-when-compile
+- (require 'cl))
++(require 'cl)
+
+ (require 'eieio)
+
+--- rudel-orig/rudel-xml.el
++++ rudel/rudel-xml.el
+@@ -45,6 +45,7 @@
+ ;;; Code:
+ ;;
+
++(eval-when-compile (require 'cl))
+ (require 'xml)
+
+
diff --git a/app-emacs/rudel/metadata.xml b/app-emacs/rudel/metadata.xml
new file mode 100644
index 000000000000..9fc76a6d8ba5
--- /dev/null
+++ b/app-emacs/rudel/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>gnu-emacs@gentoo.org</email>
+ <name>Gentoo GNU Emacs project</name>
+</maintainer>
+<longdescription>
+ Rudel is collaborative editing environment for GNU Emacs. Its purpose
+ is tod share buffers with other users in order to edit the contents
+ of those buffers collaboratively. Rudel supports multiple backends to
+ enable communication with other collaborative editors using different
+ protocols, though currently Obby (for use with the Gobby editor) is
+ the only fully-functional one.
+</longdescription>
+<stabilize-allarches/>
+<upstream>
+ <remote-id type="sourceforge">rudel</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-emacs/rudel/rudel-0.3_pre20110721-r1.ebuild b/app-emacs/rudel/rudel-0.3_pre20110721-r1.ebuild
new file mode 100644
index 000000000000..a1d42fd45fb9
--- /dev/null
+++ b/app-emacs/rudel/rudel-0.3_pre20110721-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+NEED_EMACS=24
+
+inherit readme.gentoo-r1 elisp
+
+DESCRIPTION="Collaborative editing environment for GNU Emacs"
+HOMEPAGE="http://rudel.sourceforge.net/
+ https://www.emacswiki.org/emacs/Rudel"
+# snapshot of bzr://rudel.bzr.sourceforge.net/bzrroot/rudel/trunk
+SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${PN}"
+ELISP_PATCHES="${P}-emacs25.patch"
+SITEFILE="60${PN}-gentoo.el"
+
+src_compile() {
+ ${EMACS} ${EMACSFLAGS} -l rudel-compile.el || die
+}
+
+src_install() {
+ local dir
+
+ for dir in . adopted infinote jupiter obby socket telepathy tls \
+ xmpp zeroconf
+ do
+ insinto "${SITELISP}/${PN}/${dir}"
+ doins ${dir}/*.{el,elc}
+ done
+
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+
+ insinto "${SITEETC}/${PN}"
+ doins -r icons
+
+ dodoc README INSTALL ChangeLog TODO doc/card.pdf
+
+ DOC_CONTENTS="Connections to Gobby servers require the gnutls-cli program
+ (net-libs/gnutls).
+ \\n\\nThe Avahi daemon (net-dns/avahi) is required for automatic
+ session discovery and advertising."
+ readme.gentoo_create_doc
+}