aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mk/bsd.emacs.mk28
-rw-r--r--UPDATING11
-rw-r--r--editors/Makefile1
-rw-r--r--editors/emacs-devel/Makefile221
-rw-r--r--editors/emacs-devel/distinfo4
-rw-r--r--editors/emacs-devel/files/patch-Makefile.in42
-rw-r--r--editors/emacs-devel/files/patch-configure.ac (renamed from editors/emacs-devel/files/patch-configure.in)34
-rw-r--r--editors/emacs-devel/pkg-plist1
-rw-r--r--editors/emacs/Makefile236
-rw-r--r--editors/emacs/distinfo8
-rw-r--r--editors/emacs/files/patch-Makefile.in34
-rw-r--r--editors/emacs/files/patch-configure31
-rw-r--r--editors/emacs/files/patch-doc-emacs-Makefile.in28
-rw-r--r--editors/emacs/files/patch-doc-lispintro-Makefile.in30
-rw-r--r--editors/emacs/files/patch-doc-lispref-Makefile.in23
-rw-r--r--editors/emacs/files/patch-doc-misc-Makefile.in15
-rw-r--r--editors/emacs/files/patch-lisp-vc-svn.el184
-rw-r--r--editors/emacs/files/patch-sources.el2
-rw-r--r--editors/emacs/files/patch-src_coding.c4
-rw-r--r--editors/emacs/files/patch-src_config.in19
-rw-r--r--editors/emacs/files/patch-src_process.c16
-rw-r--r--editors/emacs/files/patch-src_s_freebsd.h (renamed from editors/emacs-devel/files/patch-src_s_freebsd.h)8
-rw-r--r--editors/emacs/files/patch-src_sysdep.c244
-rw-r--r--editors/emacs/files/patch-src_term.c22
-rw-r--r--editors/emacs/pkg-plist1
-rw-r--r--editors/emacs23/Makefile178
26 files changed, 765 insertions, 660 deletions
diff --git a/Mk/bsd.emacs.mk b/Mk/bsd.emacs.mk
index 33af7ff17c9f..b036715bb8c0 100644
--- a/Mk/bsd.emacs.mk
+++ b/Mk/bsd.emacs.mk
@@ -1,13 +1,13 @@
#
-# $FreeBSD: /tmp/pcvs/ports/Mk/bsd.emacs.mk,v 1.89 2012-02-22 13:25:25 ashish Exp $
+# $FreeBSD$
#
# bsd.emacs.mk - 19990829 Shigeyuki Fukushima.
#
Emacs_Include= bsd.emacs.mk
-Emacs_Include_MAINTAINER= ports@FreeBSD.org
+Emacs_Include_MAINTAINER= ashish@FreeBSD.org
-EMACS_PORT_NAME?= emacs23
+EMACS_PORT_NAME?= emacs24
#
# This file for ports which depend on emacs family.
@@ -114,10 +114,27 @@ DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
.endif
+# Emacs-24.x
+.elif (${EMACS_PORT_NAME} == "emacs24")
+EMACS_NAME= emacs
+EMACS_VER= 24.1
+EMACS_MAJOR_VER= 24
+EMACS_LIBDIR?= share/${EMACS_NAME}
+EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
+EMACS_PORTSDIR= ${PORTSDIR}/editors/emacs
+EMACS_COMMON_PORT= NO
+EMACS_HAS_MULE= YES
+EMACS_NO_SUBDIRSEL= NO
+.if (${EMACS_MASTERDIR_PKGFILES} == "YES")
+COMMENTFILE?= ${PKGDIR}/pkg-comment.${EMACS_PORT_NAME}
+DESCR?= ${PKGDIR}/pkg-descr.${EMACS_PORT_NAME}
+PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
+.endif
+
# Emacs-24.x (development version)
.elif (${EMACS_PORT_NAME} == "emacs-devel")
EMACS_NAME= emacs
-EMACS_VER= 24.0.93
+EMACS_VER= 24.1.50
EMACS_MAJOR_VER= 24
EMACS_LIBDIR?= share/${EMACS_NAME}
EMACS_LIBDIR_WITH_VER?= share/${EMACS_NAME}/${EMACS_VER}
@@ -208,7 +225,8 @@ PLIST?= ${PKGDIR}/pkg-plist.${EMACS_PORT_NAME}
check-makevars::
@${ECHO} "Makefile error: Bad value of EMACS_PORT_NAME: ${EMACS_PORT_NAME}."
@${ECHO} "Valid values are:"
- @${ECHO} " Emacs family: emacs21 emacs22 emacs23 emacs-devel"
+ @${ECHO} " Emacs family: emacs21 emacs22 emacs23 emacs24"
+ @${ECHO} " emacs-devel"
@${ECHO} " XEmacs family: xemacs21 xemacs21-mule xemacs-devel"
@${ECHO} " xemacs-devel-mule xemacs-mule-xft"
@${FALSE}
diff --git a/UPDATING b/UPDATING
index a078f4b7b5bc..539183d17529 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,17 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20120801:
+ AFFECTS: users of editors/emacs
+ AUTHOR: ashish@FreeBSD.org
+
+ GNU Emacs port is updated to 24.1. Emacs 23 is moved to editors/emacs23.
+
+ If you prefer to stick with Emacs 23, please specify EMACS_PORT_NAME=emacs23
+ in /etc/make.conf, and do:
+
+ # portmaster -o editors/emacs23 editors/emacs
+
20120726:
AFFECTS: users of www/firefox, www/seamonkey, mail/thunderbird, www/libxul
AUTHOR: gecko@FreeBSD.org
diff --git a/editors/Makefile b/editors/Makefile
index 9dcac40d244f..dfac64edc390 100644
--- a/editors/Makefile
+++ b/editors/Makefile
@@ -59,6 +59,7 @@
SUBDIR += emacs-nox11
SUBDIR += emacs21
SUBDIR += emacs22
+ SUBDIR += emacs23
SUBDIR += f4l
SUBDIR += fb
SUBDIR += flim
diff --git a/editors/emacs-devel/Makefile b/editors/emacs-devel/Makefile
index a8d1a62eb4d3..b56b48a29768 100644
--- a/editors/emacs-devel/Makefile
+++ b/editors/emacs-devel/Makefile
@@ -7,7 +7,6 @@
PORTNAME= emacs
PORTVERSION= ${EMACS_VER}.${EMACS_REV}
-PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= editors ipv6
MASTER_SITES= http://distfiles.pirateparty.in/%SUBDIR%/ \
@@ -27,8 +26,8 @@ CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-23.* \
xemacs-mule-[0-9]* xemacs-devel-mule-[0-9]* \
emacs-nox11-[0-9]*
-EMACS_VER= 24.0.93
-EMACS_REV= 107364
+EMACS_VER= 24.1.50
+EMACS_REV= 109364
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_NCURSES= yes
@@ -43,45 +42,40 @@ EMACS_DIRS= ${DATADIR}/${EMACS_VER}/leim ${DATADIR}/${EMACS_VER}/lisp ${DATADIR}
${PREFIX}/libexec/${PORTNAME}
MAN1= ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
- grep-changelog.1 rcs-checkin.1
+ grep-changelog.1
MANCOMPRESSED= yes
PLIST_SUB= EMACS_VER=${EMACS_VER}
MAKE_ENV= LC_ALL=C
INFO= ada-mode auth autotype calc ccmode cl dbus dired-x \
- ebrowse ede ediff edt efaq eieio eintr elisp emacs-mime emacs epa \
+ ebrowse ede ediff edt efaq eieio eintr elisp emacs-mime emacs-gnutls emacs epa \
erc ert eshell eudc flymake forms gnus idlwave info \
mairix-el message mh-e newsticker nxml-mode \
org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve \
smtpmail speedbar tramp url vip viper widget woman
LATEST_LINK= emacs-devel
-OPTIONS= DBUS "DBus support" ON \
- GCONF "GConf support" ON \
- GIF "GIF Images support" ON \
- GTK2 "Use GTK+ widgets" ON \
- GTK3 "Use GTK+ 3 widgets" OFF \
- JPEG "JPEG images support" ON \
- M17N "M17N support for text-shaping" ON \
- MOTIF "Use Motif widgets" OFF \
- OTF "Opentype Font Support" ON \
- PNG "PNG images support" ON \
- SOUND "Sound support" ON \
- SOURCES "Install source code" ON \
- SVG "SVG images support" ON \
- TIFF "TIFF images support" ON \
- XAW "Use Athena widgets" OFF \
- XAW3D "Use Athena3D widgets" OFF \
- SYNC_INPUT "Synchronously process asynchronous input" ON \
- SCROLLBARS "Without toolkit scroll-bars" ON \
- XFT "Freetype fonts support" ON \
- XIM "X Input Method support" ON \
- XML "XML Parser support" ON \
- XPM "XPM images support" ON \
- IMAGEMAGICK "ImageMagick support" ON \
- GNUTLS "GNUTLS support" ON \
- GSETTINGS "GSettings support" ON
+OPTIONS_DEFINE= DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT SCROLLBARS XFT \
+ XIM XML XPM MAGICK GNUTLS GSETTINGS
+
+OPTIONS_SINGLE= X11TOOLKIT
+
+GSETTINGS_DESC= GSettings support
+SCROLLBARS_DESC= Toolkit scroll-bars
+SOUND_DESC= Sound support
+SOURCES_DESC= Install sources
+SYNC_INPUT_DESC= Synchronously process asynchronous input
+XAW_DESC= Athena widgets
+XAW3D_DESC= Athena3D widgets
+XIM_DESC= X Input Method Support
+M17N_DESC= M17N support for text-shaping
+OTF_DESC= Opentype fonts suport
+
+OPTIONS_SINGLE_X11TOOLKIT= GTK2 GTK3 XAW XAW3D MOTIF
+
+OPTIONS_DEFAULT=DBUS GCONF GIF GTK2 JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT \
+ SCROLLBARS XFT XIM XML XPM MAGICK GNUTLS GSETTINGS
.include <bsd.port.options.mk>
@@ -93,158 +87,147 @@ CONFIGURE_ARGS+= --without-x
USE_XORG= x11
USE_GNOME=
-.if defined(WITHOUT_SVG)
-CONFIGURE_ARGS+= --without-rsvg
-.else
+.if ${PORT_OPTIONS:MSVG}
USE_GNOME+= librsvg2
+.else
+CONFIGURE_ARGS+= --without-rsvg
.endif
-.if defined(WITHOUT_GTK2) && defined(WITHOUT_GTK3)
-.if defined(WITH_XAW)
-.if defined(WITH_XAW3D) || defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/GTK+3/Motif/Xaw/Xaw3d
-.endif
-USE_XORG= xaw
-CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
-.elif defined(WITH_XAW3D)
-.if defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/GTK+3/Motif/Xaw/Xaw3d
-.endif
+.if ${PORT_OPTIONS:MGTK2}
+USE_GNOME+= gtk20
+CONFIGURE_ARGS+= --with-x-toolkit=gtk
+.elif ${PORT_OPTIONS:MGTK3}
+USE_GNOME+= gtk30
+CONFIGURE_ARGS+= --with-x-toolkit=gtk3
+.elif ${PORT_OPTIONS:MXAW3D}
LIB_DEPENDS+= Xaw3d.${XAWVER}:${PORTSDIR}/x11-toolkits/Xaw3d
CONFIGURE_ARGS+= --with-x-toolkit=athena
-.elif defined(WITH_MOTIF)
+.elif ${PORT_OPTIONS:MXAW}
+USE_XORG= xaw
+CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
+.elif ${PORT_OPTIONS:MMOTIF}
USE_MOTIF= yes
CONFIGURE_ARGS+= --with-x-toolkit=motif
-.else
-IGNORE= please choose a toolkit: GTK+/GTK+3/Motif/Xaw/Xaw3d, or build without X11 support
-.endif
-.else
-.if defined(WITH_XAW) || defined(WITH_XAW3D) || defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/GTK+3/Motif/Xaw/Xaw3d
-.endif
-INSTALLS_ICONS= yes
-.if defined(WITH_GTK3) && defined(WITHOUT_GTK2)
-USE_GNOME+= gtk30
-CONFIGURE_ARGS+= --with-x-toolkit=gtk3
-.elif defined(WITH_GTK2) && defined(WITHOUT_GTK3)
-USE_GNOME+= gtk20
-CONFIGURE_ARGS+= --with-x-toolkit=gtk
-.else
-IGNORE= please choose only one toolkit: GTK+/GTK+3/Motif/Xaw/Xaw3d
-.endif
.endif
-.if defined(WITHOUT_SCROLLBARS)
+.if !${PORT_OPTIONS:MSCROLLBARS}
CONFIGURE_ARGS+= --without-toolkit-scroll-bars
.endif
-.if defined(WITHOUT_SYNC_INPUT)
+.if !${PORT_OPTIONS:MSYNC_INPUT}
CONFIGURE_ARGS+= --without-sync-input
.endif
-.if defined(WITHOUT_JPEG)
-CONFIGURE_ARGS+= --without-jpeg
-.else
+.if ${PORT_OPTIONS:MJPEG}
LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg
-.endif
-
-.if defined(WITHOUT_TIFF)
-CONFIGURE_ARGS+= --without-tiff
.else
-LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
+CONFIGURE_ARGS+= --without-jpeg
.endif
-.if defined(WITHOUT_GIF)
-CONFIGURE_ARGS+= --without-gif
+.if ${PORT_OPTIONS:MTIFF}
+LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
.else
-LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
+CONFIGURE_ARGS+= --without-tiff
.endif
-.if defined(WITHOUT_PNG)
-CONFIGURE_ARGS+= --without-png
+.if ${PORT_OPTIONS:MGIF}
+LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
.else
-LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
+CONFIGURE_ARGS+= --without-gif
.endif
-.if defined(WITHOUT_XPM)
-CONFIGURE_ARGS+= --without-xpm
+.if ${PORT_OPTIONS:MPNG}
+LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
.else
-USE_XORG+= xpm
+CONFIGURE_ARGS+= --without-png
.endif
-.if defined(WITHOUT_XFT)
-.if defined(WITH_M17N)
-IGNORE= m17n support requires Xft. Please run 'make config'
-.elif defined(WITH_OTF)
-IGNORE= otf support requires Xft. Please run 'make config'
+.if ${PORT_OPTIONS:MXPM}
+USE_XORG+= xpm
.else
-CONFIGURE_ARGS+= --without-xft
+CONFIGURE_ARGS+= --without-xpm
.endif
-.else
+
+.if ${PORT_OPTIONS:MXFT}
USE_XORG+= xft
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
+CONFIGURE_ARGS+= --with-xft
+.if ${PORT_OPTIONS:MM17N}
+CONFIGURE_ARGS+= --with-m17n-flt
+LIB_DEPENDS+= m17n.4:${PORTSDIR}/devel/m17n-lib
+.else
+CONFIGURE_ARGS+= --without-m17n-flt
.endif
-
-.if defined(WITHOUT_IMAGEMAGICK)
-CONFIGURE_ARGS+= --without-imagemagick
+.if ${PORT_OPTIONS:MOTF}
+CONFIGURE_ARGS+= --with-otf
+LIB_DEPENDS+= otf.0:${PORTSDIR}/print/libotf
.else
-LIB_DEPENDS+= MagickCore.5:${PORTSDIR}/graphics/ImageMagick
+CONFIGURE_ARGS+= --without-libotf
.endif
-
-.if defined(WITHOUT_M17N)
-CONFIGURE_ARGS+= --without-m17n-flt
.else
-.if !defined(WITHOUT_XFT)
-LIB_DEPENDS+= m17n.4:${PORTSDIR}/devel/m17n-lib
+CONFIGURE_ARGS+= --without-xft
+.if ${PORT_OPTIONS:MM17N}
+IGNORE= m17n support for text-shaping requires Xft. Please run 'make config'
+.elif ${PORT_OPTIONS:MOTF}
+IGNORE= opentype fonts support requires Xft. Please run 'make config'
.endif
+CONFIGURE_ARGS+= --without-otf --without-m17n-flt
.endif
-.if defined(WITHOUT_OTF)
-CONFIGURE_ARGS+= --without-libotf
+.if ${PORT_OPTIONS:MMAGICK}
+LIB_DEPENDS+= MagickCore.5:${PORTSDIR}/graphics/ImageMagick
+CONFIGURE_ARGS+= --with-imagemagick
.else
-.if !defined(WITHOUT_XFT)
-LIB_DEPENDS+= otf.0:${PORTSDIR}/print/libotf
-.endif
+CONFIGURE_ARGS+= --without-imagemagick
.endif
-.if defined(WITHOUT_GSETTINGS)
-CONFIGURE_ARGS+= --without-gsettings
-.else
+.if ${PORT_OPTIONS:MGSETTINGS}
USE_GNOME+= glib20
+CONFIGURE_ARGS+= --with-gsettings
+.else
+CONFIGURE_ARGS+= --without-gsettings
.endif
-.if defined(WITHOUT_GCONF)
-CONFIGURE_ARGS+= --without-gconf
-.else
+.if ${PORT_OPTIONS:MGCONF}
USE_GNOME+= gconf2
+CONFIGURE_ARGS+= --with-gconf
+.else
+CONFIGURE_ARGS+= --without-gconf
.endif
-.if defined(WITHOUT_XIM)
+.if ${PORT_OPTIONS:MXIM}
+CONFIGURE_ARGS+= --with-xim
+.else
CONFIGURE_ARGS+= --without-xim
.endif
.endif
-.if defined(WITHOUT_SOUND)
+.if ${PORT_OPTIONS:MSOUND}
+CONFIGURE_ARGS+= --with-sound
+.else
CONFIGURE_ARGS+= --without-sound
.endif
-.if defined(WITHOUT_DBUS)
-CONFIGURE_ARGS+= --without-dbus
-.else
+.if ${PORT_OPTIONS:MDBUS}
LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+CONFIGURE_ARGS+= --with-dbus
+.else
+CONFIGURE_ARGS+= --without-dbus
.endif
-.if defined(WITHOUT_XML)
-CONFIGURE_ARGS+= --without-xml2
-.else
+.if ${PORT_OPTIONS:MXML}
USE_GNOME+= libxml2
+CONFIGURE_ARGS+= --with-xml2
+.else
+CONFIGURE_ARGS+= --without-xml2
.endif
-.if defined(WITHOUT_GNUTLS)
-CONFIGURE_ARGS+= --without-gnutls
-.else
+.if ${PORT_OPTIONS:MGNUTLS}
LIB_DEPENDS+= gnutls.47:${PORTSDIR}/security/gnutls
+CONFIGURE_ARGS+= --with-gnutls
+.else
+CONFIGURE_ARGS+= --without-gnutls
.endif
.include <bsd.port.pre.mk>
diff --git a/editors/emacs-devel/distinfo b/editors/emacs-devel/distinfo
index 3256cd3fbef8..aa2186062ce5 100644
--- a/editors/emacs-devel/distinfo
+++ b/editors/emacs-devel/distinfo
@@ -1,2 +1,2 @@
-SHA256 (emacs-24.0.93.107364.tar.xz) = 51ce2b1fefbf7db5e5927dc6d956f37851b06682af459e82267f05119c9805db
-SIZE (emacs-24.0.93.107364.tar.xz) = 23549876
+SHA256 (emacs-24.1.50.109364.tar.xz) = dc24def5dc368a33ac2dbb388bbd9e9f292d71bcf64e6712b72a899b07f138c9
+SIZE (emacs-24.1.50.109364.tar.xz) = 31119924
diff --git a/editors/emacs-devel/files/patch-Makefile.in b/editors/emacs-devel/files/patch-Makefile.in
deleted file mode 100644
index 1f96cbac47c3..000000000000
--- a/editors/emacs-devel/files/patch-Makefile.in
+++ /dev/null
@@ -1,42 +0,0 @@
-
-$FreeBSD$
-
---- Makefile.in.orig
-+++ Makefile.in
-@@ -517,14 +517,6 @@
-
- install-arch-indep: mkdir info install-etc
- -set ${COPYDESTS} ; \
-- unset CDPATH; \
-- for dir in ${COPYDIR} ; do \
-- if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \
-- rm -rf $$1 ; \
-- fi ; \
-- shift ; \
-- done
-- -set ${COPYDESTS} ; \
- mkdir ${COPYDESTS} ; \
- chmod ugo+rx ${COPYDESTS} ; \
- unset CDPATH; \
-@@ -624,9 +616,9 @@
- cd ${srcdir}/info ; \
- for elt in $(INFO_FILES); do \
- test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
-- for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
-- ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \
-- chmod a+r $(DESTDIR)${infodir}/$$f; \
-+ for f in `ls $$elt 2>/dev/null`; do \
-+ ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f.info; \
-+ chmod a+r $(DESTDIR)${infodir}/$$f.info; \
- if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \
- rm -f $(DESTDIR)${infodir}/$$f.gz; \
- ${GZIP_PROG} -9n $(DESTDIR)${infodir}/$$f; \
-@@ -641,7 +633,7 @@
- for elt in $(INFO_FILES); do \
- test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
- (cd $${thisdir}; \
-- ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
-+ ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt.info); \
- done; \
- else true; fi
- -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} ${COPYDESTS}
diff --git a/editors/emacs-devel/files/patch-configure.in b/editors/emacs-devel/files/patch-configure.ac
index 05dbf8d39a9a..38a808a6bffb 100644
--- a/editors/emacs-devel/files/patch-configure.in
+++ b/editors/emacs-devel/files/patch-configure.ac
@@ -1,9 +1,9 @@
$FreeBSD$
---- configure.in.orig
-+++ configure.in
-@@ -1169,39 +1169,10 @@
+--- configure.ac.orig
++++ configure.ac
+@@ -1166,39 +1166,10 @@
AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
AC_SUBST(LIBSOUND)
@@ -44,12 +44,30 @@ $FreeBSD$
case "$opsys" in
dnl defined __FreeBSD__ || defined __NetBSD__ || defined __linux__
gnu-linux|freebsd|netbsd)
-@@ -1218,7 +1189,7 @@
- linux/version.h sys/systeminfo.h \
- stdio_ext.h fcntl.h coff.h pty.h sys/mman.h \
- sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
+@@ -1215,7 +1186,7 @@
+ linux/version.h sys/systeminfo.h
+ stdio_ext.h fcntl.h coff.h pty.h
+ sys/vlimit.h sys/resource.h
- sys/utsname.h pwd.h utmp.h dirent.h util.h)
+ sys/utsname.h pwd.h utmp.h dirent.h util.h libutil.h)
-
+
AC_MSG_CHECKING(if personality LINUX32 can be set)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/personality.h>]], [[personality (PER_LINUX32)]])],
+@@ -3378,7 +3349,7 @@
+ AC_DEFINE(PTY_TTY_NAME_SPRINTF, [] )
+ ;;
+
+- darwin )
++ darwin | freebsd )
+ AC_DEFINE(PTY_ITERATION, [int i; for (i = 0; i < 1; i++)] )
+ dnl Not used, because PTY_ITERATION is defined.
+ AC_DEFINE(FIRST_PTY_LETTER, ['p'])
+@@ -3390,7 +3361,7 @@
+ AC_DEFINE(PTY_TTY_NAME_SPRINTF, [] )
+ ;;
+
+- gnu | freebsd | netbsd | openbsd )
++ gnu | netbsd | openbsd )
+ AC_DEFINE(FIRST_PTY_LETTER, ['p'])
+ ;;
+
diff --git a/editors/emacs-devel/pkg-plist b/editors/emacs-devel/pkg-plist
index 4c0884921402..d1cb27e36fce 100644
--- a/editors/emacs-devel/pkg-plist
+++ b/editors/emacs-devel/pkg-plist
@@ -5,7 +5,6 @@ bin/emacs-%%EMACS_VER%%
bin/emacsclient
bin/etags
bin/grep-changelog
-bin/rcs-checkin
share/applications/emacs.desktop
%%SOURCES%%%%DATADIR%%/%%EMACS_VER%%/site-lisp/site-start.el
%%DATADIR%%/%%EMACS_VER%%/site-lisp/subdirs.el
diff --git a/editors/emacs/Makefile b/editors/emacs/Makefile
index e1f05357e9e5..d302d883e902 100644
--- a/editors/emacs/Makefile
+++ b/editors/emacs/Makefile
@@ -7,7 +7,6 @@
PORTNAME= emacs
PORTVERSION= ${EMACS_VER}
-PORTREVISION?= 1
PORTEPOCH= 2
CATEGORIES= editors ipv6
MASTER_SITES= ${MASTER_SITE_GNU}
@@ -19,13 +18,13 @@ COMMENT= GNU editing macros
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-MAKE_JOBS_UNSAFE= yes
+MAKE_JOBS_SAFE= yes
-CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-24.* \
+CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-23.* \
xemacs-[0-9]* xemacs-devel-[0-9]* \
xemacs-mule-[0-9]* xemacs-devel-mule-[0-9]*
-EMACS_VER= 23.4
+EMACS_VER= 24.1
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_BZIP2= yes
@@ -35,8 +34,9 @@ LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS= --localstatedir=/var
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-MAN1= b2m.1 ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
+MAN1= ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
grep-changelog.1 rcs-checkin.1
+MANCOMPRESSED= yes
PLIST_SUB= EMACS_VER=${EMACS_VER}
EMACS_DIRS= ${DATADIR}/${EMACS_VER}/leim ${DATADIR}/${EMACS_VER}/lisp ${DATADIR}/${EMACS_VER}/src \
@@ -45,186 +45,205 @@ EMACS_DIRS= ${DATADIR}/${EMACS_VER}/leim ${DATADIR}/${EMACS_VER}/lisp ${DATADIR}
MAKE_ENV= LC_ALL=C
INFO= ada-mode auth autotype calc ccmode cl dbus dired-x \
- ebrowse ede ediff edt efaq eieio eintr elisp emacs-mime emacs epa \
- erc eshell eudc flymake forms gnus idlwave info \
+ ebrowse ede ediff edt efaq eieio eintr elisp emacs-mime emacs-gnutls emacs epa \
+ erc ert eshell eudc flymake forms gnus idlwave info \
mairix-el message mh-e newsticker nxml-mode \
org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve \
smtpmail speedbar tramp url vip viper widget woman
.if !defined(EMACS_NO_X11_SLAVE)
CONFLICTS+= emacs-nox11-[0-9]*
-OPTIONS= CANNA "Canna support" OFF \
- DBUS "DBus support" ON \
- GCONF "GConf support" ON \
- GIF "GIF images support" ON \
- GTK2 "Use GTK+ widgets" ON \
- JPEG "JPEG images support" ON \
- M17N "M17N support for text-shaping" ON \
- MOTIF "Use Motif widgets" OFF \
- OTF "Opentype fonts support" ON \
- PNG "PNG images support" ON \
- SOUND "Sound support" ON \
- SOURCES "Install source code" ON \
- SVG "SVG images support" ON \
- TIFF "TIFF images support" ON \
- XAW "Use Athena widgets" OFF \
- XAW3D "Use Athena3D widgets" OFF \
- SYNC_INPUT "Synchronously process asynchronous input" ON \
- SCROLLBARS "Without toolkit scroll-bars" ON \
- XFT "Freetype fonts support" ON \
- XIM "X Input Method support" ON \
- XPM "XPM images support" ON
+OPTIONS_DEFINE= CANNA DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT SCROLLBARS XFT \
+ XIM XML XPM MAGICK GNUTLS GSETTINGS
+
+OPTIONS_SINGLE= X11TOOLKIT
+
+CANNA_DESC= Canna support
+GSETTINGS_DESC= GSettings support
+SCROLLBARS_DESC= Toolkit scroll-bars
+SOUND_DESC= Sound support
+SOURCES_DESC= Install sources
+SYNC_INPUT_DESC= Synchronously process asynchronous input
+XAW_DESC= Athena widgets
+XAW3D_DESC= Athena3D widgets
+XIM_DESC= X Input Method Support
+M17N_DESC= M17N support for text-shaping
+OTF_DESC= Opentype fonts suport
+
+OPTIONS_SINGLE_X11TOOLKIT= GTK2 GTK3 XAW XAW3D MOTIF
+
+OPTIONS_DEFAULT=DBUS GCONF GIF GTK2 JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT \
+ SCROLLBARS XFT XIM XML XPM MAGICK GNUTLS GSETTINGS
.endif
.include <bsd.port.options.mk>
DBUS_PTHREAD_LIBS= ${CC} -dumpspecs | ${GREP} -m 1 pthread: | ${SED} -e 's|^.*%{\!pg: %{pthread:||' -e 's|}.*$$||' || ${TRUE}
+.if ${PORT_OPTIONS:MCANNA}
+PATCH_SITES+= http://distfiles.pirateparty.in/%SUBDIR%/ ${MASTER_SITE_LOCAL}
+PATCH_SITE_SUBDIR+= ashish
+PATCHFILES+= emacs24.1canna-20120614.diff.gz
+PATCH_DIST_STRIP= -p1
+CONFIGURE_ARGS+= --with-canna \
+ --with-canna-includes=${LOCALBASE}/include \
+ --with-canna-libraries=${LOCALBASE}/lib
+LIB_DEPENDS+= canna.1:${PORTSDIR}/japanese/canna-lib
+.endif
+
.if defined(WITHOUT_X11)
CONFIGURE_ARGS+= --without-x
-
.else
USE_XORG= x11
USE_GNOME=
-.if defined(WITHOUT_SVG)
-CONFIGURE_ARGS+= --without-rsvg
-.else
+.if ${PORT_OPTIONS:MSVG}
USE_GNOME+= librsvg2
+.else
+CONFIGURE_ARGS+= --without-rsvg
.endif
-.if defined(WITHOUT_GTK2)
-.if defined(WITH_XAW)
-.if defined(WITH_XAW3D) || defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
-.endif
-USE_XORG= xaw
-CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
-.elif defined(WITH_XAW3D)
-.if defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
-.endif
+.if ${PORT_OPTIONS:MGTK2}
+USE_GNOME+= gtk20
+CONFIGURE_ARGS+= --with-x-toolkit=gtk
+.elif ${PORT_OPTIONS:MGTK3}
+USE_GNOME+= gtk30
+CONFIGURE_ARGS+= --with-x-toolkit=gtk3
+.elif ${PORT_OPTIONS:MXAW3D}
LIB_DEPENDS+= Xaw3d.${XAWVER}:${PORTSDIR}/x11-toolkits/Xaw3d
CONFIGURE_ARGS+= --with-x-toolkit=athena
-.elif defined(WITH_MOTIF)
+.elif ${PORT_OPTIONS:MXAW}
+USE_XORG= xaw
+CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
+.elif ${PORT_OPTIONS:MMOTIF}
USE_MOTIF= yes
CONFIGURE_ARGS+= --with-x-toolkit=motif
-.else
-IGNORE= please choose a toolkit: GTK+/Motif/Xaw/Xaw3d, or build without X11 support
-.endif
-.else
-.if defined(WITH_XAW) || defined(WITH_XAW3D) || defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
-.endif
-INSTALLS_ICONS= yes
-USE_GNOME+= gtk20
-CONFIGURE_ARGS+= --with-x-toolkit=gtk
.endif
-.if defined(WITHOUT_SCROLLBARS)
+.if !${PORT_OPTIONS:MSCROLLBARS}
CONFIGURE_ARGS+= --without-toolkit-scroll-bars
.endif
-.if defined(WITHOUT_SYNC_INPUT)
+.if !${PORT_OPTIONS:MSYNC_INPUT}
CONFIGURE_ARGS+= --without-sync-input
.endif
-.if defined(WITHOUT_JPEG)
-CONFIGURE_ARGS+= --without-jpeg
-.else
+.if ${PORT_OPTIONS:MJPEG}
LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg
+.else
+CONFIGURE_ARGS+= --without-jpeg
.endif
-.if defined(WITHOUT_TIFF)
-CONFIGURE_ARGS+= --without-tiff
-.else
+.if ${PORT_OPTIONS:MTIFF}
LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
+.else
+CONFIGURE_ARGS+= --without-tiff
.endif
-.if defined(WITHOUT_GIF)
-CONFIGURE_ARGS+= --without-gif
+.if ${PORT_OPTIONS:MGIF}
+LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
.else
-LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
+CONFIGURE_ARGS+= --without-gif
.endif
-.if defined(WITHOUT_PNG)
-CONFIGURE_ARGS+= --without-png
-.else
+.if ${PORT_OPTIONS:MPNG}
LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
+.else
+CONFIGURE_ARGS+= --without-png
.endif
-.if defined(WITHOUT_XPM)
-CONFIGURE_ARGS+= --without-xpm
-.else
+.if ${PORT_OPTIONS:MXPM}
USE_XORG+= xpm
+.else
+CONFIGURE_ARGS+= --without-xpm
.endif
-.if defined(WITHOUT_XFT)
-.if defined(WITH_M17N)
-IGNORE= m17n support requires Xft. Please run 'make config'
-.elif defined(WITH_OTF)
-IGNORE= otf support requires Xft. Please run 'make config'
+.if ${PORT_OPTIONS:MXFT}
+USE_XORG+= xft
+LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
+CONFIGURE_ARGS+= --with-xft
+.if ${PORT_OPTIONS:MM17N}
+CONFIGURE_ARGS+= --with-m17n-flt
+LIB_DEPENDS+= m17n.4:${PORTSDIR}/devel/m17n-lib
.else
-CONFIGURE_ARGS+= --without-xft
+CONFIGURE_ARGS+= --without-m17n-flt
.endif
+.if ${PORT_OPTIONS:MOTF}
+CONFIGURE_ARGS+= --with-otf
+LIB_DEPENDS+= otf.0:${PORTSDIR}/print/libotf
.else
-USE_XORG+= xft
-LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
+CONFIGURE_ARGS+= --without-libotf
.endif
-
-.if defined(WITHOUT_M17N)
-CONFIGURE_ARGS+= --without-m17n-flt
.else
-.if !defined(WITHOUT_XFT)
-LIB_DEPENDS+= m17n.4:${PORTSDIR}/devel/m17n-lib
+CONFIGURE_ARGS+= --without-xft
+.if ${PORT_OPTIONS:MM17N}
+IGNORE= m17n support for text-shaping requires Xft. Please run 'make config'
+.elif ${PORT_OPTIONS:MOTF}
+IGNORE= opentype fonts support requires Xft. Please run 'make config'
.endif
+CONFIGURE_ARGS+= --without-otf --without-m17n-flt
.endif
-.if defined(WITHOUT_OTF)
-CONFIGURE_ARGS+= --without-libotf
+.if ${PORT_OPTIONS:MMAGICK}
+LIB_DEPENDS+= MagickCore.5:${PORTSDIR}/graphics/ImageMagick
+CONFIGURE_ARGS+= --with-imagemagick
.else
-.if !defined(WITHOUT_XFT)
-LIB_DEPENDS+= otf.0:${PORTSDIR}/print/libotf
-.endif
+CONFIGURE_ARGS+= --without-imagemagick
.endif
-.if defined(WITHOUT_GCONF)
-CONFIGURE_ARGS+= --without-gconf
+.if ${PORT_OPTIONS:MGSETTINGS}
+USE_GNOME+= glib20
+CONFIGURE_ARGS+= --with-gsettings
.else
-USE_GNOME+= gconf2
+CONFIGURE_ARGS+= --without-gsettings
.endif
-.if defined(WITHOUT_XIM)
-CONFIGURE_ARGS+= --without-xim
+.if ${PORT_OPTIONS:MGCONF}
+USE_GNOME+= gconf2
+CONFIGURE_ARGS+= --with-gconf
+.else
+CONFIGURE_ARGS+= --without-gconf
.endif
-.if defined(WITH_CANNA)
-PATCH_SITES+= http://distfiles.pirateparty.in/%SUBDIR%/ ${MASTER_SITE_LOCAL}
-PATCH_SITE_SUBDIR+= ashish
-PATCHFILES+= emacs23.3canna-20110316.diff.gz
-PATCH_DIST_STRIP= -p1
-CONFIGURE_ARGS+= --with-canna \
- --with-canna-includes=${LOCALBASE}/include \
- --with-canna-libraries=${LOCALBASE}/lib
-LIB_DEPENDS+= canna.1:${PORTSDIR}/japanese/canna-lib
+.if ${PORT_OPTIONS:MXIM}
+CONFIGURE_ARGS+= --with-xim
+.else
+CONFIGURE_ARGS+= --without-xim
.endif
.endif
-.if defined(WITHOUT_SOUND)
+.if ${PORT_OPTIONS:MSOUND}
+CONFIGURE_ARGS+= --with-sound
+.else
CONFIGURE_ARGS+= --without-sound
.endif
-.if defined(WITHOUT_DBUS)
+.if ${PORT_OPTIONS:MDBUS}
+LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+CONFIGURE_ARGS+= --with-dbus
+.else
CONFIGURE_ARGS+= --without-dbus
+.endif
+
+.if ${PORT_OPTIONS:MXML}
+USE_GNOME+= libxml2
+CONFIGURE_ARGS+= --with-xml2
.else
-LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+CONFIGURE_ARGS+= --without-xml2
+.endif
+
+.if ${PORT_OPTIONS:MGNUTLS}
+LIB_DEPENDS+= gnutls.47:${PORTSDIR}/security/gnutls
+CONFIGURE_ARGS+= --with-gnutls
+.else
+CONFIGURE_ARGS+= --without-gnutls
.endif
.include <bsd.port.pre.mk>
.if ${ARCH} == "ia64"
-BROKEN= Emacs 23.X does not currently build on ia64
+BROKEN= Emacs 24.X does not currently build on ia64
.endif
post-patch:
@@ -260,9 +279,10 @@ PLIST_SUB+= SOURCES="@comment "
.endif
pre-everything::
- @${ECHO_MSG}
.if !defined(WITHOUT_X11)
+ @${ECHO_MSG}
@${ECHO_MSG} "====> To disable X11 support, define: WITHOUT_X11."
+ @${ECHO_MSG}
.endif
.if defined(WITH_CANNA)
@${ECHO_MSG} "====> Canna support is not part of standard distribution"
diff --git a/editors/emacs/distinfo b/editors/emacs/distinfo
index edba23746da5..f4aa58170cb1 100644
--- a/editors/emacs/distinfo
+++ b/editors/emacs/distinfo
@@ -1,4 +1,4 @@
-SHA256 (emacs-23.4.tar.bz2) = 26576f9e664397c729f78f5ffcd092969251988461896fe8793062346ee988b9
-SIZE (emacs-23.4.tar.bz2) = 38646508
-SHA256 (emacs23.3canna-20110316.diff.gz) = 26cb4bdb88685641e23d3a27953db56e04712caf154963edcaea41f5a403c7d3
-SIZE (emacs23.3canna-20110316.diff.gz) = 33845
+SHA256 (emacs-24.1.tar.bz2) = eeea272732146e2be9aee2f8d71d6cf07b8654c0282da62a26b921d433f02b7c
+SIZE (emacs-24.1.tar.bz2) = 41722508
+SHA256 (emacs24.1canna-20120614.diff.gz) = 276bbaae3b2adca9b1598653ea24986c29564afdea4b6741cbaee71db4f52bbe
+SIZE (emacs24.1canna-20120614.diff.gz) = 31907
diff --git a/editors/emacs/files/patch-Makefile.in b/editors/emacs/files/patch-Makefile.in
index fd303bd3a231..6ec4e27d04c9 100644
--- a/editors/emacs/files/patch-Makefile.in
+++ b/editors/emacs/files/patch-Makefile.in
@@ -1,6 +1,9 @@
---- Makefile.in.orig Tue Jun 23 07:41:36 2009 +0300
-+++ Makefile.in Tue Jun 23 07:39:33 2009 +0300
-@@ -461,14 +461,6 @@
+
+$FreeBSD$
+
+--- Makefile.in.orig
++++ Makefile.in
+@@ -518,14 +518,6 @@
install-arch-indep: mkdir info install-etc
-set ${COPYDESTS} ; \
@@ -15,25 +18,26 @@
mkdir ${COPYDESTS} ; \
chmod ugo+rx ${COPYDESTS} ; \
unset CDPATH; \
-@@ -570,9 +562,9 @@
+@@ -625,10 +617,10 @@
cd ${srcdir}/info ; \
for elt in $(INFO_FILES); do \
- test "$(MAKEINFO)" = "off" && ! test -e $$elt && continue; \
+ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
- for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
-- ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f; \
++ for f in `ls $$elt 2>/dev/null`; do \
+ (cd $${thisdir}; \
+- ${INSTALL_DATA} ${srcdir}/info/$$f $(DESTDIR)${infodir}/$$f); \
- chmod a+r $(DESTDIR)${infodir}/$$f; \
-+ for f in `ls $$elt 2>/dev/null`; do \
-+ ${INSTALL_DATA} $$f $(DESTDIR)${infodir}/$$f.info; \
-+ chmod a+r $(DESTDIR)${infodir}/$$f.info; \
- done; \
- done); \
- else true; fi
-@@ -583,7 +575,7 @@
++ ${INSTALL_DATA} ${srcdir}/info/$$f $(DESTDIR)${infodir}/$$f.info); \
++ chmod a+r $(DESTDIR)${infodir}/$$f.info; \
+ if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \
+ rm -f $(DESTDIR)${infodir}/$$f.gz; \
+ ${GZIP_PROG} -9n $(DESTDIR)${infodir}/$$f; \
+@@ -643,7 +635,7 @@
for elt in $(INFO_FILES); do \
- test "$(MAKEINFO)" = "off" && ! test -e $$elt && continue; \
+ test "$(HAVE_MAKEINFO)" = "no" && test ! -f $$elt && continue; \
(cd $${thisdir}; \
- ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
+ ${INSTALL_INFO} --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt.info); \
done; \
else true; fi
- -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} $(DESTDIR)${datadir}/emacs/site-lisp ${COPYDESTS} $(DESTDIR)${infodir}
+ -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} ${COPYDESTS}
diff --git a/editors/emacs/files/patch-configure b/editors/emacs/files/patch-configure
index 668668865700..65a5a0b1d1a7 100644
--- a/editors/emacs/files/patch-configure
+++ b/editors/emacs/files/patch-configure
@@ -3,7 +3,7 @@ $FreeBSD$
--- configure.orig
+++ configure
-@@ -5806,159 +5806,6 @@
+@@ -8276,177 +8276,13 @@
LIBSOUND=
fi
@@ -18,7 +18,7 @@ $FreeBSD$
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
--if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+-if ${ac_cv_path_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PKG_CONFIG in
@@ -107,9 +107,9 @@ $FreeBSD$
-
- if test $HAVE_ALSA = yes; then
- SAVE_CFLAGS="$CFLAGS"
-- SAVE_LDFLAGS="$LDFLAGS"
+- SAVE_LIBS="$LIBS"
- CFLAGS="$ALSA_CFLAGS $CFLAGS"
-- LDFLAGS="$ALSA_LIBS $LDFLAGS"
+- LIBS="$ALSA_LIBS $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <asoundlib.h>
@@ -152,7 +152,7 @@ $FreeBSD$
- fi
-
- CFLAGS="$SAVE_CFLAGS"
-- LDFLAGS="$SAVE_LDFLAGS"
+- LIBS="$SAVE_LIBS"
- LIBSOUND="$LIBSOUND $ALSA_LIBS"
- CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
-
@@ -160,6 +160,25 @@ $FreeBSD$
-
- fi
-
+- if test x$have_sound_header = xyes || test $HAVE_ALSA = yes; then
+- case "$opsys" in
+- gnu-linux|freebsd|netbsd)
+-
+-$as_echo "#define HAVE_SOUND 1" >>confdefs.h
+-
+- ;;
+- esac
+- fi
+-
+-
fi
- for ac_header in sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \
+ for ac_header in sys/select.h sys/time.h unistd.h utime.h \
+ linux/version.h sys/systeminfo.h \
+ stdio_ext.h fcntl.h coff.h pty.h sys/mman.h \
+ sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
+- sys/utsname.h pwd.h utmp.h dirent.h util.h
++ sys/utsname.h pwd.h utmp.h dirent.h util.h libutil.h
+ do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
diff --git a/editors/emacs/files/patch-doc-emacs-Makefile.in b/editors/emacs/files/patch-doc-emacs-Makefile.in
index da2f5b8506b8..43c924fa9b65 100644
--- a/editors/emacs/files/patch-doc-emacs-Makefile.in
+++ b/editors/emacs/files/patch-doc-emacs-Makefile.in
@@ -1,20 +1,14 @@
---- doc/emacs/Makefile.in.orig 2008-12-09 19:27:59.000000000 +0200
-+++ doc/emacs/Makefile.in 2008-12-09 19:25:19.000000000 +0200
-@@ -34,7 +34,7 @@
-
+
+$FreeBSD$
+
+--- doc/emacs/Makefile.in.orig
++++ doc/emacs/Makefile.in
+@@ -38,7 +38,7 @@
# The makeinfo program is part of the Texinfo distribution.
# Use --force so that it generates output even if there are errors.
--MAKEINFO = makeinfo --force
-+MAKEINFO = makeinfo --force --no-split
-
- INFO_TARGETS = $(infodir)/emacs
- DVI_TARGETS = emacs.dvi
-@@ -144,7 +144,7 @@
- # rm -f Makefile
-
- maintainer-clean: distclean
-- for file in $(INFO_TARGETS); do rm -f $${file}*; done
-+ for file in $(INFO_TARGETS); do rm -f $${file}; done
-
+ MAKEINFO = @MAKEINFO@
+-MAKEINFO_OPTS = --force --enable-encoding -I $(srcdir)
++MAKEINFO_OPTS = --force --no-split --enable-encoding -I $(srcdir)
- # Formerly this directory had texindex.c and getopt.c in it
+ TEXI2DVI = texi2dvi
+ TEXI2PDF = texi2pdf
diff --git a/editors/emacs/files/patch-doc-lispintro-Makefile.in b/editors/emacs/files/patch-doc-lispintro-Makefile.in
index a6266c3bef95..ff0a5cddab52 100644
--- a/editors/emacs/files/patch-doc-lispintro-Makefile.in
+++ b/editors/emacs/files/patch-doc-lispintro-Makefile.in
@@ -1,20 +1,14 @@
---- doc/lispintro/Makefile.in.orig 2008-12-09 19:27:59.000000000 +0200
-+++ doc/lispintro/Makefile.in 2008-12-09 19:25:20.000000000 +0200
-@@ -33,7 +33,7 @@
- INFO_TARGETS = ${infodir}/eintr
- DVI_TARGETS = emacs-lisp-intro.dvi
-
--MAKEINFO = makeinfo
-+MAKEINFO = makeinfo --no-split
+
+$FreeBSD$
+
+--- doc/lispintro/Makefile.in.orig
++++ doc/lispintro/Makefile.in
+@@ -27,7 +27,7 @@
+ texinfodir = $(srcdir)/../misc
+
+ MAKEINFO = @MAKEINFO@
+-MAKEINFO_OPTS = --force -I $(srcdir)
++MAKEINFO_OPTS = --force --no-split -I $(srcdir)
TEXI2DVI = texi2dvi
+ TEXI2PDF = texi2pdf
DVIPS = dvips
-
-@@ -65,7 +65,7 @@
-
- maintainer-clean: distclean
- rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
-- cd $(infodir); rm -f eintr eintr-[1-9]
-+ cd $(infodir); rm -f eintr
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/editors/emacs/files/patch-doc-lispref-Makefile.in b/editors/emacs/files/patch-doc-lispref-Makefile.in
index 6d069939164d..525d025916ca 100644
--- a/editors/emacs/files/patch-doc-lispref-Makefile.in
+++ b/editors/emacs/files/patch-doc-lispref-Makefile.in
@@ -1,11 +1,14 @@
---- doc/lispref/Makefile.in.orig 2008-12-09 19:27:59.000000000 +0200
-+++ doc/lispref/Makefile.in 2008-12-09 19:25:20.000000000 +0200
-@@ -32,7 +32,7 @@
- TEXI2DVI = texi2dvi
- SHELL = /bin/sh
- INSTALL_INFO = install-info
--MAKEINFO = makeinfo --force
-+MAKEINFO = makeinfo --force --no-split
-
- # List of all the texinfo files in the manual:
+
+$FreeBSD$
+
+--- doc/lispref/Makefile.in.orig
++++ doc/lispref/Makefile.in
+@@ -31,7 +31,7 @@
+ emacsdir = $(srcdir)/../emacs
+ MAKEINFO = @MAKEINFO@
+-MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir)
++MAKEINFO_OPTS = --force --no-split --enable-encoding -I $(emacsdir) -I $(srcdir)
+ TEXI2DVI = texi2dvi
+ TEXI2PDF = texi2pdf
+ DVIPS = dvips
diff --git a/editors/emacs/files/patch-doc-misc-Makefile.in b/editors/emacs/files/patch-doc-misc-Makefile.in
index 8626784b0f4e..ebc245cc7f67 100644
--- a/editors/emacs/files/patch-doc-misc-Makefile.in
+++ b/editors/emacs/files/patch-doc-misc-Makefile.in
@@ -1,11 +1,14 @@
---- doc/misc/Makefile.in.orig Tue Jun 23 07:39:39 2009 +0300
-+++ doc/misc/Makefile.in Tue Jun 23 07:39:41 2009 +0300
-@@ -34,7 +34,7 @@
-
+
+$FreeBSD$
+
+--- doc/misc/Makefile.in.orig
++++ doc/misc/Makefile.in
+@@ -41,7 +41,7 @@
# The makeinfo program is part of the Texinfo distribution.
# Use --force so that it generates output even if there are errors.
--MAKEINFO = makeinfo --force
-+MAKEINFO = makeinfo --force --no-split
+ MAKEINFO = @MAKEINFO@
+-MAKEINFO_OPTS = --force -I$(emacsdir)
++MAKEINFO_OPTS = --force --no-split -I$(emacsdir)
# Also add new entries to INFO_FILES in the top-level Makefile.in.
INFO_TARGETS = \
diff --git a/editors/emacs/files/patch-lisp-vc-svn.el b/editors/emacs/files/patch-lisp-vc-svn.el
deleted file mode 100644
index 5bb4725b299a..000000000000
--- a/editors/emacs/files/patch-lisp-vc-svn.el
+++ /dev/null
@@ -1,184 +0,0 @@
-
-$FreeBSD$
-
---- lisp/vc-svn.el.orig
-+++ lisp/vc-svn.el
-@@ -71,9 +71,9 @@
- t ;`svn' doesn't support common args like -c or -b.
- "String or list of strings specifying extra switches for svn diff under VC.
- If nil, use the value of `vc-diff-switches' (or `diff-switches'),
--together with \"-x --diff-cmd=diff\" (since svn diff does not
--support the default \"-c\" value of `diff-switches'). If you
--want to force an empty list of arguments, use t."
-+together with \"-x --diff-cmd=\"`diff-command' (since 'svn diff'
-+does not support the default \"-c\" value of `diff-switches').
-+If you want to force an empty list of arguments, use t."
- :type '(choice (const :tag "Unspecified" nil)
- (const :tag "None" t)
- (string :tag "Argument String")
-@@ -83,9 +83,9 @@
- :version "22.1"
- :group 'vc)
-
--(defcustom vc-svn-header (or (cdr (assoc 'SVN vc-header-alist)) '("\$Id\$"))
-+(defcustom vc-svn-header '("\$Id\$")
- "Header keywords to be inserted by `vc-insert-headers'."
-- :version "22.1"
-+ :version "24.1" ; no longer consult the obsolete vc-header-alist
- :type '(repeat string)
- :group 'vc)
-
-@@ -117,17 +117,13 @@
- ;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK"))
- ;;;###autoload "_svn")
- ;;;###autoload (t ".svn"))))
--;;;###autoload (when (file-readable-p (expand-file-name
--;;;###autoload (concat admin-dir "/entries")
--;;;###autoload (file-name-directory f)))
-+;;;###autoload (when (vc-find-root f admin-dir)
- ;;;###autoload (load "vc-svn")
- ;;;###autoload (vc-svn-registered f))))
-
- (defun vc-svn-registered (file)
- "Check if FILE is SVN registered."
-- (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory
-- "/entries")
-- (file-name-directory file)))
-+ (when (vc-svn-root file)
- (with-temp-buffer
- (cd (file-name-directory file))
- (let* (process-file-side-effects
-@@ -170,15 +166,21 @@
- (?? . unregistered)
- ;; This is what vc-svn-parse-status does.
- (?~ . edited)))
-- (re (if remote "^\\(.\\)......? \\([ *]\\) +\\(?:[-0-9]+\\)? \\(.*\\)$"
-- ;; Subexp 2 is a dummy in this case, so the numbers match.
-- "^\\(.\\)....\\(.\\) \\(.*\\)$"))
-+ (re (if remote "^\\(.\\)\\(.\\).....? \\([ *]\\) +\\(?:[-0-9]+\\)? \\(.*\\)$"
-+ ;; Subexp 3 is a dummy in this case, so the numbers match.
-+ "^\\(.\\)\\(.\\)...\\(.\\) \\(.*\\)$"))
- result)
- (goto-char (point-min))
- (while (re-search-forward re nil t)
- (let ((state (cdr (assq (aref (match-string 1) 0) state-map)))
-- (filename (match-string 3)))
-- (and remote (string-equal (match-string 2) "*")
-+ (propstat (cdr (assq (aref (match-string 2) 0) state-map)))
-+ (filename (if (memq system-type '(windows-nt ms-dos))
-+ (replace-regexp-in-string "\\\\" "/" (match-string 4))
-+ (match-string 4))))
-+ (and (memq propstat '(conflict edited))
-+ (not (eq state 'conflict)) ; conflict always wins
-+ (setq state propstat))
-+ (and remote (string-equal (match-string 3) "*")
- ;; FIXME are there other possible combinations?
- (cond ((eq state 'edited) (setq state 'needs-merge))
- ((not state) (setq state 'needs-update))))
-@@ -271,18 +273,16 @@
- to the SVN command."
- (apply 'vc-svn-command nil 0 files "add" (vc-switches 'SVN 'register)))
-
--(defun vc-svn-responsible-p (file)
-- "Return non-nil if SVN thinks it is responsible for FILE."
-- (file-directory-p (expand-file-name vc-svn-admin-directory
-- (if (file-directory-p file)
-- file
-- (file-name-directory file)))))
-+(defun vc-svn-root (file)
-+ (vc-find-root file vc-svn-admin-directory))
-
--(defalias 'vc-svn-could-register 'vc-svn-responsible-p
-+(defalias 'vc-svn-responsible-p 'vc-svn-root)
-+
-+(defalias 'vc-svn-could-register 'vc-svn-root
- "Return non-nil if FILE could be registered in SVN.
- This is only possible if SVN is responsible for FILE's directory.")
-
--(defun vc-svn-checkin (files rev comment)
-+(defun vc-svn-checkin (files rev comment &optional extra-args-ignored)
- "SVN-specific version of `vc-backend-checkin'."
- (if rev (error "Committing to a specific revision is unsupported in SVN"))
- (let ((status (apply
-@@ -518,7 +518,7 @@
- (let* ((switches
- (if vc-svn-diff-switches
- (vc-switches 'SVN 'diff)
-- (list "--diff-cmd=diff" "-x"
-+ (list (concat "--diff-cmd=" diff-command) "-x"
- (mapconcat 'identity (vc-switches nil 'diff) " "))))
- (async (and (not vc-disable-async-diff)
- (vc-stay-local-p files 'SVN)
-@@ -590,20 +590,10 @@
-
- (defun vc-svn-repository-hostname (dirname)
- (with-temp-buffer
-- (let ((coding-system-for-read
-- (or file-name-coding-system
-- default-file-name-coding-system)))
-- (vc-insert-file (expand-file-name (concat vc-svn-admin-directory
-- "/entries")
-- dirname)))
-+ (let (process-file-side-effects)
-+ (vc-svn-command t t dirname "info" "--xml"))
- (goto-char (point-min))
-- (when (re-search-forward
-- ;; Old `svn' used name="svn:this_dir", newer use just name="".
-- (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*"
-- "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?"
-- "url=\"\\(?1:[^\"]+\\)\""
-- ;; Yet newer ones don't use XML any more.
-- "\\|^\ndir\n[0-9]+\n\\(?1:.*\\)") nil t)
-+ (when (re-search-forward "<url>\\(.*\\)</url>" nil t)
- ;; This is not a hostname but a URL. This may actually be considered
- ;; as a feature since it allows vc-svn-stay-local to specify different
- ;; behavior for different modules on the same server.
-@@ -642,7 +632,7 @@
- "Parse output of \"svn status\" command in the current buffer.
- Set file properties accordingly. Unless FILENAME is non-nil, parse only
- information about FILENAME and return its status."
-- (let (file status)
-+ (let (file status propstat)
- (goto-char (point-min))
- (while (re-search-forward
- ;; Ignore the files with status X.
-@@ -652,7 +642,9 @@
- (setq file (or filename
- (expand-file-name
- (buffer-substring (point) (line-end-position)))))
-- (setq status (char-after (line-beginning-position)))
-+ (setq status (char-after (line-beginning-position))
-+ ;; Status of the item's properties ([ MC]).
-+ propstat (char-after (1+ (line-beginning-position))))
- (if (eq status ??)
- (vc-file-setprop file 'vc-state 'unregistered)
- ;; Use the last-modified revision, so that searching in vc-print-log
-@@ -663,7 +655,7 @@
- (vc-file-setprop
- file 'vc-state
- (cond
-- ((eq status ?\ )
-+ ((and (eq status ?\ ) (eq propstat ?\ ))
- (if (eq (char-after (match-beginning 1)) ?*)
- 'needs-update
- (vc-file-setprop file 'vc-checkout-time
-@@ -674,9 +666,11 @@
- (vc-file-setprop file 'vc-working-revision "0")
- (vc-file-setprop file 'vc-checkout-time 0)
- 'added)
-- ((eq status ?C)
-+ ;; Conflict in contents or properties.
-+ ((or (eq status ?C) (eq propstat ?C))
- (vc-file-setprop file 'vc-state 'conflict))
-- ((eq status '?M)
-+ ;; Modified contents or properties.
-+ ((or (eq status ?M) (eq propstat ?M))
- (if (eq (char-after (match-beginning 1)) ?*)
- 'needs-merge
- 'edited))
-@@ -743,5 +737,4 @@
-
- (provide 'vc-svn)
-
--;; arch-tag: 02f10c68-2b4d-453a-90fc-1eee6cfb268d
- ;;; vc-svn.el ends here
diff --git a/editors/emacs/files/patch-sources.el b/editors/emacs/files/patch-sources.el
index 5d557d807f30..6845a02d9f93 100644
--- a/editors/emacs/files/patch-sources.el
+++ b/editors/emacs/files/patch-sources.el
@@ -1,5 +1,5 @@
-$FreeBSD: /tmp/pcvs/ports/editors/emacs/files/patch-sources.el,v 1.3 2009-12-20 20:19:17 bsam Exp $
+$FreeBSD$
--- /dev/null
+++ sources.el
diff --git a/editors/emacs/files/patch-src_coding.c b/editors/emacs/files/patch-src_coding.c
index 9dd1a5e0f45d..05c5cc1a6eab 100644
--- a/editors/emacs/files/patch-src_coding.c
+++ b/editors/emacs/files/patch-src_coding.c
@@ -3,7 +3,7 @@ $FreeBSD$
--- src/coding.c.orig
+++ src/coding.c
-@@ -3853,8 +3853,20 @@
+@@ -3717,8 +3717,20 @@
else
charset = CHARSET_FROM_ID (charset_id_2);
ONE_MORE_BYTE (c1);
@@ -26,7 +26,7 @@ $FreeBSD$
break;
case 'O': /* invocation of single-shift-3 */
-@@ -3867,8 +3879,20 @@
+@@ -3731,8 +3743,20 @@
else
charset = CHARSET_FROM_ID (charset_id_3);
ONE_MORE_BYTE (c1);
diff --git a/editors/emacs/files/patch-src_config.in b/editors/emacs/files/patch-src_config.in
index 834b77b8c5c2..551e1db4ab82 100644
--- a/editors/emacs/files/patch-src_config.in
+++ b/editors/emacs/files/patch-src_config.in
@@ -3,12 +3,13 @@ $FreeBSD$
--- src/config.in.orig
+++ src/config.in
-@@ -1183,6 +1183,8 @@
- #endif
- #ifdef HAVE_ALLOCA_H
- # include <alloca.h>
-+#elif defined __FreeBSD__
-+#include <stdlib.h>
- #elif defined __GNUC__
- # define alloca __builtin_alloca
- #elif defined _AIX
+@@ -468,6 +468,9 @@
+ /* Define to 1 if using SELinux. */
+ #undef HAVE_LIBSELINUX
+
++/* Define to 1 if you have the <libutil.h> header file. */
++#undef HAVE_LIBUTIL_H
++
+ /* Define to 1 if you have the `Xext' library (-lXext). */
+ #undef HAVE_LIBXEXT
+
diff --git a/editors/emacs/files/patch-src_process.c b/editors/emacs/files/patch-src_process.c
new file mode 100644
index 000000000000..969accf82807
--- /dev/null
+++ b/editors/emacs/files/patch-src_process.c
@@ -0,0 +1,16 @@
+
+$FreeBSD$
+
+--- src/process.c.orig
++++ src/process.c
+@@ -83,6 +83,10 @@
+ #include <util.h>
+ #endif
+
++#ifdef HAVE_LIBUTIL_H
++#include <libutil.h>
++#endif
++
+ #ifdef HAVE_PTY_H
+ #include <pty.h>
+ #endif
diff --git a/editors/emacs-devel/files/patch-src_s_freebsd.h b/editors/emacs/files/patch-src_s_freebsd.h
index a53230309c40..9dcdd97755b6 100644
--- a/editors/emacs-devel/files/patch-src_s_freebsd.h
+++ b/editors/emacs/files/patch-src_s_freebsd.h
@@ -3,10 +3,10 @@ $FreeBSD$
--- src/s/freebsd.h.orig
+++ src/s/freebsd.h
-@@ -61,3 +61,17 @@
-
- /* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
- #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
+@@ -58,3 +58,17 @@
+ /* Tell that garbage collector that setjmp is known to save all
+ registers relevant for conservative garbage collection in the jmp_buf. */
+ #define GC_SETJMP_WORKS 1
+
+#define PTY_ITERATION int i; for (i = 0; i < 1; i++)
+#define PTY_NAME_SPRINTF /* none */
diff --git a/editors/emacs/files/patch-src_sysdep.c b/editors/emacs/files/patch-src_sysdep.c
new file mode 100644
index 000000000000..a5c26fd702f7
--- /dev/null
+++ b/editors/emacs/files/patch-src_sysdep.c
@@ -0,0 +1,244 @@
+
+$FreeBSD$
+
+--- src/sysdep.c.orig
++++ src/sysdep.c
+@@ -37,6 +37,20 @@
+ #include "sysselect.h"
+ #include "blockinput.h"
+
++#ifdef __FreeBSD__
++#include <sys/sysctl.h>
++/* machine/frame.h in Sparc has 'struct frame' which conflicts with Emacs' 'struct frame', so rename it */
++#ifdef __sparc__
++#define frame freebsd_sparc_frame
++#endif
++#include <sys/user.h>
++#ifdef __sparc__
++#undef frame
++#endif
++#include <sys/resource.h>
++#include <math.h>
++#endif
++
+ #ifdef WINDOWSNT
+ #define read sys_read
+ #define write sys_write
+@@ -2529,6 +2543,40 @@
+ return proclist;
+ }
+
++#elif defined (__FreeBSD__)
++
++Lisp_Object
++list_system_processes ()
++{
++ int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PROC};
++ size_t len;
++ struct kinfo_proc *procs;
++ size_t i;
++
++ struct gcpro gcpro1;
++ Lisp_Object proclist = Qnil;
++
++ if (sysctl (mib, 3, NULL, &len, NULL, 0) != 0)
++ return proclist;
++
++ procs = xmalloc (len);
++ if (sysctl (mib, 3, procs, &len, NULL, 0) != 0)
++ {
++ xfree (procs);
++ return proclist;
++ }
++
++ GCPRO1 (proclist);
++ len /= sizeof (struct kinfo_proc);
++ for (i = 0; i < len; i++)
++ proclist = Fcons (make_fixnum_or_float (procs[i].ki_pid), proclist);
++ UNGCPRO;
++
++ xfree (procs);
++
++ return proclist;
++}
++
+ /* The WINDOWSNT implementation is in w32.c.
+ The MSDOS implementation is in dosfns.c. */
+ #elif !defined (WINDOWSNT) && !defined (MSDOS)
+@@ -3079,6 +3127,176 @@
+ return attrs;
+ }
+
++#elif defined(__FreeBSD__)
++
++Lisp_Object
++system_process_attributes (Lisp_Object pid)
++{
++ int proc_id;
++ int pagesize = getpagesize();
++ int npages;
++ int fscale;
++ struct passwd *pw;
++ struct group *gr;
++ char *ttyname;
++ size_t len;
++ char args[MAXPATHLEN];
++ EMACS_TIME t, now;
++
++ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID};
++ struct kinfo_proc proc;
++ size_t proclen = sizeof(proc);
++
++ struct gcpro gcpro1, gcpro2;
++ Lisp_Object attrs = Qnil;
++ Lisp_Object decoded_comm;
++
++ CHECK_NUMBER_OR_FLOAT (pid);
++ proc_id = FLOATP (pid) ? XFLOAT_DATA (pid) : XINT (pid);
++ mib[3] = proc_id;
++
++ if (sysctl (mib, 4, &proc, &proclen, NULL, 0) != 0)
++ return attrs;
++
++ GCPRO2 (attrs, decoded_comm);
++
++ attrs = Fcons (Fcons (Qeuid, make_fixnum_or_float(proc.ki_uid)), attrs);
++
++ BLOCK_INPUT;
++ pw = getpwuid (proc.ki_uid);
++ UNBLOCK_INPUT;
++ if (pw)
++ attrs = Fcons (Fcons (Quser, build_string (pw->pw_name)), attrs);
++
++ attrs = Fcons (Fcons (Qegid, make_fixnum_or_float(proc.ki_svgid)), attrs);
++
++ BLOCK_INPUT;
++ gr = getgrgid (proc.ki_svgid);
++ UNBLOCK_INPUT;
++ if (gr)
++ attrs = Fcons (Fcons (Qgroup, build_string (gr->gr_name)), attrs);
++
++ decoded_comm = code_convert_string_norecord
++ (make_unibyte_string (proc.ki_comm, strlen (proc.ki_comm)),
++ Vlocale_coding_system, 0);
++
++ attrs = Fcons (Fcons (Qcomm, decoded_comm), attrs);
++ {
++ char state[2] = {'\0', '\0'};
++ switch (proc.ki_stat)
++ {
++ case SRUN:
++ state[0] = 'R';
++ break;
++
++ case SSLEEP:
++ state[0] = 'S';
++ break;
++
++ case SLOCK:
++ state[0] = 'D';
++ break;
++
++ case SZOMB:
++ state[0] = 'Z';
++ break;
++
++ case SSTOP:
++ state[0] = 'T';
++ break;
++ }
++ attrs = Fcons (Fcons (Qstate, build_string (state)), attrs);
++ }
++
++ attrs = Fcons (Fcons (Qppid, make_fixnum_or_float (proc.ki_ppid)), attrs);
++ attrs = Fcons (Fcons (Qpgrp, make_fixnum_or_float (proc.ki_pgid)), attrs);
++ attrs = Fcons (Fcons (Qsess, make_fixnum_or_float (proc.ki_sid)), attrs);
++
++ BLOCK_INPUT;
++ ttyname = proc.ki_tdev == NODEV ? NULL : devname (proc.ki_tdev, S_IFCHR);
++ UNBLOCK_INPUT;
++ if (ttyname)
++ attrs = Fcons (Fcons (Qtty, build_string (ttyname)), attrs);
++
++ attrs = Fcons (Fcons (Qtpgid, make_fixnum_or_float (proc.ki_tpgid)), attrs);
++ attrs = Fcons (Fcons (Qminflt, make_fixnum_or_float (proc.ki_rusage.ru_minflt)), attrs);
++ attrs = Fcons (Fcons (Qmajflt, make_fixnum_or_float (proc.ki_rusage.ru_majflt)), attrs);
++ attrs = Fcons (Fcons (Qcminflt, make_number (proc.ki_rusage_ch.ru_minflt)), attrs);
++ attrs = Fcons (Fcons (Qcmajflt, make_number (proc.ki_rusage_ch.ru_majflt)), attrs);
++
++#define TIMELIST(ts) \
++ list3 (make_number (EMACS_SECS (ts) >> 16 & 0xffff), \
++ make_number (EMACS_SECS (ts) & 0xffff), \
++ make_number (EMACS_USECS (ts)))
++
++ attrs = Fcons (Fcons (Qutime, TIMELIST(proc.ki_rusage.ru_utime)), attrs);
++ attrs = Fcons (Fcons (Qstime, TIMELIST(proc.ki_rusage.ru_stime)), attrs);
++ EMACS_ADD_TIME (t, proc.ki_rusage.ru_utime, proc.ki_rusage.ru_stime);
++ attrs = Fcons (Fcons (Qtime, TIMELIST(t)), attrs);
++
++ attrs = Fcons (Fcons (Qcutime, TIMELIST(proc.ki_rusage_ch.ru_utime)), attrs);
++ attrs = Fcons (Fcons (Qcstime, TIMELIST(proc.ki_rusage_ch.ru_utime)), attrs);
++ EMACS_ADD_TIME (t, proc.ki_rusage_ch.ru_utime, proc.ki_rusage_ch.ru_stime);
++ attrs = Fcons (Fcons (Qctime, TIMELIST(t)), attrs);
++
++ attrs = Fcons (Fcons (Qthcount, make_fixnum_or_float (proc.ki_numthreads)), attrs);
++ attrs = Fcons (Fcons (Qpri, make_number (proc.ki_pri.pri_native)), attrs);
++ attrs = Fcons (Fcons (Qnice, make_number (proc.ki_nice)), attrs);
++ attrs = Fcons (Fcons (Qstart, TIMELIST(proc.ki_start)), attrs);
++ attrs = Fcons (Fcons (Qvsize, make_number (proc.ki_size >> 10)), attrs);
++ attrs = Fcons (Fcons (Qrss, make_number (proc.ki_rssize * pagesize >> 10)), attrs);
++
++ EMACS_GET_TIME (now);
++ EMACS_SUB_TIME (t, now, proc.ki_start);
++ attrs = Fcons (Fcons (Qetime, TIMELIST(t)), attrs);
++
++#undef TIMELIST
++
++ len = sizeof(fscale);
++ if (sysctlbyname ("kern.fscale", &fscale, &len, NULL, 0) == 0)
++ {
++ float pcpu;
++ fixpt_t ccpu;
++ len = sizeof (ccpu);
++ if (sysctlbyname ("kern.ccpu", &ccpu, &len, NULL, 0) == 0)
++ {
++ pcpu = 100.0 * ((double) proc.ki_pctcpu / fscale)
++ / (1.0 - exp(proc.ki_swtime * log((double) ccpu / fscale)));
++ attrs = Fcons (Fcons (Qpcpu, make_fixnum_or_float(pcpu)), attrs);
++ }
++ }
++
++ len = sizeof(npages);
++ if (sysctlbyname ("hw.availpages", &npages, &len, NULL, 0) == 0)
++ {
++ float pmem = proc.ki_flag & P_INMEM
++ ? 100.0 * ((float) proc.ki_rssize / npages)
++ : 0.0;
++ attrs = Fcons (Fcons (Qpmem, make_fixnum_or_float(pmem)), attrs);
++ }
++
++ mib[2] = KERN_PROC_ARGS;
++ len = MAXPATHLEN;
++ if (sysctl (mib, 4, args, &len, NULL, 0) == 0)
++ {
++ int i;
++ for (i = 0; i < len; i++)
++ {
++ if (! args[i] && i < len - 1)
++ args[i] = ' ';
++ }
++
++ decoded_comm = code_convert_string_norecord
++ (make_unibyte_string (args, strlen (args)),
++ Vlocale_coding_system, 0);
++
++ attrs = Fcons (Fcons (Qargs, decoded_comm), attrs);
++ }
++
++ UNGCPRO;
++ return attrs;
++}
++
+ /* The WINDOWSNT implementation is in w32.c.
+ The MSDOS implementation is in dosfns.c. */
+ #elif !defined (WINDOWSNT) && !defined (MSDOS)
diff --git a/editors/emacs/files/patch-src_term.c b/editors/emacs/files/patch-src_term.c
new file mode 100644
index 000000000000..f1b25cfa417f
--- /dev/null
+++ b/editors/emacs/files/patch-src_term.c
@@ -0,0 +1,22 @@
+$FreeBSD$
+
+$NetBSD: patch-ag,v 1.13 2010/05/15 10:00:57 roy Exp $
+
+When running terminfo but compiled for termcap, we cannot assume
+that we actually have anything useable in termcap_term_buffer so just
+use the terminfo fixed size defined ealier.
+
+--- src/term.c 2010-01-06 10:11:04.000000000 +0000
++++ src/term.c 2010-01-06 10:11:53.000000000 +0000
+@@ -3590,11 +3590,6 @@
+ #endif
+ }
+
+-#ifndef TERMINFO
+- if (strlen (tty->termcap_term_buffer) >= buffer_size)
+- abort ();
+- buffer_size = strlen (tty->termcap_term_buffer);
+-#endif
+ tty->termcap_strings_buffer = area = (char *) xmalloc (buffer_size);
+ tty->TS_ins_line = tgetstr ("al", address);
+ tty->TS_ins_multi_lines = tgetstr ("AL", address);
diff --git a/editors/emacs/pkg-plist b/editors/emacs/pkg-plist
index 94667e7f982f..4c0884921402 100644
--- a/editors/emacs/pkg-plist
+++ b/editors/emacs/pkg-plist
@@ -1,4 +1,3 @@
-bin/b2m
bin/ctags
bin/ebrowse
bin/emacs
diff --git a/editors/emacs23/Makefile b/editors/emacs23/Makefile
index e1f05357e9e5..293f527f215f 100644
--- a/editors/emacs23/Makefile
+++ b/editors/emacs23/Makefile
@@ -7,8 +7,7 @@
PORTNAME= emacs
PORTVERSION= ${EMACS_VER}
-PORTREVISION?= 1
-PORTEPOCH= 2
+PORTREVISION?= 2
CATEGORIES= editors ipv6
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -23,7 +22,8 @@ MAKE_JOBS_UNSAFE= yes
CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-24.* \
xemacs-[0-9]* xemacs-devel-[0-9]* \
- xemacs-mule-[0-9]* xemacs-devel-mule-[0-9]*
+ xemacs-mule-[0-9]* xemacs-devel-mule-[0-9]* \
+ emacs-nox11-[0-9]*
EMACS_VER= 23.4
GNU_CONFIGURE= yes
@@ -51,30 +51,26 @@ INFO= ada-mode auth autotype calc ccmode cl dbus dired-x \
org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve \
smtpmail speedbar tramp url vip viper widget woman
-.if !defined(EMACS_NO_X11_SLAVE)
-CONFLICTS+= emacs-nox11-[0-9]*
-OPTIONS= CANNA "Canna support" OFF \
- DBUS "DBus support" ON \
- GCONF "GConf support" ON \
- GIF "GIF images support" ON \
- GTK2 "Use GTK+ widgets" ON \
- JPEG "JPEG images support" ON \
- M17N "M17N support for text-shaping" ON \
- MOTIF "Use Motif widgets" OFF \
- OTF "Opentype fonts support" ON \
- PNG "PNG images support" ON \
- SOUND "Sound support" ON \
- SOURCES "Install source code" ON \
- SVG "SVG images support" ON \
- TIFF "TIFF images support" ON \
- XAW "Use Athena widgets" OFF \
- XAW3D "Use Athena3D widgets" OFF \
- SYNC_INPUT "Synchronously process asynchronous input" ON \
- SCROLLBARS "Without toolkit scroll-bars" ON \
- XFT "Freetype fonts support" ON \
- XIM "X Input Method support" ON \
- XPM "XPM images support" ON
-.endif
+OPTIONS_DEFINE= CANNA DBUS GCONF GIF JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT SCROLLBARS XFT \
+ XIM XPM
+
+OPTIONS_SINGLE= X11TOOLKIT
+
+CANNA_DESC= Canna support
+SCROLLBARS_DESC= Toolkit scroll-bars
+SOUND_DESC= Sound support
+SOURCES_DESC= Install sources
+SYNC_INPUT_DESC= Synchronously process asynchronous input
+XAW_DESC= Athena widgets
+XAW3D_DESC= Athena3D widgets
+XIM_DESC= X Input Method Support
+M17N_DESC= M17N support for text-shaping
+OTF_DESC= Opentype fonts suport
+
+OPTIONS_SINGLE_X11TOOLKIT= GTK2 XAW XAW3D MOTIF
+
+OPTIONS_DEFAULT=DBUS GCONF GIF GTK2 JPEG M17N OTF PNG SOUND SOURCES SVG TIFF SYNC_INPUT \
+ SCROLLBARS XFT XIM XPM
.include <bsd.port.options.mk>
@@ -87,118 +83,101 @@ CONFIGURE_ARGS+= --without-x
USE_XORG= x11
USE_GNOME=
-.if defined(WITHOUT_SVG)
-CONFIGURE_ARGS+= --without-rsvg
-.else
+.if ${PORT_OPTIONS:MSVG}
USE_GNOME+= librsvg2
+.else
+CONFIGURE_ARGS+= --without-rsvg
.endif
-.if defined(WITHOUT_GTK2)
-.if defined(WITH_XAW)
-.if defined(WITH_XAW3D) || defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
-.endif
-USE_XORG= xaw
-CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
-.elif defined(WITH_XAW3D)
-.if defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
-.endif
+.if ${PORT_OPTIONS:MGTK2}
+USE_GNOME+= gtk20
+CONFIGURE_ARGS+= --with-x-toolkit=gtk
+.elif ${PORT_OPTIONS:MXAW3D}
LIB_DEPENDS+= Xaw3d.${XAWVER}:${PORTSDIR}/x11-toolkits/Xaw3d
CONFIGURE_ARGS+= --with-x-toolkit=athena
-.elif defined(WITH_MOTIF)
+.elif ${PORT_OPTIONS:MXAW}
+USE_XORG= xaw
+CONFIGURE_ARGS+= --with-x-toolkit=athena --without-xaw3d
+.elif ${PORT_OPTIONS:MMOTIF}
USE_MOTIF= yes
CONFIGURE_ARGS+= --with-x-toolkit=motif
-.else
-IGNORE= please choose a toolkit: GTK+/Motif/Xaw/Xaw3d, or build without X11 support
-.endif
-.else
-.if defined(WITH_XAW) || defined(WITH_XAW3D) || defined(WITH_MOTIF)
-IGNORE= please choose only one toolkit: GTK+/Motif/Xaw/Xaw3d
-.endif
-INSTALLS_ICONS= yes
-USE_GNOME+= gtk20
-CONFIGURE_ARGS+= --with-x-toolkit=gtk
.endif
-.if defined(WITHOUT_SCROLLBARS)
+.if !${PORT_OPTIONS:MSCROLLBARS}
CONFIGURE_ARGS+= --without-toolkit-scroll-bars
.endif
-.if defined(WITHOUT_SYNC_INPUT)
+.if !${PORT_OPTIONS:MSYNC_INPUT}
CONFIGURE_ARGS+= --without-sync-input
.endif
-.if defined(WITHOUT_JPEG)
-CONFIGURE_ARGS+= --without-jpeg
-.else
+.if ${PORT_OPTIONS:MJPEG}
LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg
-.endif
-
-.if defined(WITHOUT_TIFF)
-CONFIGURE_ARGS+= --without-tiff
.else
-LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
+CONFIGURE_ARGS+= --without-jpeg
.endif
-.if defined(WITHOUT_GIF)
-CONFIGURE_ARGS+= --without-gif
+.if ${PORT_OPTIONS:MTIFF}
+LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
.else
-LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
+CONFIGURE_ARGS+= --without-tiff
.endif
-.if defined(WITHOUT_PNG)
-CONFIGURE_ARGS+= --without-png
+.if ${PORT_OPTIONS:MGIF}
+LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
.else
-LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
+CONFIGURE_ARGS+= --without-gif
.endif
-.if defined(WITHOUT_XPM)
-CONFIGURE_ARGS+= --without-xpm
+.if ${PORT_OPTIONS:MPNG}
+LIB_DEPENDS+= png15:${PORTSDIR}/graphics/png
.else
-USE_XORG+= xpm
+CONFIGURE_ARGS+= --without-png
.endif
-.if defined(WITHOUT_XFT)
-.if defined(WITH_M17N)
-IGNORE= m17n support requires Xft. Please run 'make config'
-.elif defined(WITH_OTF)
-IGNORE= otf support requires Xft. Please run 'make config'
+.if ${PORT_OPTIONS:MXPM}
+USE_XORG+= xpm
.else
-CONFIGURE_ARGS+= --without-xft
+CONFIGURE_ARGS+= --without-xpm
.endif
-.else
+
+.if ${PORT_OPTIONS:MXFT}
USE_XORG+= xft
LIB_DEPENDS+= freetype.9:${PORTSDIR}/print/freetype2
-.endif
-
-.if defined(WITHOUT_M17N)
-CONFIGURE_ARGS+= --without-m17n-flt
-.else
-.if !defined(WITHOUT_XFT)
+CONFIGURE_ARGS+= --with-xft
+.if ${PORT_OPTIONS:MM17N}
+CONFIGURE_ARGS+= --with-m17n-flt
LIB_DEPENDS+= m17n.4:${PORTSDIR}/devel/m17n-lib
+.else
+CONFIGURE_ARGS+= --without-m17n-flt
.endif
-.endif
-
-.if defined(WITHOUT_OTF)
+.if ${PORT_OPTIONS:MOTF}
+CONFIGURE_ARGS+= --with-otf
+LIB_DEPENDS+= otf.0:${PORTSDIR}/print/libotf
+.else
CONFIGURE_ARGS+= --without-libotf
+.endif
.else
-.if !defined(WITHOUT_XFT)
-LIB_DEPENDS+= otf.0:${PORTSDIR}/print/libotf
+CONFIGURE_ARGS+= --without-xft
+.if ${PORT_OPTIONS:MM17N}
+IGNORE= m17n support for text-shaping requires Xft. Please run 'make config'
+.elif ${PORT_OPTIONS:MOTF}
+IGNORE= opentype fonts support requires Xft. Please run 'make config'
.endif
+CONFIGURE_ARGS+= --without-otf --without-m17n-flt
.endif
-.if defined(WITHOUT_GCONF)
-CONFIGURE_ARGS+= --without-gconf
-.else
+.if ${PORT_OPTIONS:MGCONF}
USE_GNOME+= gconf2
+.else
+CONFIGURE_ARGS+= --without-gconf
.endif
-.if defined(WITHOUT_XIM)
+.if !${PORT_OPTIONS:MXIM}
CONFIGURE_ARGS+= --without-xim
.endif
-.if defined(WITH_CANNA)
+.if ${PORT_OPTIONS:MCANNA}
PATCH_SITES+= http://distfiles.pirateparty.in/%SUBDIR%/ ${MASTER_SITE_LOCAL}
PATCH_SITE_SUBDIR+= ashish
PATCHFILES+= emacs23.3canna-20110316.diff.gz
@@ -211,14 +190,17 @@ LIB_DEPENDS+= canna.1:${PORTSDIR}/japanese/canna-lib
.endif
-.if defined(WITHOUT_SOUND)
+.if ${PORT_OPTIONS:MSOUND}
+CONFIGURE_ARGS+= --with-sound
+.else
CONFIGURE_ARGS+= --without-sound
.endif
-.if defined(WITHOUT_DBUS)
-CONFIGURE_ARGS+= --without-dbus
-.else
+.if ${PORT_OPTIONS:MDBUS}
LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+CONFIGURE_ARGS+= --with-dbus
+.else
+CONFIGURE_ARGS+= --without-dbus
.endif
.include <bsd.port.pre.mk>