app-editors/xemacs: drop 21.4.24-r9, 21.4.24-r10, 21.5.35

Remove unused use flags:
 - mule, the default now in 21.5
 - eolconv, only used in 21.4

Also remove files/README.Gentoo that was assuming 21.4 and not easy to
update to be useful.

Signed-off-by: Mats Lidell <matsl@gentoo.org>
This commit is contained in:
Mats Lidell
2024-11-01 23:37:35 +01:00
parent 06d003aa26
commit 5fe43a60d0
11 changed files with 0 additions and 1039 deletions

View File

@@ -1,3 +1,2 @@
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.35.tar.gz 16403617 BLAKE2B efab8d3d984ec2223913b09ff1abc9f2df187fb5b8c2ccf99fcfc60c86369f4411cffd48b03532d53329bd5b3d3149271a445da4c0a3cd7bdc2834021b1297b3 SHA512 e592af6ffbb6f95299039de28f59ee770bf62f54a15b1358b9d1059ed25dcb410c01dcf6e88c1d2196d54f0c6902f309d709fe003accee82e516023fa4363019

View File

@@ -1,45 +0,0 @@
README.Gentoo
-------------
This is a quick tutorial on how to configure the XEmacs package user
interface (package-ui). After you configure package-ui, you will be
able to download and install XEmacs packages and dependencies while in
XEmacs. For the complete documentation, see
/usr/share/doc/xemacs-21.4.*/README.packages.gz
Once XEmacs is emerged onto a Gentoo Linux system, you will only have
the following elisp modules installed: xemacs-base, efs and
(optionally if you had mule in USE) mule-base. This guide will show
how to use package-ui to download and install your own preference in
elisp modules to ~/.xemacs/xemacs-packages.
First, start XEmacs and load the package-ui elisp module.
M-x load-library RET package-ui RET
The first thing to set is the download site (package-ui installs via
network).
M-x customize-variable RET package-get-remote RET
Insert a new value, then:
Choice: Remote
Host: ibiblio.org
Directory: /pub/packages/editors/xemacs/packages/
Make sure you set and save the change. Note, other host/directories
are possible. The the documentation for package-ui for more
information. Hint: ibiblio.org is *fast*.
Then set the location package-ui should install to:
M-x customize-variable RET pui-package-install-dest-dir RET
Directory: ~/.xemacs/xemacs-packages
Make sure you set and save the change.
At this point you can install your modules:
M-x pui-list-packages

View File

