public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emacs/rudel/, app-emacs/rudel/files/
Date: Sat,  6 Aug 2016 12:29:22 +0000 (UTC)	[thread overview]
Message-ID: <1470486543.b67bfddd4a45e354541854999b63d00f16a66437.ulm@gentoo> (raw)

commit:     b67bfddd4a45e354541854999b63d00f16a66437
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug  6 12:29:03 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug  6 12:29:03 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b67bfddd

app-emacs/rudel: Fix compilation with Emacs 25.

Bug: 590340

Package-Manager: portage-2.3.0

 .../files/rudel-0.3_pre20110721-emacs25.patch      | 341 +++++++++++++++++++++
 app-emacs/rudel/rudel-0.3_pre20110721-r1.ebuild    |  50 +++
 2 files changed, 391 insertions(+)

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 0000000..98aa38f
--- /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))
+ \f
+ ;;; 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 @@
+ \f
+ ;;; 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)))
+   )
+ 
+ \f
+@@ -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 @@
+ \f
+ ;;; 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)
+ 
+ \f

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 0000000..07b7c39
--- /dev/null
+++ b/app-emacs/rudel/rudel-0.3_pre20110721-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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
+}


             reply	other threads:[~2016-08-06 12:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-06 12:29 Ulrich Müller [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-11-29 21:26 [gentoo-commits] repo/gentoo:master commit in: app-emacs/rudel/, app-emacs/rudel/files/ Ulrich Müller
2021-05-04  8:48 Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1470486543.b67bfddd4a45e354541854999b63d00f16a66437.ulm@gentoo \
    --to=ulm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox