commit:     d90b9197a44e9b7aeab8cfa1d58acc0eb8d2bee7
Author:     Mats Lidell <matsl <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  5 22:04:18 2025 +0000
Commit:     Mats Lidell <matsl <AT> gentoo <DOT> org>
CommitDate: Sun Jul  6 14:27:43 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d90b9197

app-editors/xemacs: add 21.5.36

Signed-off-by: Mats Lidell <matsl <AT> gentoo.org>

 app-editors/xemacs/Manifest                        |  1 +
 .../files/xemacs-21.5.36-failing-tests-2.patch     | 38 +++++++++
 .../files/xemacs-21.5.36-failing-tests.patch       | 97 ++++++++++++++++++++++
 ...macs-21.5.9999.ebuild => xemacs-21.5.36.ebuild} | 17 ++--
 app-editors/xemacs/xemacs-21.5.9999.ebuild         |  4 +-
 5 files changed, 144 insertions(+), 13 deletions(-)

diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest
index 1b82f30aa236..c591e4a7c8bf 100644
--- a/app-editors/xemacs/Manifest
+++ b/app-editors/xemacs/Manifest
@@ -2,3 +2,4 @@ DIST NeXT_XEmacs.tar.gz 39571 BLAKE2B 
7abf17627ec34e6b0d0edde444028c46dca6d703cf
 DIST xemacs-21.5.35-info-handle-compress.patch.xz 7852 BLAKE2B 
61b8d3a7d63d76311cdbb10153101ea8546ff5e4c8d6345750e44b7e80dfe7afb280dfa847097163fcb92888e5abd837c1a932170a3c362de7a523fc019269f5
 SHA512 
6c83a4b739075c6da88ba56b84b8521ceb1f34dc71ea51b7fbdb992b459794a3f479ea7db5df777d6497291e2eed8e33809edf5d7572822007f599cdd57955f8
 DIST xemacs-21.5.35-ootags-boolint.patch.xz 7660 BLAKE2B 
9567cebeea7828dd7a207e627c4a21d49ef129ea7cf92defde67c068aab6694d0c7f70d90648b9177cea8b6ea3fc3734e1f65f1821b5e4c820df507bb6d6835b
 SHA512 
f43656a5e4c9781e2250fca7f8750bbc131223f4a252dfdfc6315e06ac578974877ac0bbc695f957ade5a7960c4257b090ee34199965110da28851e58986e985
 DIST xemacs-21.5.35.tar.gz 16403617 BLAKE2B 
efab8d3d984ec2223913b09ff1abc9f2df187fb5b8c2ccf99fcfc60c86369f4411cffd48b03532d53329bd5b3d3149271a445da4c0a3cd7bdc2834021b1297b3
 SHA512 
e592af6ffbb6f95299039de28f59ee770bf62f54a15b1358b9d1059ed25dcb410c01dcf6e88c1d2196d54f0c6902f309d709fe003accee82e516023fa4363019
+DIST xemacs-21.5.36.tar.gz 16486681 BLAKE2B 
e7105dd64c49c73f2914e071707b5ec098f0c1a8a7ea7afce6785bc9f966c02e7ed9b7d8a021a3f153a65521135f90ffabcab9af66f2929fdacf5b51056bcc1b
 SHA512 
42e1bc4283038e6829549c4bf78ff034e94f869cd038a3a28fe48b19a623b358e733e98b4c58b5c53ae7613a2d5da64f9796bb1c794a503e83f7706c4b8123f1

