commit:     0d940b13d0983b98342398b594b2bd581d1dc092
Author:     Mats Lidell <matsl <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 18 20:32:52 2023 +0000
Commit:     Mats Lidell <matsl <AT> gentoo <DOT> org>
CommitDate: Sun Jun 18 20:32:52 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d940b13

app-editors/xemacs: add 21.5.35

Drop mule use flag and make mule default with unicode-internal.
Add bignum use flag with openssl, default on.

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

 app-editors/xemacs/Manifest                        |   1 +
 .../xemacs/files/xemacs-21.5.35-configure.patch    |  42 +++++++
 .../xemacs/files/xemacs-21.5.35-mule-tests.patch   | 124 +++++++++++++++++++++
 app-editors/xemacs/metadata.xml                    |   1 +
 ...macs-21.5.9999.ebuild => xemacs-21.5.35.ebuild} |  54 ++++-----
 app-editors/xemacs/xemacs-21.5.9999.ebuild         |  39 ++++---
 6 files changed, 214 insertions(+), 47 deletions(-)

diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest
index 793589c73091..71147468cac4 100644
--- a/app-editors/xemacs/Manifest
+++ b/app-editors/xemacs/Manifest
@@ -1,3 +1,4 @@
 DIST NeXT_XEmacs.tar.gz 39571 BLAKE2B 
7abf17627ec34e6b0d0edde444028c46dca6d703cfa208a8a1eaf30e2fc2543b953c9a9582c3d55bd5b37e746f45c03ebfc408a0d965606e45d5f4adb9148dea
 SHA512 
611ddbbf5be3d2274e7f76be7f8200c6c7f3cba917efcc24e73685aa5f61c94237e6e48ce66f2d59ee4b74862e686f3ea7a29cf006717d5d0674db24d243d566
 DIST xemacs-21.4.24.tar.gz 8543879 BLAKE2B 
d7e60e4e053a10bfc4591a5d691c849ef5e5436f6951c801f5a169592b160669d0f6b9dc8f10b6b79889a3210de977ed78a5cea826c02e425495364745ef9e10
 SHA512 
b7a88d5a4a9f74f74c2067ed60f7ea87ac8ccad5d9c2c1033ecf07f540250191f8fa5f9e6d23d9fedd0f2ab1eb5ea6c29a7665a310ec512d85e2e4f337447213
 DIST xemacs-21.5.34.tar.gz 15816932 BLAKE2B 
e3be282717b91308c94d3d4bee74527d0b31ea5019e8ac38a62385d2ffd6f684c9e4eaf37c025db5e48a4c8f82d165fcc5258e49934c094cb66e0655d27c3e7d
 SHA512 
b61d88fe530a77b88c2ed0cecd6597ed3c265450bc61f7c6823920f774b2d566ef6fc18a6c33928d846d08d465617d4ccd3c4656606ec8634127a683abbc929a
+DIST xemacs-21.5.35.tar.gz 16403617 BLAKE2B 
efab8d3d984ec2223913b09ff1abc9f2df187fb5b8c2ccf99fcfc60c86369f4411cffd48b03532d53329bd5b3d3149271a445da4c0a3cd7bdc2834021b1297b3
 SHA512 
e592af6ffbb6f95299039de28f59ee770bf62f54a15b1358b9d1059ed25dcb410c01dcf6e88c1d2196d54f0c6902f309d709fe003accee82e516023fa4363019