@@ -1,84 +0,0 @@
This patch fixes several database-related problems.
dbm_open has been moved into gdbm_compat, so we check for that and include it.
ndbm.h is located in /usr/include/gdbm on Gentoo, so we only check
there, given that we don't support normal dbm installations, and we
patch database.c as well. Not portable beyond Gentoo, but will work
for us.
The checks for Berkeley DB only took into account up to version
3. Added checks to deal with several versions 4 as well.
--- xemacs-21.4.19/configure.in 2005-12-24 01:48:14.000000000 +0100
+++ xemacs-21.4.19-db/configure.in 2006-06-11 22:43:52.000000000 +0200
@@ -4502,7 +4502,7 @@
dnl Check for ndbm.h, required for either kind of DBM support.
if test "$with_database_gdbm $with_database_dbm" != "no no"; then
- AC_CHECK_HEADER(ndbm.h, [:], [
+ AC_CHECK_HEADER(gdbm/ndbm.h, [:], [
test "$with_database_gdbm" = "yes" -o \
"$with_database_dbm" = "yes" && \
XE_DIE("Required DBM support cannot be provided.")
@@ -4513,10 +4513,13 @@
if test "$with_database_gdbm" != "no"; then
AC_CHECK_LIB(gdbm, dbm_open, [
with_database_gdbm=yes with_database_dbm=no libdbm=-lgdbm], [
+ AC_CHECK_LIB(gdbm_compat, dbm_open, [
+ with_database_gdbm=yes with_database_dbm=no libdbm="-lgdbm_compat -lgdbm"], [
if test "$with_database_gdbm" = "yes"; then
XE_DIE("Required GNU DBM support cannot be provided.")
fi
- with_database_gdbm=no])
+ with_database_gdbm=no], -lgdbm)
+ ])
fi
dnl Check for DBM support in libc and libdbm.
@@ -4614,11 +4617,30 @@
#if DB_VERSION_MAJOR > 2
yes
#endif
-], [AC_MSG_RESULT(3); dbfunc=db_create],[
- AC_MSG_RESULT(2); dbfunc=db_open])],[
- AC_MSG_RESULT(1); dbfunc=dbopen])
+], [AC_EGREP_CPP(yes,
+[#include <$db_h_file>
+#if DB_VERSION_MAJOR > 3
+yes
+#endif
+], [AC_MSG_RESULT(4); dbfunc=db_create; dbver=4],[
+ AC_MSG_RESULT(3); dbfunc=db_create; dbver=3])],[
+ AC_MSG_RESULT(2); dbfunc=db_open; dbver=2])],[
+ AC_MSG_RESULT(1); dbfunc=dbopen; dbver=1])
AC_CHECK_FUNC($dbfunc, with_database_berkdb=yes need_libdb=no, [
- AC_CHECK_LIB(db, $dbfunc, with_database_berkdb=yes need_libdb=yes)])
+ AC_CHECK_LIB(db, db_create_4002, with_database_berkdb=yes need_libdb=yes)])
+ fi
+
+ dnl Berk db 4.1 decorates public functions with version information
+ if test "$have_database_berkdb" != "yes" -a "$dbver" = "4"; then
+ rm -f $tempcname
+ echo "#include <$db_h_file>" > $tempcname
+ echo "configure___ dbfunc=db_create" >> $tempcname
+ define(TAB, [ ])dnl
+ eval `$CPP -Isrc $tempcname \
+ | sed -n -e "s/[[ TAB]]*=[[ TAB\"]]*/='/" -e "s/[[ TAB\"]]*\$/'/" -e "s/^configure___//p"`
+ rm -f $tempcname
+ AC_MSG_WARN("db_create is really $dbfunc")
+ AC_CHECK_LIB(db, $dbfunc, have_database_berkdb=yes need_libdb=yes)
fi
if test "$with_database_berkdb" = "yes"; then
--- xemacs-21.4.19/src/database.c 2005-12-24 01:52:35.000000000 +0100
+++ xemacs-21.4.19-db/src/database.c 2006-06-13 21:00:01.000000000 +0200
@@ -82,7 +82,7 @@
#endif /* HAVE_BERKELEY_DB */
#ifdef HAVE_DBM
-#include <ndbm.h>
+#include <gdbm/ndbm.h>
Lisp_Object Qdbm;
#endif /* HAVE_DBM */

View File

@@ -1,32 +0,0 @@
diff -r e2da872593c0 configure.in
--- a/configure.in Tue Mar 24 22:15:53 2015 -0400
+++ b/configure.in Sun Mar 13 13:48:24 2016 +0100
@@ -1939,6 +1939,8 @@
CFLAGS="-g -O3 -Wall -Wno-switch -Winline -Wmissing-prototypes"
dnl Yuck, bad compares have been worth at least 3 crashes!
CFLAGS="$CFLAGS -Wsign-compare"
+ dnl Use old gnu inline semantics until we fix the source
+ CFLAGS="$CFLAGS -fgnu89-inline"
dnl XEmacs is known not to be strict-aliasing-safe.
case "`gcc -v --help 2>&1`" in
*-fstrict-aliasing* ) CFLAGS="$CFLAGS -fno-strict-aliasing" ;;
diff -r e2da872593c0 src/lisp.h
--- a/src/lisp.h Tue Mar 24 22:15:53 2015 -0400
+++ b/src/lisp.h Sun Mar 13 13:48:24 2016 +0100
@@ -193,6 +193,8 @@
# endif /* GNUC */
#endif
+#ifndef _GCC_MAX_ALIGN_T
+#define _GCC_MAX_ALIGN_T
/* No type has a greater alignment requirement than max_align_t.
(except perhaps for types we don't use, like long double) */
typedef union
@@ -202,6 +204,7 @@
struct { void (*f)(void); } f;
struct { double d; } d;
} max_align_t;
+#endif
#ifndef ALIGNOF
# if defined (__GNUC__) && (__GNUC__ >= 2)

