summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-editors/xemacs')
-rw-r--r--app-editors/xemacs/Manifest2
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-ar.patch74
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch25
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch24
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch35
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch32
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch13
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.34-strsignal.patch92
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.35-configure-libc-version.patch73
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.35-configure.patch42
-rw-r--r--app-editors/xemacs/files/xemacs-21.5.35-mule-tests.patch124
-rw-r--r--app-editors/xemacs/metadata.xml3
-rw-r--r--app-editors/xemacs/xemacs-21.4.24-r10.ebuild254
-rw-r--r--app-editors/xemacs/xemacs-21.4.24-r9.ebuild (renamed from app-editors/xemacs/xemacs-21.4.24-r2.ebuild)24
-rw-r--r--app-editors/xemacs/xemacs-21.5.35-r1.ebuild (renamed from app-editors/xemacs/xemacs-21.5.34-r5.ebuild)97
-rw-r--r--app-editors/xemacs/xemacs-21.5.35.ebuild (renamed from app-editors/xemacs/xemacs-21.5.34-r4.ebuild)106
-rw-r--r--app-editors/xemacs/xemacs-21.5.9999.ebuild259
17 files changed, 865 insertions, 414 deletions
diff --git a/app-editors/xemacs/Manifest b/app-editors/xemacs/Manifest
index 793589c73091..d30897871d36 100644
--- a/app-editors/xemacs/Manifest
+++ b/app-editors/xemacs/Manifest
@@ -1,3 +1,3 @@
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.34-ar.patch b/app-editors/xemacs/files/xemacs-21.5.34-ar.patch
deleted file mode 100644
index fff6f5578733..000000000000
--- a/app-editors/xemacs/files/xemacs-21.5.34-ar.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-diff -r 3ca291c0f7e3 configure
---- a/configure Sun Jul 28 10:17:08 2019 +0100
-+++ b/configure Sun Apr 19 18:46:45 2020 +0200
-@@ -778,6 +778,5 @@
- INSTALL_SCRIPT
- INSTALL_PROGRAM
- RANLIB
--AR
- lib_gcc
- ld
-@@ -10296,47 +10307,6 @@
- fi
-
-
--# Extract the first word of "ar", so it can be a program name with args.
--set dummy ar; ac_word=$2
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
--$as_echo_n "checking for $ac_word... " >&6; }
--if ${ac_cv_prog_AR+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- if test -n "$AR"; then
-- ac_cv_prog_AR="$AR" # Let the user override the test.
--else
--as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
--for as_dir in $PATH
--do
-- IFS=$as_save_IFS
-- test -z "$as_dir" && as_dir=.
-- for ac_exec_ext in '' $ac_executable_extensions; do
-- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-- ac_cv_prog_AR="ar"
-- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-- break 2
-- fi
--done
-- done
--IFS=$as_save_IFS
--
-- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="not_found"
--fi
--fi
--AR=$ac_cv_prog_AR
--if test -n "$AR"; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
--$as_echo "$AR" >&6; }
--else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
--fi
--
--
--if test "$AR" = "not_found"; then
-- { echo "Error:" "ar not found -- is PATH set correctly?" >&2; exit 1; }
--fi
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
- set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-diff -r 3ca291c0f7e3 configure.ac
---- a/configure.ac Sun Jul 28 10:17:08 2019 +0100
-+++ b/configure.ac Sun Apr 19 18:46:45 2020 +0200
-@@ -2557,12 +2557,6 @@
- dnl should make an entry in src/config.h, do not forget to add an
- dnl #undef clause to src/config.h.in for autoconf to modify.
-
--dnl Sun likes to hide these utilities. Steve Baur asked that we make
--dnl the failure occur at configure time, not at use time.
--AC_CHECK_PROG(AR,ar,ar,not_found)
--if test "$AR" = "not_found"; then
-- XE_DIE(["ar not found -- is PATH set correctly?"])
--fi
- dnl These tests don't necessarily check that the program exists.
- AC_PROG_RANLIB
- AC_PROG_INSTALL
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch b/app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch
deleted file mode 100644
index 542ce14c36af..000000000000
--- a/app-editors/xemacs/files/xemacs-21.5.34-as-needed.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -r 30910ee1cf8c configure
---- a/configure Tue Jun 18 10:37:46 2019 +0100
-+++ b/configure Mon Jul 08 20:38:49 2019 +0200
-@@ -16668,7 +16668,7 @@
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-l$athena_variant $LIBS"
-+LIBS="-l$athena_variant $libs_x $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-diff -r 30910ee1cf8c configure.ac
---- a/configure.ac Tue Jun 18 10:37:46 2019 +0100
-+++ b/configure.ac Mon Jul 08 20:38:49 2019 +0200
-@@ -4068,7 +4068,8 @@
- athena_lib=Xaw;
- AC_MSG_WARN([Assuming that libXaw is actually $athena_variant.]);
- ],
-- [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])]))
-+ [AC_MSG_WARN([Could not find a 3d Athena widget library that looked like $athena_variant.])]),
-+ $libs_x)
- fi
-
- dnl Now we locate the Athena headers that we need.
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch b/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch
deleted file mode 100644
index fdea052fba19..000000000000
--- a/app-editors/xemacs/files/xemacs-21.5.34-configure-libc-version.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -r 3ca291c0f7e3 configure
---- a/configure Sun Jul 28 10:17:08 2019 +0100
-+++ b/configure Fri Mar 06 21:27:48 2020 +0100
-@@ -9987,7 +9987,7 @@
- libc_version="GNU libc $libc_version (Debian)"
- fi
- if test -z "$libc_version"; then
-- libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
-+ libc_version=`ls /lib{64,}/libc-*.so 2>/dev/null | head -n1 | sed -e 's,/lib\(64\|\)/libc-\(.*\)\.so,\2,'`
- fi
- ;;
-
-diff -r 3ca291c0f7e3 configure.ac
---- a/configure.ac Sun Jul 28 10:17:08 2019 +0100
-+++ b/configure.ac Fri Mar 06 21:27:48 2020 +0100
-@@ -2347,7 +2347,7 @@
- fi
- dnl #### Tested on Debian, does this actually work elsewhere? ;-)
- if test -z "$libc_version"; then
-- libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
-+ libc_version=`ls /lib{64,}/libc-*.so 2>/dev/null | head -n1 | sed -e 's,/lib\(64\|\)/libc-\(.*\)\.so,\2,'`
- fi
- ;;
-
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch b/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch
deleted file mode 100644
index 025a390f3335..000000000000
--- a/app-editors/xemacs/files/xemacs-21.5.34-gcc5.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/src/lisp.h b/src/lisp.h
---- a/src/lisp.h
-+++ b/src/lisp.h
-@@ -1154,6 +1154,8 @@
-
- /* ------------------------ alignment definitions ------------------- */
-
-+#if (!defined (__STDC_VERSION__) || __STDC_VERSION__ < 201112L) && \
-+ (!defined (__cplusplus) || __cplusplus < 201103L)
- /* No type has a greater alignment requirement than max_align_t.
- (except perhaps for types we don't use, like long double) */
- typedef union
-@@ -1163,6 +1165,7 @@
- struct { void (*f)(void); } f;
- struct { double d; } d;
- } max_align_t;
-+#endif
-
- /* ALIGNOF returns the required alignment of a type -- i.e. a value such
- that data of this type must begin at a memory address which is a
-@@ -1170,7 +1173,11 @@
- as the type itself. */
-
- #ifndef ALIGNOF
--# if defined (__GNUC__) && (__GNUC__ >= 2)
-+# if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
-+# define ALIGNOF(type) _Alignof(type)
-+# elif defined (__cplusplus) && __cplusplus >= 201103L
-+# define ALIGNOF(type) alignof(type)
-+# elif defined (__GNUC__) && (__GNUC__ >= 2)
- /* gcc has an extension that gives us exactly what we want. */
- # define ALIGNOF(type) __alignof__ (type)
- # elif ! defined (__cplusplus)
-
-
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch b/app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch
deleted file mode 100644
index b611b15fd8b1..000000000000
--- a/app-editors/xemacs/files/xemacs-21.5.34-glibc-macro.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -r f412e9f093d4 configure
---- a/configure Wed Jan 25 00:47:06 2017 +0000
-+++ b/configure Sun Jan 29 19:32:47 2017 +0100
-@@ -13507,7 +13507,10 @@
- -D*=* ) val=`echo '' $word | sed -e 's:^.*=::'` ;;
- * ) val=1 ;;
- esac
-- if grep "^#define $sym " confdefs.h >/dev/null; then :; else
-+ if grep "^#define $sym " confdefs.h >/dev/null || \
-+ test "$have_glibc" = "yes" -a "$sym" = "_BSD_SOURCE" || \
-+ test "$have_glibc" = "yes" -a "$sym" = "_SVID_SOURCE";
-+ then :; else
- if test "$val" = "1"
- then cat >>confdefs.h <<_ACEOF
- #define $sym 1
-diff -r f412e9f093d4 configure.ac
---- a/configure.ac Wed Jan 25 00:47:06 2017 +0000
-+++ b/configure.ac Sun Jan 29 19:32:47 2017 +0100
-@@ -3136,7 +3136,12 @@
- * ) val=1 ;;
- esac
- dnl Avoid re-AC_DEFINE-ing xmkmf symbols we've already defined above.
-- if grep "^#define $sym " confdefs.h >/dev/null; then :; else
-+dnl Also, glibc doesn't like two of the traditional POSIX macros that xmkmf
-+dnl likes us to define; ignore them if appropriate.
-+ if grep "^#define $sym " confdefs.h >/dev/null || \
-+ test "$have_glibc" = "yes" -a "$sym" = "_BSD_SOURCE" || \
-+ test "$have_glibc" = "yes" -a "$sym" = "_SVID_SOURCE";
-+ then :; else
- if test "$val" = "1"
- then AC_DEFINE_UNQUOTED($sym)
- else AC_DEFINE_UNQUOTED($sym,$val)
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch b/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch
deleted file mode 100644
index a08eda3c8a83..000000000000
--- a/app-editors/xemacs/files/xemacs-21.5.34-ncurses-tinfo.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -r 6355de501637 configure
---- a/configure Thu Jan 23 15:03:16 2014 +0000
-+++ b/configure Fri Jan 31 23:55:12 2014 +0100
-@@ -19699,7 +19699,8 @@
- extra_objs="$extra_objs terminfo.o" && if test "$verbose" = "yes"; then
- echo " xemacs will be linked with \"terminfo.o\""
- fi
-- LIBS="-lncurses $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"-lncurses\" to \$LIBS"; fi
-+ ncurses_libs=$(pkg-config ncurses --libs)
-+ LIBS="$ncurses_libs $LIBS" && if test "$verbose" = "yes"; then echo " Prepending \"$ncurses_libs\" to \$LIBS"; fi
-
- if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
- save_c_switch_site="$c_switch_site"
diff --git a/app-editors/xemacs/files/xemacs-21.5.34-strsignal.patch b/app-editors/xemacs/files/xemacs-21.5.34-strsignal.patch
deleted file mode 100644
index 464c6a542e8c..000000000000
--- a/app-editors/xemacs/files/xemacs-21.5.34-strsignal.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff -r 3ca291c0f7e3 configure
---- a/configure Sun Jul 28 10:17:08 2019 +0100
-+++ b/configure Thu Aug 27 00:15:50 2020 +0200
-@@ -18090,7 +18090,7 @@
- esac
-
-
--for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp fsync ftime ftruncate getaddrinfo gethostname getnameinfo getpagesize getrlimit gettimeofday getcwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setsid sigblock sighold sigprocmask snprintf strerror strlwr strupr symlink tzset ulimit umask usleep vlimit vsnprintf waitpid wcscmp wcslen
-+for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp fsync ftime ftruncate getaddrinfo gethostname getnameinfo getpagesize getrlimit gettimeofday getcwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setsid sigblock sighold sigprocmask snprintf strerror strlwr strsignal strupr symlink tzset ulimit umask usleep vlimit vsnprintf waitpid wcscmp wcslen
- do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
- ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-diff -r 3ca291c0f7e3 configure.ac
---- a/configure.ac Sun Jul 28 10:17:08 2019 +0100
-+++ b/configure.ac Thu Aug 27 00:15:50 2020 +0200
-@@ -4563,7 +4563,7 @@
- dnl Check for POSIX functions.
- dnl ----------------------------------------------------------------
-
--AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp fsync ftime ftruncate getaddrinfo gethostname getnameinfo getpagesize getrlimit gettimeofday getcwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setsid sigblock sighold sigprocmask snprintf strerror strlwr strupr symlink tzset ulimit umask usleep vlimit vsnprintf waitpid wcscmp wcslen)
-+AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp fsync ftime ftruncate getaddrinfo gethostname getnameinfo getpagesize getrlimit gettimeofday getcwd link logb lrand48 matherr mkdir mktime perror poll random readlink rename res_init rint rmdir select setitimer setpgid setsid sigblock sighold sigprocmask snprintf strerror strlwr strsignal strupr symlink tzset ulimit umask usleep vlimit vsnprintf waitpid wcscmp wcslen)
-
- dnl getaddrinfo() is borked under hpux11
- if test "$ac_cv_func_getaddrinfo" != "no" ; then
-diff -r 3ca291c0f7e3 src/config.h.in
---- a/src/config.h.in Sun Jul 28 10:17:08 2019 +0100
-+++ b/src/config.h.in Thu Aug 27 00:15:50 2020 +0200
-@@ -417,6 +417,7 @@
- #undef HAVE_SNPRINTF
- #undef HAVE_STRERROR
- #undef HAVE_STRLWR
-+#undef HAVE_STRSIGNAL
- #undef HAVE_STRUPR
- #undef HAVE_SYMLINK
- #undef HAVE_TZSET
-diff -r 3ca291c0f7e3 src/process.c
---- a/src/process.c Sun Jul 28 10:17:08 2019 +0100
-+++ b/src/process.c Thu Aug 27 00:15:50 2020 +0200
-@@ -1646,7 +1646,11 @@
- signal_name (int signum)
- {
- if (signum >= 0 && signum < NSIG)
-+#ifdef HAVE_STRSIGNAL
-+ return strsignal (signum);
-+#else
- return (const char *) sys_siglist[signum];
-+#endif
-
- return (const char *) GETTEXT ("unknown signal");
- }
-diff -r 3ca291c0f7e3 src/s/linux.h
---- a/src/s/linux.h Sun Jul 28 10:17:08 2019 +0100
-+++ b/src/s/linux.h Thu Aug 27 00:15:50 2020 +0200
-@@ -36,10 +36,6 @@
-
- /* Deleted GNU_LIBRARY_PENDING_OUTPUT_COUNT -- unused in XEmacs */
-
--/* This is needed for sysdep.c */
--
--#define HAVE_SYS_SIGLIST
--
- /* #define POSIX -- not used in XEmacs */
-
- /* Deleted TERM stuff -- probably hugely obsolete */
-diff -r 3ca291c0f7e3 src/sysdep.c
---- a/src/sysdep.c Sun Jul 28 10:17:08 2019 +0100
-+++ b/src/sysdep.c Thu Aug 27 00:15:50 2020 +0200
-@@ -3520,7 +3520,7 @@
- /* Strings corresponding to defined signals */
- /************************************************************************/
-
--#if (!defined(HAVE_DECL_SYS_SIGLIST) || !HAVE_DECL_SYS_SIGLIST ) && !defined (HAVE_SYS_SIGLIST)
-+#if !defined(HAVE_STRSIGNAL) && (!defined(HAVE_DECL_SYS_SIGLIST) || !HAVE_DECL_SYS_SIGLIST )
-
- #if defined(WIN32_NATIVE) || defined(CYGWIN)
- const char *sys_siglist[] =
-diff -r 3ca291c0f7e3 src/syssignal.h
---- a/src/syssignal.h Sun Jul 28 10:17:08 2019 +0100
-+++ b/src/syssignal.h Thu Aug 27 00:15:50 2020 +0200
-@@ -263,10 +263,8 @@
- # endif
- #endif
-
--/* HAVE_DECL_SYS_SIGLIST is determined by configure. On Linux, it seems,
-- configure incorrectly fails to find it, so s/linux.h defines
-- HAVE_SYS_SIGLIST. */
--#if (!defined(HAVE_DECL_SYS_SIGLIST) || !HAVE_DECL_SYS_SIGLIST ) && !defined (HAVE_SYS_SIGLIST)
-+/* Systems that have sys_siglist but do not declare it. */
-+#if !defined(HAVE_STRSIGNAL) && (!defined(HAVE_DECL_SYS_SIGLIST) || !HAVE_DECL_SYS_SIGLIST )
- extern const char *sys_siglist[];
- #endif
-
diff --git a/app-editors/xemacs/files/xemacs-21.5.35-configure-libc-version.patch b/app-editors/xemacs/files/xemacs-21.5.35-configure-libc-version.patch
new file mode 100644
index 000000000000..e744d3952b10
--- /dev/null
+++ b/app-editors/xemacs/files/xemacs-21.5.35-configure-libc-version.patch
@@ -0,0 +1,73 @@
+diff -r 3761ed745bc6 configure.ac
+--- a/configure.ac Sat Mar 02 17:26:00 2024 +0100
++++ b/configure.ac Fri Mar 08 22:25:23 2024 +0100
+@@ -2192,7 +2192,6 @@
+
+ compiler_version=""
+ gcc_compiler_specs=""
+-libc_version=""
+
+ AC_MSG_CHECKING([for compiler version information])
+
+@@ -2255,53 +2254,6 @@
+ fi
+ AC_MSG_RESULT([$compiler_version])
+
+-AC_MSG_CHECKING(for standard C library version information)
+-
+-case "$ac_cv_build" in
+- *-*-linux*)
+- dnl #### who would ever _not_ be running the distro's libc?
+- dnl Maybe it would be better to get/augment this info with ldd?
+- if test -f /etc/redhat-release ; then
+- libc_version=`rpm -q glibc`
+- elif test -f /etc/debian_version ; then
+- libc_version=`dpkg-query --showformat='${version}' --show libc6`
+- libc_version="GNU libc $libc_version (Debian)"
+- dnl need SuSE et al checks here...
+- fi
+- dnl #### Tested on Debian, does this actually work elsewhere? ;-)
+- if test -z "$libc_version"; then
+- libc_version=`ls /lib/libc-*.so | sed -e 's,/lib/libc-\(.*\)\.so,\1,'`
+- fi
+- ;;
+-
+- *-*-aix*)
+- libc_version="bos.rte.libc `lslpp -Lqc bos.rte.libc | cut -f3 -d:`"
+- ;;
+-
+- *-*-solaris*)
+- libc=`pkginfo -l SUNWcsl | grep VERSION: | awk '{print $2}'`
+- libc_version="SUNWcsl $libc"
+-
+- ;;
+-
+- mips-sgi-irix*)
+- libc_version="IRIX libc `uname -sRm`"
+- ;;
+-
+- alpha*-dec-osf*)
+- dnl Another ugly case
+- (cd /usr/.smdb.;
+- libc_version=` grep -h libc.so *.inv | awk '$9 == "f" {print $12}' | tr '\n' ','`
+- )
+- ;;
+-esac
+-
+-dnl Awww, shucks.
+-if test -z "libc_version"; then
+- libc_version="detection failed (please report this)"
+-fi
+-AC_MSG_RESULT([$libc_version])
+-
+ dnl ---------------------------------------------------------
+ dnl These directories are used to search for include subdirs.
+ dnl ---------------------------------------------------------
+@@ -6122,7 +6074,6 @@
+ echo " WARNING: CC and XEMACS_CC mismatched; check CFLAGS carefully."
+ fi
+ fi
+-echo " libc version: $libc_version"
+ echo " Relocating allocator for buffers: $with_rel_alloc"
+ echo "
+ Package Search (a 'root' contains '{xemacs,mule,site}-packages'):"
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 78bf15a9cc75..b96ffa800d92 100644
--- a/app-editors/xemacs/metadata.xml
+++ b/app-editors/xemacs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>xemacs@gentoo.org</email>
@@ -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.4.24-r10.ebuild b/app-editors/xemacs/xemacs-21.4.24-r10.ebuild
new file mode 100644
index 000000000000..7d1252abe2f3
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.4.24-r10.ebuild
@@ -0,0 +1,254 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with position independent code
+# so the build forces the use of the -no-pie option
+
+EAPI=7
+
+WANT_AUTOCONF="2.1"
+inherit autotools flag-o-matic toolchain-funcs xdg-utils desktop
+
+DESCRIPTION="highly customizable open source text editor and application development system"
+HOMEPAGE="https://www.xemacs.org/"
+SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
+ neXt? ( http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz )"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn xim athena neXt Xaw3d gdbm berkdb"
+
+X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
+
+RDEPEND="
+ berkdb? ( sys-libs/db:= )
+ gdbm? ( >=sys-libs/gdbm-1.8.3:=[berkdb] )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0=
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap:= )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d[unicode(+)] )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:= )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ !amd64? ( freewnn? ( app-i18n/freewnn ) )
+ >=sys-libs/ncurses-5.2:=
+ >=app-eselect/eselect-emacs-1.15"
+
+DEPEND="${RDEPEND}
+ >=sys-apps/texinfo-5"
+
+PDEPEND="app-xemacs/xemacs-base
+ mule? ( app-xemacs/mule-base )"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+src_prepare() {
+ # see bug 58350, 102540 and 143580
+ eapply "${FILESDIR}"/xemacs-21.4.19-db.patch
+ # see bug 576512
+ eapply "${FILESDIR}"/xemacs-21.4.24-gcc5.patch
+ eapply "${FILESDIR}"/xemacs-21.4.24-glibc-macro.patch
+ # see bug 615544
+ eapply "${FILESDIR}"/xemacs-21.4.24-ncurses-tinfo.patch
+ eapply "${FILESDIR}"/xemacs-21.4.24-strsignal.patch
+
+ # Convert to utf-8
+ iconv -f iso-8859-1 -t utf-8 -o man/xemacs-faq.texi.tmp man/xemacs-faq.texi \
+ && mv -f man/xemacs-faq.texi.tmp man/xemacs-faq.texi || die
+ iconv -f iso-8859-1 -t utf-8 -o man/lispref/ldap.texi.tmp man/lispref/ldap.texi \
+ && mv -f man/lispref/ldap.texi.tmp man/lispref/ldap.texi || die
+
+ eapply_user
+
+ # Some binaries and man pages are installed under suffixed names
+ # to avoid collions with their GNU Emacs counterparts (see below).
+ # Fix internal filename references.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+
+ # Run autoconf. XEmacs tries to be smart by providing a stub
+ # configure.ac file for autoconf 2.59 but this throws our
+ # autotools eclass so it must be removed first.
+ rm "${S}"/configure.ac || die
+ eautoconf
+
+ use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
+}
+
+src_configure() {
+ local myconf=""
+
+ # Can't build with pie. See bug #75028
+ test-flags -no-pie >/dev/null && append-flags -no-pie
+ filter-flags -pie
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+
+ myconf="${myconf} $(use_with tiff ) $(use_with png )"
+ myconf="${myconf} $(use_with jpeg ) $(use_with xface )"
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --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
+ else
+ myconf="${myconf} --with-xim=no"
+ fi
+
+ myconf="${myconf} $(use_with freewnn wnn )"
+ fi
+
+ # This determines the type of sounds we are playing
+ local soundconf="native"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ # Enabling modules will cause segfaults outside the XEmacs build directory
+ use ia64 && myconf="${myconf} --without-modules"
+
+ einfo "${myconf}"
+
+ # see bug 576512
+ append-cflags -fgnu89-inline
+
+ use freewnn && append-cppflags "-I. -I${ESYSROOT}/usr/include/wnn"
+
+ # Don't use econf because it uses options which this configure
+ # script does not understand (like --host).
+ ./configure ${myconf} ${EXTRA_ECONF} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with eolconv file-coding ) \
+ $(use_with pop ) \
+ --compiler="$(tc-getCC)" \
+ --prefix=/usr \
+ --without-canna \
+ --with-ncurses \
+ --with-system-malloc \
+ --with-msw=no \
+ --mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ || die "The configure script failed to run properly"
+}
+
+src_install() {
+ emake prefix="${D}"/usr \
+ mandir="${D}"/usr/share/man/man1 \
+ infodir="${D}"/usr/share/info \
+ install gzip-el || die "emake install failed"
+
+ # Rename some applications installed in bin so that it is clear
+ # 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 rcs-checkin gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ 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
+
+ # remove extraneous info files
+ cd "${D}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README*
+ dodoc "${FILESDIR}"/README.Gentoo
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+ xdg_desktop_database_update
+}
diff --git a/app-editors/xemacs/xemacs-21.4.24-r2.ebuild b/app-editors/xemacs/xemacs-21.4.24-r9.ebuild
index 22186d5e0150..ce257c1934e4 100644
--- a/app-editors/xemacs/xemacs-21.4.24-r2.ebuild
+++ b/app-editors/xemacs/xemacs-21.4.24-r9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Note: xemacs currently does not work with position independent code
@@ -7,29 +7,29 @@
EAPI=7
WANT_AUTOCONF="2.1"
-inherit autotools eutils flag-o-matic toolchain-funcs xdg-utils desktop
+inherit autotools flag-o-matic toolchain-funcs xdg-utils desktop
DESCRIPTION="highly customizable open source text editor and application development system"
-HOMEPAGE="http://www.xemacs.org/"
+HOMEPAGE="https://www.xemacs.org/"
SRC_URI="http://ftp.xemacs.org/xemacs-21.4/${P}.tar.gz
http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm64 ~hppa ppc ppc64 sparc x86"
-IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn canna xim athena neXt Xaw3d gdbm berkdb"
+IUSE="eolconv gif gpm pop postgres ldap xface nas dnd X jpeg tiff png mule motif freewnn xim athena neXt Xaw3d gdbm berkdb"
X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
RDEPEND="
berkdb? ( sys-libs/db:= )
- gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb] )
+ gdbm? ( >=sys-libs/gdbm-1.8.3:=[berkdb] )
>=sys-libs/zlib-1.1.4
- >=dev-libs/openssl-0.9.6:0
+ >=dev-libs/openssl-0.9.6:0=
>=media-libs/audiofile-0.2.3
gpm? ( >=sys-libs/gpm-1.19.6 )
postgres? ( dev-db/postgresql:= )
- ldap? ( net-nds/openldap )
+ ldap? ( net-nds/openldap:= )
nas? ( media-libs/nas )
X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
dnd? ( x11-libs/dnd )
@@ -38,10 +38,9 @@ RDEPEND="
Xaw3d? ( x11-libs/libXaw3d )
neXt? ( x11-libs/neXtaw )
xface? ( media-libs/compface )
- tiff? ( media-libs/tiff:0 )
+ tiff? ( media-libs/tiff:= )
png? ( >=media-libs/libpng-1.2:0 )
- jpeg? ( virtual/jpeg:0 )
- canna? ( app-i18n/canna )
+ jpeg? ( media-libs/libjpeg-turbo:= )
!amd64? ( freewnn? ( app-i18n/freewnn ) )
>=sys-libs/ncurses-5.2:=
>=app-eselect/eselect-emacs-1.15"
@@ -147,7 +146,7 @@ src_configure() {
myconf="${myconf} --with-xim=no"
fi
- myconf="${myconf} $(use_with canna ) $(use_with freewnn wnn )"
+ myconf="${myconf} $(use_with freewnn wnn )"
fi
# This determines the type of sounds we are playing
@@ -185,8 +184,9 @@ src_configure() {
$(use_with ldap ) \
$(use_with eolconv file-coding ) \
$(use_with pop ) \
- --compiler=$(tc-getCC) \
+ --compiler="$(tc-getCC)" \
--prefix=/usr \
+ --without-canna \
--with-ncurses \
--with-system-malloc \
--with-msw=no \
diff --git a/app-editors/xemacs/xemacs-21.5.34-r5.ebuild b/app-editors/xemacs/xemacs-21.5.35-r1.ebuild
index accb1cfdff36..505fb03625a3 100644
--- a/app-editors/xemacs/xemacs-21.5.34-r5.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.35-r1.ebuild
@@ -1,78 +1,74 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Note: xemacs currently does not work with position independent code
# so the build forces the use of the -no-pie option
-EAPI=7
+EAPI=8
-inherit autotools eutils flag-o-matic multilib xdg-utils desktop
+inherit flag-o-matic xdg-utils desktop autotools
DESCRIPTION="highly customizable open source text editor and application development system"
-HOMEPAGE="http://www.xemacs.org/"
-SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz
- http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+HOMEPAGE="https://www.xemacs.org/"
+
+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 ~sparc ~x86"
-IUSE="alsa debug eolconv gif gpm pop postgres ldap libressl xface nas dnd X jpeg tiff png mule motif freewnn canna 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"
RDEPEND="
berkdb? ( >=sys-libs/db-4:= !!<sys-libs/db-4 )
- gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] )
+ gdbm? ( >=sys-libs/gdbm-1.8.3:=[berkdb(+)] )
>=sys-libs/zlib-1.1.4
- !libressl? ( >=dev-libs/openssl-0.9.6:0 )
- libressl? ( dev-libs/libressl )
+ >=dev-libs/openssl-0.9.6:0=
>=media-libs/audiofile-0.2.3
gpm? ( >=sys-libs/gpm-1.19.6 )
postgres? ( dev-db/postgresql:= )
- ldap? ( net-nds/openldap )
+ ldap? ( net-nds/openldap:= )
alsa? ( media-libs/alsa-lib )
nas? ( media-libs/nas )
X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
dnd? ( x11-libs/dnd )
motif? ( >=x11-libs/motif-2.3:0[xft=] )
athena? ( x11-libs/libXaw )
- Xaw3d? ( x11-libs/libXaw3d )
+ Xaw3d? ( x11-libs/libXaw3d[unicode(+)] )
xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
neXt? ( x11-libs/neXtaw )
xface? ( media-libs/compface )
- tiff? ( media-libs/tiff:0 )
+ tiff? ( media-libs/tiff:= )
png? ( >=media-libs/libpng-1.2:0 )
- jpeg? ( virtual/jpeg:0 )
- canna? ( app-i18n/canna )
+ 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() {
default_src_unpack
-
- use neXt && unpack NeXT_XEmacs.tar.gz
}
src_prepare() {
use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
- eapply "${FILESDIR}/${P}-ncurses-tinfo.patch"
- eapply "${FILESDIR}/${P}-gcc5.patch"
- eapply "${FILESDIR}/${P}-glibc-macro.patch"
- eapply "${FILESDIR}/${P}-as-needed.patch"
+ eapply "${FILESDIR}/${P}-configure.patch"
+ eapply "${FILESDIR}/${P}-mule-tests.patch"
eapply "${FILESDIR}/${P}-configure-libc-version.patch"
- eapply "${FILESDIR}/${P}-ar.patch"
- eapply "${FILESDIR}/${P}-strsignal.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.
@@ -112,7 +108,7 @@ src_configure() {
myconf="${myconf} --with-athena=xaw"
fi
- use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+ use dnd && myconf="${myconf} --with-dragndrop"
myconf="${myconf} $(use_with tiff )"
myconf="${myconf} $(use_with png )"
@@ -131,23 +127,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 canna )"
- 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"
@@ -166,24 +157,34 @@ src_configure() {
myconf="${myconf} --without-database"
fi
- use debug && myconf="${myconf} --with-debug" ||
- myconf="${myconf} --with-optimization"
+ if use debug ; then
+ myconf="${myconf} --with-debug"
+ # bug #924339
+ append-flags -fno-strict-aliasing
+ else
+ myconf="${myconf} --with-optimization --with-cflags-debugging="
+ fi
+
+ use bignum && myconf="${myconf} --with-bignum=openssl" ||
+ myconf="${myconf} --with-bignum=no"
+
+ use freewnn && append-cppflags "-I. -I${ESYSROOT}/usr/include/wnn"
econf ${myconf} \
$(use_with gif ) \
$(use_with gpm ) \
$(use_with postgres postgresql ) \
$(use_with ldap ) \
- $(use_with eolconv file-coding ) \
$(use_with pop ) \
--prefix=/usr \
+ --with-mule \
+ --with-unicode-internal \
+ --without-canna \
--with-ncurses \
--with-msw=no \
--with-mail-locking=flock \
--with-site-lisp=yes \
--with-site-modules=yes \
- --with-newgc \
- --with-system-malloc \
--enable-option-checking=no \
--with-last-packages=/usr/lib/xemacs
}
@@ -218,11 +219,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.34-r4.ebuild b/app-editors/xemacs/xemacs-21.5.35.ebuild
index 8cf979775cf2..81c8ab501cb5 100644
--- a/app-editors/xemacs/xemacs-21.5.34-r4.ebuild
+++ b/app-editors/xemacs/xemacs-21.5.35.ebuild
@@ -1,72 +1,72 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Note: xemacs currently does not work with position independent code
# so the build forces the use of the -no-pie option
-EAPI=5
+EAPI=8
-inherit eutils flag-o-matic multilib xdg-utils
+inherit flag-o-matic xdg-utils desktop autotools
DESCRIPTION="highly customizable open source text editor and application development system"
-HOMEPAGE="http://www.xemacs.org/"
-SRC_URI="http://ftp.xemacs.org/xemacs-21.5/${P}.tar.gz
- http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz"
+HOMEPAGE="https://www.xemacs.org/"
+
+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 ~sparc ~x86"
-IUSE="alsa debug eolconv gif gpm pop postgres ldap libressl xface nas dnd X jpeg tiff png mule motif freewnn canna 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"
RDEPEND="
berkdb? ( >=sys-libs/db-4:= !!<sys-libs/db-4 )
- gdbm? ( >=sys-libs/gdbm-1.8.3[berkdb(+)] )
+ gdbm? ( >=sys-libs/gdbm-1.8.3:=[berkdb(+)] )
>=sys-libs/zlib-1.1.4
- !libressl? ( >=dev-libs/openssl-0.9.6:0 )
- libressl? ( dev-libs/libressl )
+ >=dev-libs/openssl-0.9.6:0=
>=media-libs/audiofile-0.2.3
gpm? ( >=sys-libs/gpm-1.19.6 )
postgres? ( dev-db/postgresql:= )
- ldap? ( net-nds/openldap )
+ ldap? ( net-nds/openldap:= )
alsa? ( media-libs/alsa-lib )
nas? ( media-libs/nas )
X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
dnd? ( x11-libs/dnd )
motif? ( >=x11-libs/motif-2.3:0[xft=] )
athena? ( x11-libs/libXaw )
- Xaw3d? ( x11-libs/libXaw3d )
+ Xaw3d? ( x11-libs/libXaw3d[unicode(+)] )
xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
neXt? ( x11-libs/neXtaw )
xface? ( media-libs/compface )
- tiff? ( media-libs/tiff:0 )
+ tiff? ( media-libs/tiff:= )
png? ( >=media-libs/libpng-1.2:0 )
- jpeg? ( virtual/jpeg:0 )
- canna? ( app-i18n/canna )
+ 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() {
default_src_unpack
-
- use neXt && unpack NeXT_XEmacs.tar.gz
}
src_prepare() {
use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
- epatch "${FILESDIR}/${P}-ncurses-tinfo.patch"
- epatch "${FILESDIR}/${P}-gcc5.patch"
- epatch "${FILESDIR}/${P}-glibc-macro.patch"
- epatch "${FILESDIR}/${P}-as-needed.patch"
+ 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).
@@ -107,7 +107,7 @@ src_configure() {
myconf="${myconf} --with-athena=xaw"
fi
- use dnd && myconf="${myconf} --with-dragndrop --with-offix"
+ use dnd && myconf="${myconf} --with-dragndrop"
myconf="${myconf} $(use_with tiff )"
myconf="${myconf} $(use_with png )"
@@ -126,23 +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 canna )"
- 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"
@@ -162,23 +157,28 @@ src_configure() {
fi
use debug && myconf="${myconf} --with-debug" ||
- myconf="${myconf} --with-optimization"
+ 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} \
$(use_with gif ) \
$(use_with gpm ) \
$(use_with postgres postgresql ) \
$(use_with ldap ) \
- $(use_with eolconv file-coding ) \
$(use_with pop ) \
--prefix=/usr \
+ --with-mule \
+ --with-unicode-internal \
+ --without-canna \
--with-ncurses \
--with-msw=no \
--with-mail-locking=flock \
--with-site-lisp=yes \
--with-site-modules=yes \
- --with-newgc \
- --with-system-malloc \
--enable-option-checking=no \
--with-last-packages=/usr/lib/xemacs
}
@@ -188,11 +188,11 @@ src_compile() {
}
src_install() {
- emake prefix="${D}"/usr \
- mandir="${D}"/usr/share/man/man1 \
- infodir="${D}"/usr/share/info \
- libdir="${D}"/usr/$(get_libdir) \
- datadir="${D}"/usr/share \
+ emake prefix="${ED}"/usr \
+ mandir="${ED}"/usr/share/man/man1 \
+ infodir="${ED}"/usr/share/info \
+ libdir="${ED}"/usr/$(get_libdir) \
+ datadir="${ED}"/usr/share \
install
# Rename some applications installed in bin so that it is clear
@@ -200,12 +200,12 @@ src_install() {
# packages (emacs) can't clobber the actual applications.
# Addresses bug #62991.
for i in b2m ctags etags gnuclient gnudoit gnuattach; do
- mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ mv "${ED}"/usr/bin/${i} "${ED}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
done
# rename man pages
for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
- mv "${D}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ mv "${ED}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
done
# install base packages directories
@@ -213,14 +213,10 @@ 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 "${D}"/usr/share/info
+ cd "${ED}"/usr/share/info
rm -f dir info.info texinfo* termcap* standards*
cd "${S}"
diff --git a/app-editors/xemacs/xemacs-21.5.9999.ebuild b/app-editors/xemacs/xemacs-21.5.9999.ebuild
new file mode 100644
index 000000000000..172643503b1d
--- /dev/null
+++ b/app-editors/xemacs/xemacs-21.5.9999.ebuild
@@ -0,0 +1,259 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Note: xemacs currently does not work with position independent code
+# so the build forces the use of the -no-pie option
+
+EAPI=8
+
+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"
+
+LICENSE="GPL-3+"
+SLOT="0"
+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"
+
+RDEPEND="
+ berkdb? ( >=sys-libs/db-4:= !!<sys-libs/db-4 )
+ gdbm? ( >=sys-libs/gdbm-1.8.3:=[berkdb(+)] )
+ >=sys-libs/zlib-1.1.4
+ >=dev-libs/openssl-0.9.6:0=
+ >=media-libs/audiofile-0.2.3
+ gpm? ( >=sys-libs/gpm-1.19.6 )
+ postgres? ( dev-db/postgresql:= )
+ ldap? ( net-nds/openldap:= )
+ alsa? ( media-libs/alsa-lib )
+ nas? ( media-libs/nas )
+ X? ( $X_DEPEND !Xaw3d? ( !neXt? ( x11-libs/libXaw ) ) )
+ dnd? ( x11-libs/dnd )
+ motif? ( >=x11-libs/motif-2.3:0[xft=] )
+ athena? ( x11-libs/libXaw )
+ Xaw3d? ( x11-libs/libXaw3d[unicode(+)] )
+ xft? ( media-libs/freetype:2 x11-libs/libXft x11-libs/libXrender >=media-libs/fontconfig-2.5.0 )
+ neXt? ( x11-libs/neXtaw )
+ xface? ( media-libs/compface )
+ tiff? ( media-libs/tiff:= )
+ png? ( >=media-libs/libpng-1.2:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ freewnn? ( app-i18n/freewnn )
+ >=sys-libs/ncurses-5.2:=
+ >=app-eselect/eselect-emacs-1.15
+ bignum? ( dev-libs/openssl )"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PDEPEND="app-xemacs/xemacs-base
+ app-xemacs/mule-base"
+
+src_unpack() {
+ mercurial_src_unpack
+
+ use neXt && unpack NeXT_XEmacs.tar.gz
+}
+
+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-configure-libc-version.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.
+ sed -i -e 's/exec gnuclient/&-xemacs/' lib-src/gnudoit || die
+ sed -i -e '/^\.so/s/etags/&-xemacs/' etc/ctags.1 || die
+ sed -i -e '/^\.so/s/gnuserv/&-xemacs/' etc/gnu{client,doit,attach}.1 || die
+}
+
+src_configure() {
+ local myconf=""
+
+ # bug #639642
+ test-flags -no-pie >/dev/null && append-flags -no-pie
+ filter-flags -pie
+
+ if use X; then
+
+ myconf="${myconf} --with-widgets=athena"
+ myconf="${myconf} --with-dialogs=athena"
+ myconf="${myconf} --with-menubars=lucid"
+ myconf="${myconf} --with-scrollbars=lucid"
+ if use motif ; then
+ myconf="--with-widgets=motif"
+ myconf="${myconf} --with-dialogs=motif"
+ myconf="${myconf} --with-scrollbars=motif"
+ myconf="${myconf} --with-menubars=lucid"
+ fi
+ if use athena or use Xaw3d ; then
+ myconf="--with-scrollbars=athena"
+ fi
+
+ if use Xaw3d; then
+ myconf="${myconf} --with-athena=3d"
+ elif use neXt; then
+ myconf="${myconf} --with-athena=next"
+ else
+ myconf="${myconf} --with-athena=xaw"
+ fi
+
+ use dnd && myconf="${myconf} --with-dragndrop"
+
+ myconf="${myconf} $(use_with tiff )"
+ myconf="${myconf} $(use_with png )"
+ myconf="${myconf} $(use_with jpeg )"
+ myconf="${myconf} $(use_with xface )"
+
+ use xft && myconf="${myconf} --with-xft=emacs,tabs,menubars,gauges" ||
+ myconf="${myconf} --with-xft=no"
+
+ else
+ myconf="${myconf}
+ --without-x
+ --without-xpm
+ --without-dragndrop
+ --with-xft=no
+ --with-gif=no"
+ fi
+
+ if use xim ; then
+ if use motif ; then
+ myconf="${myconf} --with-xim=motif"
+ else
+ myconf="${myconf} --with-xim=xlib"
+ fi
+ 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"
+
+ # This determines how these sounds should be played
+ use nas && soundconf="${soundconf},nas"
+ use alsa && soundconf="${soundconf},alsa"
+
+ myconf="${myconf} --with-sound=${soundconf}"
+
+ if use gdbm || use berkdb ; then
+ use gdbm && mydb="gdbm"
+ use berkdb && mydb="${mydb},berkdb"
+
+ myconf="${myconf} --with-database=${mydb}"
+ else
+ myconf="${myconf} --without-database"
+ fi
+
+ if use debug ; then
+ myconf="${myconf} --with-debug"
+ # bug #924339
+ append-flags -fno-strict-aliasing
+ else
+ myconf="${myconf} --with-optimization --with-cflags-debugging="
+ fi
+
+ use bignum && myconf="${myconf} --with-bignum=openssl" ||
+ myconf="${myconf} --with-bignum=no"
+
+ use freewnn && append-cppflags "-I. -I${ESYSROOT}/usr/include/wnn"
+
+ econf ${myconf} \
+ $(use_with gif ) \
+ $(use_with gpm ) \
+ $(use_with postgres postgresql ) \
+ $(use_with ldap ) \
+ $(use_with pop ) \
+ --prefix=/usr \
+ --with-mule \
+ --with-unicode-internal \
+ --without-canna \
+ --with-ncurses \
+ --with-msw=no \
+ --with-mail-locking=flock \
+ --with-site-lisp=yes \
+ --with-site-modules=yes \
+ --enable-option-checking=no \
+ --with-last-packages=/usr/lib/xemacs
+}
+
+src_compile() {
+ emake EMACSLOADPATH="${S}"/lisp
+}
+
+src_install() {
+ emake prefix="${ED}"/usr \
+ mandir="${ED}"/usr/share/man/man1 \
+ infodir="${ED}"/usr/share/info \
+ libdir="${ED}"/usr/$(get_libdir) \
+ datadir="${ED}"/usr/share \
+ install
+
+ # Rename some applications installed in bin so that it is clear
+ # 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
+ mv "${ED}"/usr/bin/${i} "${ED}"/usr/bin/${i}-xemacs || die "mv ${i} failed"
+ done
+
+ # rename man pages
+ for i in ctags etags gnuserv gnuclient gnudoit gnuattach; do
+ mv "${ED}"/usr/share/man/man1/${i}{,-xemacs}.1 || die "mv ${i}.1 failed"
+ done
+
+ # install base packages directories
+ dodir /usr/lib/xemacs/xemacs-packages/
+ dodir /usr/lib/xemacs/site-packages/
+ dodir /usr/lib/xemacs/site-modules/
+ dodir /usr/lib/xemacs/site-lisp/
+ dodir /usr/lib/xemacs/mule-packages
+
+ # remove extraneous info files
+ cd "${ED}"/usr/share/info
+ rm -f dir info.info texinfo* termcap* standards*
+
+ cd "${S}"
+ dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README*
+
+ newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm
+
+ domenu "${FILESDIR}"/${PN}.desktop
+}
+
+pkg_postinst() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+ xdg_desktop_database_update
+
+ einfo "If you are upgrading from XEmacs 21.4 you should note the following"
+ einfo "incompatibilities:"
+ einfo "- Mule-UCS is no longer supported due to proper UTF-8 support in XEmacs 21.5"
+ einfo "- The X resource class has changed from Emacs to XEmacs,"
+ einfo " settings in your .Xdefaults file should be updated accordingly."
+
+ if use xft;
+ then
+ einfo "You have enabled Xft font support. Xft requires font names to be provided"
+ einfo "in a different way, so you may need to adjust your .Xdefaults accordingly."
+ fi
+}
+
+pkg_postrm() {
+ eselect emacs update ifunset
+ eselect gnuclient update ifunset
+ xdg_desktop_database_update
+}