diff options
Diffstat (limited to 'app-editors/xemacs')
17 files changed, 576 insertions, 430 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.4.24-strsignal.patch b/app-editors/xemacs/files/xemacs-21.4.24-strsignal.patch new file mode 100644 index 000000000000..a44b925ccdd5 --- /dev/null +++ b/app-editors/xemacs/files/xemacs-21.4.24-strsignal.patch @@ -0,0 +1,89 @@ +diff -r ab1558b934ff configure +--- a/configure Sun Aug 30 22:05:05 2020 +0200 ++++ b/configure Sun Aug 30 22:38:03 2020 +0200 +@@ -11333,7 +11333,7 @@ + fi + + +-for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask ++for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror strsignal tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask + do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 + echo "configure:11340: checking for $ac_func" >&5 +diff -r ab1558b934ff configure.in +--- a/configure.in Sun Aug 30 22:05:05 2020 +0200 ++++ b/configure.in Sun Aug 30 22:38:03 2020 +0200 +@@ -4012,7 +4012,7 @@ + dnl Check for POSIX functions. + dnl ---------------------------------------------------------------- + +-AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask) ++AC_CHECK_FUNCS(cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf stpcpy strerror strsignal tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask) + + dnl getaddrinfo() is borked under hpux11 + if test "$ac_cv_func_getaddrinfo" != "no" ; then +diff -r ab1558b934ff src/config.h.in +--- a/src/config.h.in Sun Aug 30 22:05:05 2020 +0200 ++++ b/src/config.h.in Sun Aug 30 22:38:03 2020 +0200 +@@ -346,6 +346,7 @@ + #undef HAVE_SNPRINTF + #undef HAVE_STPCPY + #undef HAVE_STRERROR ++#undef HAVE_STRSIGNAL + #undef HAVE_TZSET + #undef HAVE_ULIMIT + #undef HAVE_USLEEP +diff -r ab1558b934ff src/process.c +--- a/src/process.c Sun Aug 30 22:05:05 2020 +0200 ++++ b/src/process.c Sun Aug 30 22:38:03 2020 +0200 +@@ -1311,7 +1311,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 ab1558b934ff src/s/linux.h +--- a/src/s/linux.h Sun Aug 30 22:05:05 2020 +0200 ++++ b/src/s/linux.h Sun Aug 30 22:38:03 2020 +0200 +@@ -107,7 +107,6 @@ + + #define NO_SIOCTL_H /* don't have sioctl.h */ + +-#define HAVE_SYS_SIGLIST + #define HAVE_WAIT_HEADER + + #define POSIX /* affects getpagesize.h and systty.h */ +diff -r ab1558b934ff src/sysdep.c +--- a/src/sysdep.c Sun Aug 30 22:05:05 2020 +0200 ++++ b/src/sysdep.c Sun Aug 30 22:38:03 2020 +0200 +@@ -3526,7 +3526,7 @@ + /* Strings corresponding to defined signals */ + /************************************************************************/ + +-#if !defined (SYS_SIGLIST_DECLARED) && !defined (HAVE_SYS_SIGLIST) ++#if !defined(HAVE_STRSIGNAL) && !defined (SYS_SIGLIST_DECLARED) && !defined (HAVE_SYS_SIGLIST) + + #if defined(WIN32_NATIVE) || defined(CYGWIN) + const char *sys_siglist[] = +diff -r ab1558b934ff src/syssignal.h +--- a/src/syssignal.h Sun Aug 30 22:05:05 2020 +0200 ++++ b/src/syssignal.h Sun Aug 30 22:38:03 2020 +0200 +@@ -223,10 +223,8 @@ + # define NSIG (SIGUSR2+1) /* guess how many elements are in sys_siglist... */ + #endif + +-/* SYS_SIGLIST_DECLARED is determined by configure. On Linux, it seems, +- configure incorrectly fails to find it, so s/linux.h defines +- HAVE_SYS_SIGLIST. */ +-#if !defined (SYS_SIGLIST_DECLARED) && !defined (HAVE_SYS_SIGLIST) ++/* Systems that have sys_siglist but do not declare it. */ ++#if !defined(HAVE_STRSIGNAL) && !defined (SYS_SIGLIST_DECLARED) && !defined (HAVE_SYS_SIGLIST) + extern const char *sys_siglist[]; + #endif + 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.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-r1.ebuild b/app-editors/xemacs/xemacs-21.4.24-r10.ebuild index 032b668af1e9..7d1252abe2f3 100644 --- a/app-editors/xemacs/xemacs-21.4.24-r1.ebuild +++ b/app-editors/xemacs/xemacs-21.4.24-r10.ebuild @@ -1,47 +1,46 @@ -# Copyright 1999-2020 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=7 WANT_AUTOCONF="2.1" -inherit autotools eutils flag-o-matic toolchain-funcs xdg-utils +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" + 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 canna xim athena neXt Xaw3d gdbm berkdb" +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] ) + 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 ) motif? ( >=x11-libs/motif-2.3:0 ) athena? ( x11-libs/libXaw ) - Xaw3d? ( x11-libs/libXaw3d ) + Xaw3d? ( x11-libs/libXaw3d[unicode(+)] ) 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" @@ -59,12 +58,21 @@ src_unpack() { src_prepare() { # see bug 58350, 102540 and 143580 - epatch "${FILESDIR}"/xemacs-21.4.19-db.patch + eapply "${FILESDIR}"/xemacs-21.4.19-db.patch # see bug 576512 - epatch "${FILESDIR}"/xemacs-21.4.24-gcc5.patch - epatch "${FILESDIR}"/xemacs-21.4.24-glibc-macro.patch + eapply "${FILESDIR}"/xemacs-21.4.24-gcc5.patch + eapply "${FILESDIR}"/xemacs-21.4.24-glibc-macro.patch # see bug 615544 - epatch "${FILESDIR}"/xemacs-21.4.24-ncurses-tinfo.patch + 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). @@ -138,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 @@ -167,6 +175,8 @@ src_configure() { # 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} \ @@ -176,8 +186,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.4.24-r2.ebuild b/app-editors/xemacs/xemacs-21.4.24-r9.ebuild index 1f2018514edc..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" +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] ) + 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" @@ -65,6 +64,7 @@ src_prepare() { 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 \ @@ -146,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 @@ -184,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 6e6d7958c4e1..505fb03625a3 100644 --- a/app-editors/xemacs/xemacs-21.5.34-r5.ebuild +++ b/app-editors/xemacs/xemacs-21.5.35-r1.ebuild @@ -1,77 +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_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. @@ -111,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 )" @@ -130,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" @@ -165,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 } @@ -217,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.4.24.ebuild b/app-editors/xemacs/xemacs-21.5.9999.ebuild index 7b39f0f4f265..172643503b1d 100644 --- a/app-editors/xemacs/xemacs-21.4.24.ebuild +++ b/app-editors/xemacs/xemacs-21.5.9999.ebuild @@ -1,69 +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="5" +EAPI=8 -WANT_AUTOCONF="2.1" -inherit autotools eutils flag-o-matic toolchain-funcs 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.4/${P}.tar.gz - http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz" +HOMEPAGE="https://www.xemacs.org/" +SRC_URI="neXt? ( http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz )" -LICENSE="GPL-2+" +inherit mercurial +EHG_REPO_URI="https://foss.heptapod.net/xemacs/xemacs" + +LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 ~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="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:= ) - gdbm? ( >=sys-libs/gdbm-1.8.3 ) + 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 + >=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 ) + 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 ) - !amd64? ( freewnn? ( app-i18n/freewnn ) ) + 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} - >=sys-apps/texinfo-5" + virtual/pkgconfig" PDEPEND="app-xemacs/xemacs-base - mule? ( app-xemacs/mule-base )" + app-xemacs/mule-base" src_unpack() { - unpack ${P}.tar.gz + mercurial_src_unpack + use neXt && unpack NeXT_XEmacs.tar.gz } src_prepare() { - # see bug 58350, 102540 and 143580 - epatch "${FILESDIR}"/xemacs-21.4.19-db.patch - # see bug 576512 - epatch "${FILESDIR}"/xemacs-21.4.24-gcc5.patch - # see bug 615544 - epatch "${FILESDIR}"/xemacs-21.4.24-ncurses-tinfo.patch + 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). @@ -71,20 +76,12 @@ src_prepare() { 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 + # bug #639642 test-flags -no-pie >/dev/null && append-flags -no-pie filter-flags -pie @@ -100,7 +97,7 @@ src_configure() { myconf="${myconf} --with-scrollbars=motif" myconf="${myconf} --with-menubars=lucid" fi - if use athena ; then + if use athena or use Xaw3d ; then myconf="--with-scrollbars=athena" fi @@ -112,45 +109,48 @@ 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 )" + 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" - 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-xft=no --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 ) $(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" # 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 gdbm && mydb="gdbm" use berkdb && mydb="${mydb},berkdb" myconf="${myconf} --with-database=${mydb}" @@ -158,54 +158,61 @@ src_configure() { myconf="${myconf} --without-database" fi - # Enabling modules will cause segfaults outside the XEmacs build directory - use ia64 && myconf="${myconf} --without-modules" - - # fixes #552044, deprecation warnings fools header detection in configure - myconf="${myconf} --cppflags=-Wno-cpp" + if use debug ; then + myconf="${myconf} --with-debug" + # bug #924339 + append-flags -fno-strict-aliasing + else + myconf="${myconf} --with-optimization --with-cflags-debugging=" + fi - einfo "${myconf}" + use bignum && myconf="${myconf} --with-bignum=openssl" || + myconf="${myconf} --with-bignum=no" - # see bug 576512 - append-cflags -std=gnu89 + 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} \ + econf ${myconf} \ $(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 \ + --with-mule \ + --with-unicode-internal \ + --without-canna \ --with-ncurses \ - --with-system-malloc \ --with-msw=no \ - --mail-locking=flock \ + --with-mail-locking=flock \ --with-site-lisp=yes \ --with-site-modules=yes \ - || die "The configure script failed to run properly" + --enable-option-checking=no \ + --with-last-packages=/usr/lib/xemacs +} + +src_compile() { + emake EMACSLOADPATH="${S}"/lisp } src_install() { - emake prefix="${D}"/usr \ - mandir="${D}"/usr/share/man/man1 \ - infodir="${D}"/usr/share/info \ - install gzip-el || die "emake install failed" + 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 rcs-checkin gnuclient gnudoit gnuattach; do - mv "${D}"/usr/bin/${i} "${D}"/usr/bin/${i}-xemacs || die "mv ${i} failed" + 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 "${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,19 +220,14 @@ 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}" - dodoc BUGS CHANGES-* ChangeLog GETTING* INSTALL PROBLEMS README* - dodoc "${FILESDIR}"/README.Gentoo + dodoc CHANGES-* ChangeLog INSTALL Installation PROBLEMS README* newicon "${S}"/etc/${PN}-icon.xpm ${PN}.xpm @@ -236,6 +238,18 @@ 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() { |