summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2018-08-09 19:56:14 +0200
committerUlrich Müller <ulm@gentoo.org>2018-08-09 20:19:49 +0200
commitd7d89ad147edc8b7b348777dc5c00c58abd59a37 (patch)
tree443d16a7426d7f6ad5a35459ad93e08e6e38ce13 /app-emacs/gnuserv
parentdev-db/postgresql: Bump (diff)
downloadgentoo-d7d89ad147edc8b7b348777dc5c00c58abd59a37.tar.gz
gentoo-d7d89ad147edc8b7b348777dc5c00c58abd59a37.tar.bz2
gentoo-d7d89ad147edc8b7b348777dc5c00c58abd59a37.zip
app-emacs/gnuserv: Fix runtime failure with Emacs 27.
Package-Manager: Portage-2.3.44, Repoman-2.3.10
Diffstat (limited to 'app-emacs/gnuserv')
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch16
-rw-r--r--app-emacs/gnuserv/files/gnuserv-3.12.8-process-query.patch14
-rw-r--r--app-emacs/gnuserv/gnuserv-3.12.8-r4.ebuild71
3 files changed, 101 insertions, 0 deletions
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch
new file mode 100644
index 000000000000..a16124821ddb
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-backquotes.patch
@@ -0,0 +1,16 @@
+Use new-style backquotes, to make it compile with Emacs 27.
+
+--- gnuserv-3.12.8-orig/gnuserv-compat.el
++++ gnuserv-3.12.8/gnuserv-compat.el
+@@ -193,9 +193,9 @@
+ (defmacro defgroup (&rest args)
+ nil)
+ (defmacro defcustom (var value doc &rest args)
+- (` (defvar (, var) (, value) (, doc))))
++ `(defvar (, var) (, value) (, doc)))
+ (defmacro defface (var value doc &rest args)
+- (` (make-face (, var))))
++ `(make-face (, var)))
+ (defmacro define-widget (&rest args)
+ nil)))
+
diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-process-query.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-process-query.patch
new file mode 100644
index 000000000000..4fcbccc2b59b
--- /dev/null
+++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-process-query.patch
@@ -0,0 +1,14 @@
+Function process-kill-without-query is obsolete since 22.1 and no
+longer exists in 27.
+
+--- gnuserv-3.12.8-orig/gnuserv.el
++++ gnuserv-3.12.8/gnuserv.el
+@@ -738,7 +738,7 @@
+ (start-process "gnuserv" nil gnuserv-program)))
+ (set-process-sentinel gnuserv-process 'gnuserv-sentinel)
+ (set-process-filter gnuserv-process 'gnuserv-process-filter)
+- (process-kill-without-query gnuserv-process)
++ (set-process-query-on-exit-flag gnuserv-process nil)
+ (setq allow-deletion-of-last-visible-frame t)
+ (run-hooks 'gnuserv-init-hook)))
+
diff --git a/app-emacs/gnuserv/gnuserv-3.12.8-r4.ebuild b/app-emacs/gnuserv/gnuserv-3.12.8-r4.ebuild
new file mode 100644
index 000000000000..935e23bd8c8f
--- /dev/null
+++ b/app-emacs/gnuserv/gnuserv-3.12.8-r4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit elisp multilib desktop xdg-utils
+
+DESCRIPTION="Attach to an already running Emacs"
+HOMEPAGE="http://meltin.net/hacks/emacs/"
+SRC_URI="http://meltin.net/hacks/emacs/src/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-linux ~ppc-macos"
+IUSE="X"
+
+RDEPEND=">=app-eselect/eselect-emacs-1.15
+ X? ( x11-libs/libXau )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+SITEFILE="50${PN}-gentoo.el"
+
+src_prepare() {
+ eapply "${FILESDIR}"/${P}-backquotes.patch
+ eapply "${FILESDIR}"/${P}-process-query.patch
+ sed -i -e 's/exec gnuclient/&-emacs/' gnudoit || die
+ eapply_user
+}
+
+src_configure() {
+ econf $(use_enable X xauth) \
+ --x-includes="${EPREFIX}"/usr/include \
+ --x-libraries="${EPREFIX}"/usr/$(get_libdir)
+}
+
+src_compile() {
+ default
+}
+
+src_install() {
+ exeinto /usr/libexec/emacs
+ doexe gnuserv
+ newbin gnuclient gnuclient-emacs
+ newbin gnudoit gnudoit-emacs
+ # Don't install gnuattach, it is not functional with FSF GNU Emacs
+
+ newman gnuserv.1 gnuserv-emacs.1
+ echo ".so man1/gnuserv-emacs.1" | newman - gnuclient-emacs.1
+ echo ".so man1/gnuserv-emacs.1" | newman - gnudoit-emacs.1
+
+ elisp-install ${PN} *.el *.elc
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ dodoc ChangeLog README README.orig
+
+ if use X; then
+ domenu "${FILESDIR}"/gnuclient.desktop || die
+ fi
+}
+
+pkg_postinst() {
+ elisp-site-regen
+ use X && xdg_desktop_database_update
+ eselect gnuclient update ifunset
+}
+
+pkg_postrm() {
+ elisp-site-regen
+ use X && xdg_desktop_database_update
+ eselect gnuclient update ifunset
+}