diff --git a/app-editors/xemacs/files/xemacs-21.5.36-failing-tests-2.patch 
b/app-editors/xemacs/files/xemacs-21.5.36-failing-tests-2.patch
new file mode 100644
index 000000000000..1f1f2b580277
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.36-failing-tests-2.patch
@@ -0,0 +1,38 @@
+# Silence unexpected errors. Issues known by upstream:
+# * Tag tests producing unexpected test suite failures as expected.
+# * Remove language causing an autoload error.
+
+--- a/tests/automated/mule-tests.el
++++ b/tests/automated/mule-tests.el
+@@ -830,6 +830,7 @@
+              tibetan vietnamese-viscii-lower))
+         (coding-system-for-read 'iso-2022-7))
+       (insert-file-contents (locate-data-file "HELLO"))
++      (Known-Bug-Expect-Failure
+       (Assert (equal 
+        ;; The sort is to make the algorithm of charsets-in-region
+        ;; irrelevant.
+@@ -838,6 +839,8 @@
+                       :test 'string-match :key 'symbol-name)
+            #'string<)
+        sorted-charsets-in-HELLO))
++      )
++      (Known-Bug-Expect-Failure
+       (Assert (equal 
+        (sort (remove* "^jit-ucs-charset-" (charsets-in-string
+                                            (buffer-substring (point-min)
+@@ -845,12 +848,13 @@
+                       :test 'string-match :key 'symbol-name)
+            #'string<)
+        sorted-charsets-in-HELLO))))
++    )
+ 
+   ;;---------------------------------------------------------------
+   ;; Language environments, and whether the specified values are sane.
+   ;;---------------------------------------------------------------
+   (loop
+-    for language in (mapcar #'car language-info-alist)
++    for language in (remove "Chinese-GB" (mapcar #'car language-info-alist))
+     with language-input-method = nil
+     with native-coding-system = nil
+     with original-language-environment = current-language-environment

diff --git a/app-editors/xemacs/files/xemacs-21.5.36-failing-tests.patch 
b/app-editors/xemacs/files/xemacs-21.5.36-failing-tests.patch
new file mode 100644
index 000000000000..b8063cee0055
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.36-failing-tests.patch
@@ -0,0 +1,97 @@
+# Fix from upstream commited after 21.5.36 release.
+
+# HG changeset patch
+# User Aidan Kehoe <[email protected]>
+# Date 1750364738 -3600
+#      Thu Jun 19 21:25:38 2025 +0100
+# Node ID 9224532f1f77618a16eb82e3ec8e19399f641b6e
+# Parent  d30e18f728e0d50df2f5998c2950fdf2b0157d66
+Mark failing coding cookie test with Implementation-Incomplete-Expect-Errors, 
avoid fontconfig error with test and non-xft builds.
+
+tests/ChangeLog addition:
+
+2025-06-19  Aidan Kehoe  <[email protected]>
+
+       * automated/mule-tests.el:
+       Mark the tests of coding cookies on the last page with
+       Implementation-Incomplete-Expect-Errors, since the code that does
+       that implementation is currently surrounded by #if 0. Thank you
+       Mats Lidell.
+
+lisp/ChangeLog addition:
+
+2025-06-19  Aidan Kehoe  <[email protected]>
+
+       * fontconfig.el:
+       Inappropriate to just (require 'font-mgr) here, since that
+       routinely loads font-mgr.el which just errors when any of the
+       relevant functions are called at run time.
+       Wrap this call with (eval-when (:compile-toplevel) ...), document
+       that doing this fixes needless test failure in face-tests.el.
+
+## diff -r d30e18f728e0 -r 9224532f1f77 lisp/ChangeLog
+## --- a/lisp/ChangeLog        Wed Jun 18 21:35:01 2025 +0100
+## +++ b/lisp/ChangeLog        Thu Jun 19 21:25:38 2025 +0100
+## @@ -1,3 +1,12 @@
+## +2025-06-19  Aidan Kehoe  <[email protected]>
+## +
+## +   * fontconfig.el:
+## +   Inappropriate to just (require 'font-mgr) here, since that
+## +   routinely loads font-mgr.el which just errors when any of the
+## +   relevant functions are called at run time.
+## +   Wrap this call with (eval-when (:compile-toplevel) ...), document
+## +   that doing this fixes needless test failure in face-tests.el.
+## +
+##  2025-06-16  Aidan Kehoe  <[email protected]>
+## 
+##     * rect.el (kill-rectangle):
+--- a/lisp/fontconfig.el
++++ b/lisp/fontconfig.el
+@@ -108,7 +108,14 @@
+ ;; `fc-pattern-del-PROPERTY' for each of the standard properties used by
+ ;; Xft, which overlap substantially with the properties defined by X11.
+ 
+-(require 'font-mgr)
++;; If this XEmacs has font-mgr.c, well and good. If it does not, load
++;; font-mgr.el when compiling; do not load it at runtime, better to just error
++;; directly on attempts to call its functions than call its stubs that all
++;; just error on being called. This fixes a needless test failure in
++;; ../tests/automated/face-tests.el .  There's an argument that a better
++;; approach would be to remove font-mgr.el entirely, so that (require
++;; 'font-mgr) cleanly errors.
++(eval-when (:compile-toplevel) (require 'font-mgr))
+ 
+ (defalias 'make-fc-pattern 'fc-pattern-create)
+ 
+--- a/tests/ChangeLog
++++ b/tests/ChangeLog
+@@ -1,3 +1,11 @@
++2025-06-19  Aidan Kehoe  <[email protected]>
++
++      * automated/mule-tests.el:
++      Mark the tests of coding cookies on the last page with
++      Implementation-Incomplete-Expect-Errors, since the code that does
++      that implementation is currently surrounded by #if 0. Thank you
++      Mats Lidell.
++
+ 2025-06-14  Aidan Kehoe  <[email protected]>
+ 
+       * XEmacs 21.5.36 "leeks" is released.
+--- a/tests/automated/mule-tests.el
++++ b/tests/automated/mule-tests.el
+@@ -1251,10 +1251,12 @@
+ Der Vogelfänger bin ich ja end: stets lustig\n")
+            (Silence-Message (save-buffer 0))
+            (kill-buffer (current-buffer))
+-           (Assert (equal (find-coding-system-magic-cookie-in-file
+-                           test-file-name) "iso-8859-2"))
++         (Implementation-Incomplete-Expect-Failure
++          (Assert (equal (find-coding-system-magic-cookie-in-file
++                          test-file-name) "iso-8859-2")))
+            (find-file test-file-name)
+-           (Assert (eq buffer-file-coding-system 'iso-8859-2-unix))
++         (Implementation-Incomplete-Expect-Failure
++          (Assert (eq buffer-file-coding-system 'iso-8859-2-unix)))
+            (erase-buffer)
+            (setq buffer-file-coding-system 'utf-8-unix)
+ 

diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild 
b/app-editors/xemacs/xemacs-21.5.36.ebuild
similarity index 94%
copy from app-editors/xemacs/xemacs-21.5.9999.ebuild
copy to app-editors/xemacs/xemacs-21.5.36.ebuild
index a593df40a19b..d10420bf5494 100644
--- a/app-editors/xemacs/xemacs-21.5.9999.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.36.ebuild
@@ -10,13 +10,13 @@ inherit flag-o-matic xdg-utils desktop autotools
 
 DESCRIPTION="highly customizable open source text editor and application 
development system"
 HOMEPAGE="https://www.xemacs.org/";
-SRC_URI="neXt? ( http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz 
)"
 
-inherit mercurial
-EHG_REPO_URI="https://foss.heptapod.net/xemacs/xemacs";
+SRC_URI="http://ftp.xemacs.org/pub/xemacs/xemacs-$(ver_cut 1-2)/${P}.tar.gz
+       neXt? ( http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz )"
 
 LICENSE="GPL-3+"
 SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
 IUSE="alsa debug gif gpm pop postgres ldap xface nas X jpeg tiff png motif xft 
xim athena neXt Xaw3d gdbm berkdb +bignum"
 
 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
@@ -55,17 +55,15 @@ PDEPEND="app-xemacs/xemacs-base
        app-xemacs/mule-base"
 
 src_unpack() {
-       mercurial_src_unpack
-
-       use neXt && unpack NeXT_XEmacs.tar.gz
+       default_src_unpack
 }
 
 src_prepare() {
        use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* 
"${S}"/etc/toolbar/
        find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
-       eapply "${FILESDIR}/${PN}-21.5.35-mule-tests.patch"
        eapply "${FILESDIR}/${PN}-21.5.35-unknown-command-test.patch"
-
+       eapply "${FILESDIR}/${P}-failing-tests.patch"
+       eapply "${FILESDIR}/${P}-failing-tests-2.patch"
        eapply_user
 
        eautoconf
@@ -174,7 +172,6 @@ src_configure() {
                $(use_with ldap ) \
                $(use_with pop ) \
                --prefix=/usr \
-               --with-mule \
                --with-unicode-internal \
                --without-canna \
                --with-ncurses \
@@ -202,7 +199,7 @@ src_install() {
        # which application installed them and so that conflicting
        # packages (emacs) can't clobber the actual applications.
        # Addresses bug #62991.
-       for i in b2m ctags etags gnuclient gnudoit gnuattach; do
+       for i in ctags etags gnuclient gnudoit gnuattach; do
                mv "${ED}"/usr/bin/${i} "${ED}"/usr/bin/${i}-xemacs || die "mv 
${i} failed"
        done
 

diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild 
b/app-editors/xemacs/xemacs-21.5.9999.ebuild
index a593df40a19b..a637be29193c 100644
--- a/app-editors/xemacs/xemacs-21.5.9999.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.9999.ebuild
@@ -63,7 +63,6 @@ src_unpack() {
 src_prepare() {
        use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* 
"${S}"/etc/toolbar/
        find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
-       eapply "${FILESDIR}/${PN}-21.5.35-mule-tests.patch"
        eapply "${FILESDIR}/${PN}-21.5.35-unknown-command-test.patch"
 
        eapply_user
@@ -174,7 +173,6 @@ src_configure() {
                $(use_with ldap ) \
                $(use_with pop ) \
                --prefix=/usr \
-               --with-mule \
                --with-unicode-internal \
                --without-canna \
                --with-ncurses \
@@ -202,7 +200,7 @@ src_install() {
        # which application installed them and so that conflicting
        # packages (emacs) can't clobber the actual applications.
        # Addresses bug #62991.
-       for i in b2m ctags etags gnuclient gnudoit gnuattach; do
+       for i in ctags etags gnuclient gnudoit gnuattach; do
                mv "${ED}"/usr/bin/${i} "${ED}"/usr/bin/${i}-xemacs || die "mv 
${i} failed"
        done
 

Reply via email to