View File

@@ -1,28 +0,0 @@
Don't define deprecated glibc symbol
Avoid defining the deprecated symbols _BSD_SOURCE and _SVID_SOURCE
that xmkmf thinks are needed to compile X programs.
diff -r 09d56098ea2c -r 32a8151f8af7 configure.in
--- a/configure.in Sat Feb 11 01:24:06 2017 +0100
+++ b/configure.in Sat Feb 11 01:59:40 2017 +0100
@@ -2868,10 +2868,15 @@
* ) 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
- if test "$val" = "1"
- then AC_DEFINE_UNQUOTED($sym)
- else AC_DEFINE_UNQUOTED($sym,$val)
+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)
fi
fi ;;
esac

View File

@@ -1,12 +0,0 @@
diff -r e2da872593c0 configure.in
--- a/configure.in Tue Mar 24 22:15:53 2015 -0400
+++ b/configure.in Mon Apr 17 10:13:05 2017 +0200
@@ -4449,7 +4449,7 @@
AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
XE_ADD_OBJS(terminfo.o)
- XE_PREPEND(-lncurses, LIBS)
+ XE_PREPEND($(pkg-config ncurses --libs), LIBS)
if test "$ac_cv_header_ncurses_curses_h" != "yes" ; then
dnl Try again, and check for the bogus ncurses/ include bug.

View File

@@ -1,89 +0,0 @@
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

View File

@@ -8,9 +8,6 @@
<flag name="athena">Chooses the MIT Athena widget set</flag>
<flag name="dnd">Enables support for the <pkg>x11-libs/dnd</pkg>
drag-n-drop library</flag>
<flag name="eolconv">Support detection and translation of newline
conventions</flag>
<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>

View File

@@ -1,248 +0,0 @@
# 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 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:= )
>=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} --without-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
einfo "${myconf}"
# see bug 576512
append-cflags -fgnu89-inline
# 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
}

View File

@@ -1,248 +0,0 @@
# 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
# 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
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 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 )
neXt? ( x11-libs/neXtaw )
xface? ( media-libs/compface )
tiff? ( media-libs/tiff:= )
png? ( >=media-libs/libpng-1.2:0 )
jpeg? ( media-libs/libjpeg-turbo:= )
>=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} --without-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
einfo "${myconf}"
# see bug 576512
append-cflags -fgnu89-inline
# 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
}

View File

@@ -1,249 +0,0 @@
# 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=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="http://ftp.xemacs.org/pub/xemacs/xemacs-$(ver_cut 1-2)/${P}.tar.gz
neXt? ( http://www.malfunction.de/afterstep/files/NeXT_XEmacs.tar.gz )"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~alpha amd64 arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
IUSE="alsa debug gif gpm pop postgres ldap xface nas dnd X jpeg tiff png motif xft xim athena neXt Xaw3d gdbm berkdb +bignum"
X_DEPEND="x11-libs/libXt x11-libs/libXmu x11-libs/libXext x11-misc/xbitmaps"
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:= )
>=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() {
default_src_unpack
}
src_prepare() {
use neXt && cp "${WORKDIR}"/NeXT.XEmacs/xemacs-icons/* "${S}"/etc/toolbar/
find "${S}"/lisp -name '*.elc' -exec rm {} \; || die
eapply "${FILESDIR}/${P}-configure.patch"
eapply "${FILESDIR}/${P}-mule-tests.patch"
eapply_user
eautoconf
# Some binaries and man pages are installed under suffixed names
# to avoid collions with their GNU Emacs counterparts (see below).
# Fix internal filename references.
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} --without-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
use debug && myconf="${myconf} --with-debug" ||
myconf="${myconf} --with-optimization --with-cflags-debugging="
use bignum && myconf="${myconf} --with-bignum=openssl" ||
myconf="${myconf} --with-bignum=no"
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
}