diff options
Diffstat (limited to 'app-emacs/rudel')
-rw-r--r-- | app-emacs/rudel/Manifest | 7 | ||||
-rw-r--r-- | app-emacs/rudel/files/60rudel-gentoo.el | 13 | ||||
-rw-r--r-- | app-emacs/rudel/files/rudel-0.3_pre20110721-emacs25.patch | 341 | ||||
-rw-r--r-- | app-emacs/rudel/metadata.xml | 19 | ||||
-rw-r--r-- | app-emacs/rudel/rudel-0.3_pre20110721-r1.ebuild | 49 |
5 files changed, 429 insertions, 0 deletions
diff --git a/app-emacs/rudel/Manifest b/app-emacs/rudel/Manifest new file mode 100644 index 000000000000..d4bb7321dd33 --- /dev/null +++ b/app-emacs/rudel/Manifest @@ -0,0 +1,7 @@ +AUX 60rudel-gentoo.el 542 SHA256 3a5509fe5f36f6add179831c6c49c8ab70e1e526a653ce6d470587715e2a6f1f SHA512 8b553141f8ade7c93e5d30298fe921b420a84d005450092473589a91e7e8ce5a0ad76ce7beaf8be1cb8233bb3f1693a4a6d055d034b903d46e5883f1d35386d0 WHIRLPOOL ba44f8a7e0c87ef43cc75966841e63574de7a05bce1fd12a1d234239928705cd1c6decd5db0ff1be36f5d29c867831d4347953b8f53e9b8bf5082443a7507598 +AUX rudel-0.3_pre20110721-emacs25.patch 9309 SHA256 92e6741ad0d32a218da8fe41292cd93c434b367d2f33ebfdb115aaa234fff09d SHA512 6f5d8b6cadf527ea7c8410519d07b2f831e13da10812a5180142ca381d47ee14072ed59251a048d250c5a582998e9fb8205f050f034d7aa21a336b98255b9bc0 WHIRLPOOL 3ed46af2a1065b67cf624763750958b527335855a66bfc946068602abfdc535e3f8d90fb9195e2825a10d77ece45fe325b2e2efa0fb5544771062d6b93a67caa +DIST rudel-0.3_pre20110721.tar.xz 416060 SHA256 7c0a3ba5ff7d8c5bfdb7a53c1d2d138977e2795025388a1b5fdaf0f031e6b2af SHA512 abf6c8eb4fcaf4acafb9bed7cafff5d3c8e19e3fecd2aa779065bfb11ce5cb198ef14cc9deed360ac895166ea159a821e24dc92dbeda4f5481d1bb3bc2f8c023 WHIRLPOOL 5160716cd66ab4c4df18e8f02a31807ae9e6f239d532ddc1837a3d34c548ae5abd349ba86abc3b9613f44d5a7450d82837b18f5fbca7eaa52b617a1345c4d626 +EBUILD rudel-0.3_pre20110721-r1.ebuild 1198 SHA256 8b49427aca2aa23fa0386bebc3e78c7cdb7fc23b97a8447eb7b44392d5301332 SHA512 6f9ab298be4e340c8f2aa334345f58f3361b39ae8b790495cffb3c59675c4d9bf0f8b0bbe6982229d32833bdddbe50321b9f73a94ba45a8491e19e81675c3389 WHIRLPOOL 5470ff1955b9daf9f3f385b7fa923c7fbfa8241d616b03becac27a9ca59c8b33694b3a7889218c9f426eaaad121ab198c9f817e302ac408bee0bab6e6728564d +MISC ChangeLog 2793 SHA256 0f216250f242e298a525d60b9a3c1b67dbc293654b587f6aa9d5eb97f4cfd9d0 SHA512 1d96b65a23d2bc57d54165941af8d33da373e78e21be846450e786712fc3655affc056700623ebb971546db79d24b1b1e53e253c35ed217ceb076ceb594a9580 WHIRLPOOL da3290c9b840c4681321bb5fef834e4d6ba3e3fc65df8282a95fd2258643b0af0e8aa1b440fb1735e1e989bed16fe6f49fc4d991eeca161bd86746fb00dc329e +MISC ChangeLog-2015 1066 SHA256 290c726c6c4fce503a2959164b442f810314c59fb4e801e138958400b71de551 SHA512 cca681164dc55c2fe17c7aa2e8f1075add5ed03246ba00130aa75640d10950a5c0ab3745c998d04f74c871004be0a1cf40f09ff19bd1c6cea130e070ea495d41 WHIRLPOOL 657debe49d7a4f4971c4764b2d20a2cb0a044a503ff75e0490b06b119238e862649d875d0ffcbe457eeb541cfbcb408e29ce8f6089750405eabd86be11ebbb14 +MISC metadata.xml 758 SHA256 ebf5e063dca5bb97a7851a87d9e1641013c3e663b7a384ec8594e5ace59ab01e SHA512 0e13853ba328d3416efc78d4a2943e6577f6a95574af149fc4d8e82312d53d1b56a771cd60a3d3d277c1342fe338647672d83ef6fb225c97818185c19c759178 WHIRLPOOL 471b27af1a004c77d01c47df39bad9033dfa0449643616e6e72757320b80cd230a61fb6b116e6be85014007a9511b787aa4e69221b918456488c32a283eb5834 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..8ce7af55dc22 --- /dev/null +++ b/app-emacs/rudel/metadata.xml @@ -0,0 +1,19 @@ +<?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> +<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..da2b0d29a4c7 --- /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/ + http://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 +} |