diff options
Diffstat (limited to 'app-emacs/gnuserv')
-rw-r--r-- | app-emacs/gnuserv/Manifest | 9 | ||||
-rw-r--r-- | app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch | 7 | ||||
-rw-r--r-- | app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch | 62 | ||||
-rw-r--r-- | app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch | 47 | ||||
-rw-r--r-- | app-emacs/gnuserv/files/gnuserv-3.12.8-warnings.patch (renamed from app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch) | 77 | ||||
-rw-r--r-- | app-emacs/gnuserv/gnuserv-3.12.8-r7.ebuild (renamed from app-emacs/gnuserv/gnuserv-3.12.8-r6.ebuild) | 6 |
6 files changed, 67 insertions, 141 deletions
diff --git a/app-emacs/gnuserv/Manifest b/app-emacs/gnuserv/Manifest index 4889389f6a6a..f7db9692f95b 100644 --- a/app-emacs/gnuserv/Manifest +++ b/app-emacs/gnuserv/Manifest @@ -1,13 +1,14 @@ AUX 50gnuserv-gentoo.el 237 BLAKE2B 53e2fb102e832b852ebd23d3a7cda10a1cde7e1733818dd357edaa0ba67e66d925ea589195dd5b797ba37e62f44e26706669594f875409fb6afb294bba05d549 SHA512 24edf596178da29d68add510382241bf257ccb6ed0f9bd1aa65a2bda268b2fa506be616f70c75628d82cc8fda06617f5a4b58e602a9dc082476ac4ad4f0e047d AUX gnuclient.desktop 608 BLAKE2B b50695688d76ec34dae2fb68b4865769ab531a2a5add76a48c71eac6542ea3736f6e2239f1b05775e88bee3bc2ccfc6e50bc0c49a6eacbb277d822bb2cfb3003 SHA512 35616b5fe182f4127635454f4af89b307c0c52653878ef163efee4741c4b5fe5ab88d78f89ebfe499cc02516d2a7093c49dc2232a2768e952acd61651ff16468 -AUX gnuserv-3.12.8-advice.patch 1862 BLAKE2B f96771758e68523d2ad4d8cc69c9619e296917ad41aeca94f6b542260062830bd9f497542d9172b86fc1564c3e584ee867c64dbec7539a048fe69d54c3f4e172 SHA512 402e306ce311abba67a59f2d1c4eb2f1df334f1926579ba2da6c36ff15473d84dfde603066f1f68184f1aa280a9637e2d0b9d5f099097cbc8e691f741e6e1c6c +AUX gnuserv-3.12.8-advice.patch 1929 BLAKE2B bc203551fc3da1b846af2645289f92f03647b35464389f1bc68a6747e1e2227029e85b3262726be0e4cbb1d86277b1eb2f5fd0053155f835af9acbebe989d41c SHA512 940f57465686f76d50782f456880fb558152a9fcf4ca146783ebeb95620debe5835ea4a0980031387463d4ca353fce3ae599b679d835e4cb47f5cbf18e6f59bf AUX gnuserv-3.12.8-backquotes.patch 509 BLAKE2B 4770c01e4650301d1922b2c87e5cd723feb016fb5d5224aec715761a81b4f66614c7a535101764432a80c26f8e9c13d2fc3cbd1ab8122b5e608d3aeea3de73b3 SHA512 9ccdf8b4fe0ce45528ecec67782785b5d1ec82e5fd14d444b3f091d9c76add8052de3384e0b54fff479f4bc5729966ce520e62343159a7e251fce1e3841b5229 -AUX gnuserv-3.12.8-cl.patch 8635 BLAKE2B ce01d314c445c99eac137c46e9a62c186aed21c8cd93fd3902da2fd5f9b0e7ad780faf909cbe07caaec615429adb77fdef75917cc663edf351d2596723ab52f4 SHA512 75e33e7fccdcefe9d4b0a8672a26eb31d48572fc0858aee94a1701f9b05f7b3358a67b437244635980d76e543e8cc4d7d25c4940e36202a552eb86289b37029e +AUX gnuserv-3.12.8-cl.patch 6759 BLAKE2B 996ed95c137625adb6641324cc4c4408a10ae3f4a12daa69355f74d4579d09d48bc2456d2f5eaa93c6c6c0f111846def33b14466106fc318cd4c10a406b288c3 SHA512 fef9c9c01d177fbf6526fe8dd416ce4898aea3bf7d2418183c1f8bc69048139a1202533678cf2aee6d468b9bc899f6975847677860942f47f3e135b0add1a2cc +AUX gnuserv-3.12.8-devices.patch 1760 BLAKE2B 9b4cbade139b5916af2f7f886235ca04b8b682777a96d44e2d30fc09f2dfdd8b915fa0b1a1a44b791db02c33e18e1f062dfc4e271290808ef7de8950da64673c SHA512 eff32afe14f4ff90323c5ff1edb4f3e2d1b998a1a445d69a9b8b29ddb7a936628ca1939ded3ddf134d15599da14feae9f55ab54c267eaaadd95b4a0cb64ac7ab AUX gnuserv-3.12.8-emacs-28.patch 1300 BLAKE2B b74b904b37af0460682d6c7c5b0b0d79ec41feb646f69bbe38c0db2698d3e8d133b56eb831c6149b0f22725ef5f85c2b27d60100b18ce5c62ce30ec18a928403 SHA512 1cf554a682254ea8c84b8e81e76a2cb08cee18e3b919a9889b745ea97234aad4e3e0099e48fd13a57b881cb2d17a495e59a42d8fbda30d94b2391d0d11ae2ba5 -AUX gnuserv-3.12.8-emacs-29.patch 4110 BLAKE2B d74da6c33d06c0832e5fbe84f5944014f1aea4d7261e7f2031df1a249c69ae6919dd6b559bd675c49edc69d99728602fcafe66418f366a229b7bd3b07804940c SHA512 b65a1fc66ca4fcc096d457b92e0e8157482b9ccbf719c55d57bbd4df5ce1467faae0813b00ca0645ef5863b3825959490d715aab55a32fd1f2face750d3b18bf AUX gnuserv-3.12.8-gnudoit.patch 374 BLAKE2B 9c39f3fd1b881e4a2b4dde712b56824e99da89140d17b5a3996e35eb5d7c0a9d47933e041834c0249010c4932a69633aa93a38ce16bdd3158f52f22549f9db2f SHA512 ba3be5bee1bd23363dc41d77a45028497e1a4a8270358bf4c6eacacaca85e5b52717991885f8d4bb754c613f535d4934d0e199ccd088f78f15bcf78beaa524bd AUX gnuserv-3.12.8-process-query.patch 554 BLAKE2B 94f09a1e86ea787a05e51ed5e2742174067b7cca0fbe2fe83619b6f829048172a9e46f70f8e2c22f2787f43390730f07520553e7d659ccfd451869b1a074d707 SHA512 bc01b928003cf5050934972eeb7830b14957693c1484b061dbcf1809176388b75297b6884b7f5c963e59d8ec4a7cc4d9bf9ec265b414574a7de6bb5875f6b607 +AUX gnuserv-3.12.8-warnings.patch 2487 BLAKE2B 5cd3e343073b750bb4009adecc370ed6b30dc0b9c381121463cf22f88112e434430d9c8058d7266836d1ea5621a2b34aad45d5f02ec8fd098e1962994cc07cb3 SHA512 111d915260b92dd88f9a6753f4df6a73372cfde50def38f986ea90b8d9bbdf545547f650de5c742c5d2e3208661152d031afd4f550f963cadafa9894f616b040 DIST gnuserv-3.12.8.tar.gz 124070 BLAKE2B 7531d85f6cd1873f75499c37230907f96ac484e1d58a4a3459f44d3bfaa6a6124d44f99a7c27d1fa3deb16b1cc29d08313b911cdc1782a1c5b24bd702ef4c9ba SHA512 e8f387a554c22fb2eb166d388085b9d68a0d865ae56ab71f3ffe09ff46bef04a4ba5b05ca51a1110e1dff67ae2cd6acc8b18a0fb9df9299dbbf4a001f0924f31 EBUILD gnuserv-3.12.8-r5.ebuild 1752 BLAKE2B affe2261d573ec8d003c89fe509cb52f0d6237db66ae25e8716819e9e097639cd8d96899b119d7bd6058b132ca3cf5375a50083a9dd2d78d90ba201544c89a16 SHA512 5a9ecfb745a7d70da2cf367330a8505654dd0f05f61e884cd086844214689bb7ed7f0ca4f020825483bab6a73ac6b259d928803ba4bb13b4aceeadd7570a5e06 -EBUILD gnuserv-3.12.8-r6.ebuild 1901 BLAKE2B 5b5ad5b51a4f13a505247cf5d90df69e6218206e38205ffdfd47c8a17b1ee8ca56e2c2521bbd9d157c8ce3f1798769fcfd2b5183ab1a767e521b964f50bdd036 SHA512 d27f59062afef888341473b70b67c2d60e53aa968c902402af357e63f795643e37be99fb8558ba3d23307d5d9758853612e9be4baca0975446678c6d7277feb7 +EBUILD gnuserv-3.12.8-r7.ebuild 1997 BLAKE2B a944f29d127b692d6103ade433bfb86d8dc939d8182e90e2b89cec7ba4f295d1f9eeb73af29a129a5570a505777fbdd2e4e5dbb9ad6de6b2c962cd7040c93f96 SHA512 42acac052a16069d2ca42f541c68f66437f630af694715fa2b36eaf605ff93a25f18876908601e63c67cb830cf0ba00cb85b5d37161f5ea69fc6a449d439aa7f MISC metadata.xml 260 BLAKE2B a187a6020d68e0ac53c6bb25461b0988c938fb112a8a7e3a906b827269347d70f8366594d404329695b4fa52fff2cde7fbc51d501e674bf8adc821a4141ccfcf SHA512 2ff2d68bb3c552f006474e86ecab8ebbcfcb35588384c045a665d305f79c739c4d80c0ea639a71c39123b8c5c1b3a96977ee8c0c3e973449a732ac3ac8f2c3a3 diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch index e5f1cb9248f9..f4ac28efa662 100644 --- a/app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch +++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-advice.patch @@ -2,7 +2,7 @@ defadvice is obsolete in Emacs 30. --- gnuserv-3.12.8/gnuserv-compat.el +++ gnuserv-3.12.8/gnuserv-compat.el -@@ -112,38 +112,34 @@ +@@ -112,38 +112,35 @@ ;; can do! If the device doesn't represent a live frame, we create ;; the frame as requested. @@ -45,13 +45,14 @@ defadvice is obsolete in Emacs 30. - first - (predicate &optional device) - activate) -- ad-do-it) +- ad-do-it)) + (defun gnuserv-compat-filtered-frame-list (orig-fun predicate + &optional _device) + (funcall orig-fun predicate)) + + (advice-add 'filtered-frame-list + :around #'gnuserv-compat-filtered-frame-list) - ;; ) ++ ) + ;; Emulate XEmacs devices. A device is just a frame. For the most diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch index df5d1098ce5e..cf5c062fdab1 100644 --- a/app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch +++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-cl.patch @@ -1,67 +1,5 @@ Most Common Lisp macros want a cl- prefix in Emacs 27 and later ---- gnuserv-3.12.8/devices.el -+++ gnuserv-3.12.8/devices.el -@@ -31,7 +31,7 @@ - ;; XEmacs 19.14. A 'device' for Emacs 19 is just a frame, from which we can - ;; determine the connection to an X display, etc. - --(require 'cl) -+(require 'cl-macs) - (eval-when-compile - (if (string-match "XEmacs" (emacs-version)) - (set 'byte-optimize nil))) -@@ -220,43 +220,43 @@ - (setq frames (cdr frames))))) - - (defun device-color-cells (&optional device) -- (case window-system -+ (cl-case window-system - ((x win32 w32 pm) (x-display-color-cells device)) - (ns (ns-display-color-cells device)) - (otherwise 1))) - - (defun device-pixel-width (&optional device) -- (case window-system -+ (cl-case window-system - ((x win32 w32 pm) (x-display-pixel-width device)) - (ns (ns-display-pixel-width device)) - (otherwise (frame-width device)))) - - (defun device-pixel-height (&optional device) -- (case window-system -+ (cl-case window-system - ((x win32 w32 pm) (x-display-pixel-height device)) - (ns (ns-display-pixel-height device)) - (otherwise (frame-height device)))) - - (defun device-mm-width (&optional device) -- (case window-system -+ (cl-case window-system - ((x win32 w32 pm) (x-display-mm-width device)) - (ns (ns-display-mm-width device)) - (otherwise nil))) - - (defun device-mm-height (&optional device) -- (case window-system -+ (cl-case window-system - ((x win32 w32 pm) (x-display-mm-height device)) - (ns (ns-display-mm-height device)) - (otherwise nil))) - - (defun device-bitplanes (&optional device) -- (case window-system -+ (cl-case window-system - ((x win32 w32 pm) (x-display-planes device)) - (ns (ns-display-planes device)) - (otherwise 2))) - - (defun device-class (&optional device) -- (case window-system -+ (cl-case window-system - (x ; X11 - (cond - ((fboundp 'x-display-visual-class) --- gnuserv-3.12.8/gnuserv-compat.el +++ gnuserv-3.12.8/gnuserv-compat.el @@ -49,7 +49,7 @@ diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch new file mode 100644 index 000000000000..0c509a7cd842 --- /dev/null +++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-devices.patch @@ -0,0 +1,47 @@ +Function device-class from devices.el is not used, but collides with +a function of the same name in frame.el of Emacs 29. So, inline what +we need, and drop devices.el altogether. + +--- gnuserv-3.12.8/gnuserv-compat.el ++++ gnuserv-3.12.8/gnuserv-compat.el +@@ -153,9 +153,39 @@ + (if (string-match "XEmacs" (emacs-version)) + nil + +- (require 'devices) + (defalias 'device-list 'frame-list) + (defalias 'selected-device 'selected-frame) ++ (defalias 'device-live-p 'frame-live-p) ++ (defalias 'frame-device 'identity) ++ (defalias 'make-tty-device 'ignore) ++ ++ (defun make-x-device (&optional display) ++ (if display ++ (make-frame-on-display display) ++ (make-frame))) ++ ++ (defun device-on-window-system-p (&optional device) ++ "Return non-nil if DEVICE is on a window system. ++ This generally means that there is support for the mouse, the menubar, ++ the toolbar, glyphs, etc." ++ (and (cdr-safe (assq 'display (frame-parameters device))) t)) ++ ++ (defvar delete-device-hook nil ++ "Function or functions to call when a device is deleted. ++ One argument, the to-be-deleted device.") ++ ++ (defun delete-device (device &optional force) ++ "Delete DEVICE, permanently eliminating it from use. ++ Normally, you cannot delete the last non-minibuffer-only frame (you must ++ use `save-buffers-kill-emacs' or `kill-emacs'). However, if optional ++ second argument FORCE is non-nil, you can delete the last frame. (This ++ will automatically call `save-buffers-kill-emacs'.)" ++ (let ((frames (device-frame-list device))) ++ (run-hook-with-args 'delete-device-hook device) ++ (while frames ++ (delete-frame (car frames) force) ++ (setq frames (cdr frames))))) ++ + (defun device-frame-list (&optional device) + (list + (if device diff --git a/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch b/app-emacs/gnuserv/files/gnuserv-3.12.8-warnings.patch index 7b9c8d05cb07..113d7f0f5f37 100644 --- a/app-emacs/gnuserv/files/gnuserv-3.12.8-emacs-29.patch +++ b/app-emacs/gnuserv/files/gnuserv-3.12.8-warnings.patch @@ -1,88 +1,25 @@ -Fix collision of function device-class in Emacs 29. -Fix some byte-compiler warnings. +Fix some byte-compiler warnings ---- gnuserv-3.12.8/devices.el -+++ gnuserv-3.12.8/devices.el -@@ -32,13 +32,7 @@ - ;; determine the connection to an X display, etc. - - (require 'cl-macs) --(eval-when-compile -- (if (string-match "XEmacs" (emacs-version)) -- (set 'byte-optimize nil))) - --(if (string-match "XEmacs" (emacs-version)) -- nil --'() - (defalias 'selected-device 'ignore) - (defalias 'device-or-frame-p 'framep) - (defalias 'device-console 'ignore) -@@ -219,6 +213,10 @@ - (delete-frame (car frames) force) - (setq frames (cdr frames))))) - -+;; Apparently none of the functions below are used, and device-class -+;; collides with a function of the same name in frame.el of Emacs 29. -+'( -+ - (defun device-color-cells (&optional device) - (cl-case window-system - ((x win32 w32 pm) (x-display-color-cells device)) -@@ -333,10 +331,6 @@ - "Given a TYPE, return t if it is valid." - (memq type (device-type-list))) - --) ; This closes the conditional on whether we are in XEmacs or not -+) - - (provide 'devices) -- --(eval-when-compile -- (if (string-match "XEmacs" (emacs-version)) -- (set 'byte-optimize t))) --- gnuserv-3.12.8/gnuserv-compat.el +++ gnuserv-3.12.8/gnuserv-compat.el -@@ -100,8 +100,8 @@ +@@ -100,7 +100,7 @@ ;; `delete-frame' and `filtered-frame-list' to handle some device ;; stuff. -(if (string-match "XEmacs" (emacs-version)) -- nil -+;;(if (string-match "XEmacs" (emacs-version)) -+;; nil ++(if (featurep 'xemacs) + nil ;; XEmacs `make-frame' takes an optional device to create the frame - ;; on. Since `make-device' just calls 'make-frame', we don't want -@@ -143,15 +143,16 @@ - first - (predicate &optional device) - activate) -- ad-do-it)) -+ ad-do-it) -+;; ) - - - ;; Emulate XEmacs devices. A device is just a frame. For the most +@@ -150,7 +150,7 @@ ;; part we use devices.el from the Emacs-W3 distribution. In some ;; places the implementation seems wrong, so we "fix" it! -(if (string-match "XEmacs" (emacs-version)) -- nil -+;;(if (string-match "XEmacs" (emacs-version)) -+;; nil ++(if (featurep 'xemacs) + nil - (require 'devices) (defalias 'device-list 'frame-list) -@@ -160,7 +161,8 @@ - (list - (if device - device -- (selected-frame))))) -+ (selected-frame)))) -+;; ) - - - --- gnuserv-3.12.8/gnuserv.el +++ gnuserv-3.12.8/gnuserv.el @@ -455,13 +455,14 @@ diff --git a/app-emacs/gnuserv/gnuserv-3.12.8-r6.ebuild b/app-emacs/gnuserv/gnuserv-3.12.8-r7.ebuild index 644039c6feeb..dd5eabd64a13 100644 --- a/app-emacs/gnuserv/gnuserv-3.12.8-r6.ebuild +++ b/app-emacs/gnuserv/gnuserv-3.12.8-r7.ebuild @@ -25,10 +25,12 @@ PATCHES=( "${FILESDIR}"/${P}-process-query.patch "${FILESDIR}"/${P}-gnudoit.patch "${FILESDIR}"/${P}-emacs-28.patch + "${FILESDIR}"/${P}-devices.patch "${FILESDIR}"/${P}-cl.patch - "${FILESDIR}"/${P}-emacs-29.patch + "${FILESDIR}"/${P}-warnings.patch "${FILESDIR}"/${P}-advice.patch ) +ELISP_REMOVE="devices.el" SITEFILE="50${PN}-gentoo.el" src_configure() { @@ -39,7 +41,7 @@ src_configure() { src_compile() { emake gnuserv gnuclient - elisp-compile *.el + BYTECOMPFLAGS+=" -l gnuserv-compat" elisp-compile *.el } src_install() { |