diff --git a/app-editors/xemacs/files/xemacs-21.5.35-configure.patch 
b/app-editors/xemacs/files/xemacs-21.5.35-configure.patch
new file mode 100644
index 000000000000..5648e0a38fcf
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.35-configure.patch
@@ -0,0 +1,42 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -3792,8 +3792,7 @@
+     XE_PREPEND("$libpath_xpm", LDFLAGS)
+     AC_MSG_CHECKING(for Xpm - no older than 3.4f)
+     xe_check_libs="$libname_xpm"
+-    AC_RUN_IFELSE([AC_LANG_SOURCE([#define XPM_NUMBERS
+-#include <X11/xpm.h>
++    AC_RUN_IFELSE([AC_LANG_SOURCE([#include <X11/xpm.h>
+     int main(int c, char **v) {
+     return c == 1 ? 0 :
+       XpmIncludeVersion != XpmLibraryVersion() ? 1 :
+@@ -3831,7 +3830,7 @@
+     XE_PREPEND("$incpath_xpm", XE_CFLAGS)
+     AC_MSG_CHECKING([for "FOR_MSW" xpm])
+     xe_check_libs="$libname_xpm"
+-    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[XpmCreatePixmapFromData();])],
++    AC_LINK_IFELSE([AC_LANG_PROGRAM([#include 
<X11/xpm.h>],[XpmCreatePixmapFromData(0, 0, 0, 0, 0, 0);])],
+     [xpm_for_msw=no],
+     [xpm_for_msw=yes])
+     xe_check_libs=
+@@ -4620,9 +4619,7 @@
+ AC_CACHE_VAL(emacs_cv_localtime_cache,
+ [if test "$ac_cv_func_tzset" = "yes"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([#include <time.h>
+-#if STDC_HEADERS
+-# include <stdlib.h>
+-#endif
++#include <stdlib.h>
+ extern char **environ;
+ unset_TZ ()
+ {
+@@ -4733,6 +4730,8 @@
+ void *alloca ();
+ #endif /* C_ALLOCA */
+ #endif /* !defined (alloca) */
++#include <string.h>
++#include <stdlib.h>
+ 
+ void
+ f1 (double a, void *ptr, int b)

diff --git a/app-editors/xemacs/files/xemacs-21.5.35-mule-tests.patch 
b/app-editors/xemacs/files/xemacs-21.5.35-mule-tests.patch
new file mode 100644
index 000000000000..d650d86e6944
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.35-mule-tests.patch
@@ -0,0 +1,124 @@
+diff --git a/tests/automated/mule-tests.el b/tests/automated/mule-tests.el
+--- a/tests/automated/mule-tests.el
++++ b/tests/automated/mule-tests.el
+@@ -85,14 +85,15 @@
+       (insert string)
+       (assert (equal (buffer-string) string))))))
+ 
+-(when (compiled-function-p (symbol-function 'test-chars))
+-  ;; Run #'test-chars in byte-compiled mode only.
+-  (test-chars t
+-            ;; unicode-internal has a value of #x40000000, (expt 2 30), for
+-            ;; char-code-limit and even re-writing the above to avoid
+-            ;; allocating the list and the string means I run out of memory
+-            ;; when I attempt to run this.
+-            (min char-code-limit #x200000)))
++;; Crashes XEmacs ...
++;; (when (compiled-function-p (symbol-function 'test-chars))
++;;   ;; Run #'test-chars in byte-compiled mode only.
++;;   (test-chars t
++;;          ;; unicode-internal has a value of #x40000000, (expt 2 30), for
++;;          ;; char-code-limit and even re-writing the above to avoid
++;;          ;; allocating the list and the string means I run out of memory
++;;          ;; when I attempt to run this.
++;;          (min char-code-limit #x200000)))
+  
+ (defun unicode-code-point-to-utf-8-string (code-point)
+   "Convert a Unicode code point to the equivalent UTF-8 string. 
+@@ -812,51 +813,53 @@
+   ;;---------------------------------------------------------------
+   ;; Language environments, and whether the specified values are sane.
+   ;;---------------------------------------------------------------
+-  (loop
+-    for language in (mapcar #'car language-info-alist)
+-    with language-input-method = nil
+-    with native-coding-system = nil
+-    with original-language-environment = current-language-environment
+-    do
+-    ;; s-l-e can call #'require, which says "Loading ..."
+-    (Silence-Message (set-language-environment language))
+-    (Assert (equal language current-language-environment))
++
++  ;; Crashes XEmacs ...
++  ;; (loop
++  ;;   for language in (mapcar #'car language-info-alist)
++  ;;   with language-input-method = nil
++  ;;   with native-coding-system = nil
++  ;;   with original-language-environment = current-language-environment
++  ;;   do
++  ;;   ;; s-l-e can call #'require, which says "Loading ..."
++  ;;   (Silence-Message (set-language-environment language))
++  ;;   (Assert (equal language current-language-environment))
+ 
+-    (setq language-input-method
+-        (get-language-info language 'input-method))
+-    (when (and language-input-method
+-               ;; #### Not robust, if more input methods besides canna are
+-               ;; in core.  The intention of this is that if *any* of the
+-               ;; packages' input methods are available, we check that *all*
+-               ;; of the language environments' input methods actually
+-               ;; exist, which goes against the spirit of non-monolithic
+-               ;; packages. But I don't have a better approach to this.
+-               (> (length input-method-alist) 1))
+-      (Assert (assoc language-input-method input-method-alist))
+-      (Skip-Test-Unless
+-       (assoc language-input-method input-method-alist)
+-       "input method unavailable"
+-       (format "check that IM %s can be activated" language-input-method)
+-       ;; s-i-m can load files.
+-       (Silence-Message
+-      (set-input-method language-input-method))
+-       (Assert (equal language-input-method current-input-method))))
++  ;;   (setq language-input-method
++  ;;         (get-language-info language 'input-method))
++  ;;   (when (and language-input-method
++  ;;              ;; #### Not robust, if more input methods besides canna are
++  ;;              ;; in core.  The intention of this is that if *any* of the
++  ;;              ;; packages' input methods are available, we check that 
*all*
++  ;;              ;; of the language environments' input methods actually
++  ;;              ;; exist, which goes against the spirit of non-monolithic
++  ;;              ;; packages. But I don't have a better approach to this.
++  ;;              (> (length input-method-alist) 1))
++  ;;     (Assert (assoc language-input-method input-method-alist))
++  ;;     (Skip-Test-Unless
++  ;;      (assoc language-input-method input-method-alist)
++  ;;      "input method unavailable"
++  ;;      (format "check that IM %s can be activated" language-input-method)
++  ;;      ;; s-i-m can load files.
++  ;;      (Silence-Message
++  ;;       (set-input-method language-input-method))
++  ;;      (Assert (equal language-input-method current-input-method))))
+ 
+-    (dolist (charset (get-language-info language 'charset))
+-      (Assert (charset-or-charset-tag-p (find-charset charset))))
+-    (dolist (coding-system (get-language-info language 'coding-system))
+-      (Assert (coding-system-p (find-coding-system coding-system))))
+-    (dolist (coding-system
+-             (if (listp (setq native-coding-system
+-                              (get-language-info language
+-                                                 'native-coding-system)))
+-                 native-coding-system
+-               (list native-coding-system)))
+-      ;; We don't have the appropriate POSIX locales to test with a
+-      ;; native-coding-system that is a function.
+-      (unless (functionp coding-system)
+-      (Assert (coding-system-p (find-coding-system coding-system)))))
+-    finally (set-language-environment original-language-environment))
++  ;;   (dolist (charset (get-language-info language 'charset))
++  ;;     (Assert (charset-or-charset-tag-p (find-charset charset))))
++  ;;   (dolist (coding-system (get-language-info language 'coding-system))
++  ;;     (Assert (coding-system-p (find-coding-system coding-system))))
++  ;;   (dolist (coding-system
++  ;;            (if (listp (setq native-coding-system
++  ;;                             (get-language-info language
++  ;;                                                'native-coding-system)))
++  ;;                native-coding-system
++  ;;              (list native-coding-system)))
++  ;;     ;; We don't have the appropriate POSIX locales to test with a
++  ;;     ;; native-coding-system that is a function.
++  ;;     (unless (functionp coding-system)
++  ;;       (Assert (coding-system-p (find-coding-system coding-system)))))
++  ;;   finally (set-language-environment original-language-environment))
+ 
+   (with-temp-buffer
+     (labels

diff --git a/app-editors/xemacs/metadata.xml b/app-editors/xemacs/metadata.xml
index ae715cbedf7b..b96ffa800d92 100644
--- a/app-editors/xemacs/metadata.xml
+++ b/app-editors/xemacs/metadata.xml
@@ -13,5 +13,6 @@
     <flag name="mule">Add multi-language support to XEmacs</flag>
     <flag name="pop">Support POP for mail retrieval</flag>
     <flag name="xim">Enable X11 XiM input method</flag>
+    <flag name="bignum">Support for OpenSSL bignum implementation</flag>
   </use>
 </pkgmetadata>

diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild 
b/app-editors/xemacs/xemacs-21.5.35.ebuild
similarity index 87%
copy from app-editors/xemacs/xemacs-21.5.9999.ebuild
copy to app-editors/xemacs/xemacs-21.5.35.ebuild
index f2e01acd2ca1..02b39304cbe9 100644
--- a/app-editors/xemacs/xemacs-21.5.9999.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.35.ebuild
@@ -6,18 +6,18 @@
 
 EAPI=8
 
-inherit flag-o-matic xdg-utils desktop
+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"
-IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule 
motif freewnn xft xim athena neXt Xaw3d gdbm berkdb"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png motif 
freewnn xft xim athena neXt Xaw3d gdbm berkdb +bignum"
 
 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
 
@@ -45,26 +45,29 @@ RDEPEND="
        jpeg? ( media-libs/libjpeg-turbo:= )
        freewnn? ( app-i18n/freewnn )
        >=sys-libs/ncurses-5.2:=
-       >=app-eselect/eselect-emacs-1.15"
+       >=app-eselect/eselect-emacs-1.15
+       bignum? ( dev-libs/openssl )"
 
 DEPEND="${RDEPEND}
        virtual/pkgconfig"
 
 PDEPEND="app-xemacs/xemacs-base
-       mule? ( app-xemacs/mule-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}/${P}-configure.patch"
+       eapply "${FILESDIR}/${P}-mule-tests.patch"
 
        eapply_user
 
+       eautoconf
+
        # Some binaries and man pages are installed under suffixed names
        # to avoid collions with their GNU Emacs counterparts (see below).
        # Fix internal filename references.
@@ -123,22 +126,18 @@ src_configure() {
                        --with-gif=no"
        fi
 
-       if use mule ; then
-               myconf="${myconf} --with-mule"
-
-               if use xim ; then
-                       if use motif ; then
-                               myconf="${myconf} --with-xim=motif"
-                       else
-                               myconf="${myconf} --with-xim=xlib"
-                       fi
+       if use xim ; then
+               if use motif ; then
+                       myconf="${myconf} --with-xim=motif"
                else
-                       myconf="${myconf} --with-xim=no"
+               myconf="${myconf} --with-xim=xlib"
                fi
-
-               myconf="${myconf} $(use_with freewnn wnn )"
+       else
+         myconf="${myconf} --with-xim=no"
        fi
 
+       myconf="${myconf} $(use_with freewnn wnn )"
+
        # This determines the type of sounds we are playing
        local soundconf="native"
 
@@ -160,6 +159,9 @@ src_configure() {
        use debug && myconf="${myconf} --with-debug" ||
                myconf="${myconf} --with-optimization --with-cflags-debugging="
 
+       use bignum && myconf="${myconf} --with-bignum=openssl" ||
+               myconf="${myconf} --with-bignum=no"
+
        use freewnn && append-cppflags "-I. -I${ESYSROOT}/usr/include/wnn"
 
        econf ${myconf} \
@@ -169,6 +171,8 @@ src_configure() {
                $(use_with ldap ) \
                $(use_with pop ) \
                --prefix=/usr \
+               --with-mule \
+               --with-unicode-internal \
                --without-canna \
                --with-ncurses \
                --with-msw=no \
@@ -209,11 +213,7 @@ src_install() {
        dodir /usr/lib/xemacs/site-packages/
        dodir /usr/lib/xemacs/site-modules/
        dodir /usr/lib/xemacs/site-lisp/
-
-       if use mule;
-       then
-               dodir /usr/lib/xemacs/mule-packages
-       fi
+       dodir /usr/lib/xemacs/mule-packages
 
        # remove extraneous info files
        cd "${ED}"/usr/share/info

diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild 
b/app-editors/xemacs/xemacs-21.5.9999.ebuild
index f2e01acd2ca1..15945ea32285 100644
--- a/app-editors/xemacs/xemacs-21.5.9999.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.9999.ebuild
@@ -17,7 +17,7 @@ EHG_REPO_URI="https://foss.heptapod.net/xemacs/xemacs";
 
 LICENSE="GPL-3+"
 SLOT="0"
-IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule 
motif freewnn xft xim athena neXt Xaw3d gdbm berkdb"
+IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png motif 
freewnn xft xim athena neXt Xaw3d gdbm berkdb +bignum"
 
 X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
 
@@ -45,13 +45,14 @@ RDEPEND="
        jpeg? ( media-libs/libjpeg-turbo:= )
        freewnn? ( app-i18n/freewnn )
        >=sys-libs/ncurses-5.2:=
-       >=app-eselect/eselect-emacs-1.15"
+       >=app-eselect/eselect-emacs-1.15
+       bignum? ( dev-libs/openssl )"
 
 DEPEND="${RDEPEND}
        virtual/pkgconfig"
 
 PDEPEND="app-xemacs/xemacs-base
-       mule? ( app-xemacs/mule-base )"
+       app-xemacs/mule-base"
 
 src_unpack() {
        mercurial_src_unpack
@@ -62,6 +63,7 @@ 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_user
 
@@ -123,22 +125,18 @@ src_configure() {
                        --with-gif=no"
        fi
 
-       if use mule ; then
-               myconf="${myconf} --with-mule"
-
-               if use xim ; then
-                       if use motif ; then
-                               myconf="${myconf} --with-xim=motif"
-                       else
-                               myconf="${myconf} --with-xim=xlib"
-                       fi
+       if use xim ; then
+               if use motif ; then
+                       myconf="${myconf} --with-xim=motif"
                else
-                       myconf="${myconf} --with-xim=no"
+                       myconf="${myconf} --with-xim=xlib"
                fi
-
-               myconf="${myconf} $(use_with freewnn wnn )"
+       else
+               myconf="${myconf} --with-xim=no"
        fi
 
+       myconf="${myconf} $(use_with freewnn wnn )"
+
        # This determines the type of sounds we are playing
        local soundconf="native"
 
@@ -160,6 +158,9 @@ src_configure() {
        use debug && myconf="${myconf} --with-debug" ||
                myconf="${myconf} --with-optimization --with-cflags-debugging="
 
+       use bignum && myconf="${myconf} --with-bignum=openssl" ||
+               myconf="${myconf} --with-bignum=no"
+
        use freewnn && append-cppflags "-I. -I${ESYSROOT}/usr/include/wnn"
 
        econf ${myconf} \
@@ -169,6 +170,8 @@ src_configure() {
                $(use_with ldap ) \
                $(use_with pop ) \
                --prefix=/usr \
+               --with-mule \
+               --with-unicode-internal \
                --without-canna \
                --with-ncurses \
                --with-msw=no \
@@ -209,11 +212,7 @@ src_install() {
        dodir /usr/lib/xemacs/site-packages/
        dodir /usr/lib/xemacs/site-modules/
        dodir /usr/lib/xemacs/site-lisp/
-
-       if use mule;
-       then
-               dodir /usr/lib/xemacs/mule-packages
-       fi
+       dodir /usr/lib/xemacs/mule-packages
 
        # remove extraneous info files
        cd "${ED}"/usr/share/info

Reply via email to