# Created by: Gary Jennejohn (gj@FreeBSD.org)
# $FreeBSD: head/editors/xemacs/Makefile 359318 2014-06-26 07:32:36Z antoine $

PORTNAME=	xemacs-devel
PORTVERSION=	${XEMACS_VER}
PORTREVISION=	14
CATEGORIES?=	editors
MASTER_SITES=	${MASTER_SITE_XEMACS}
MASTER_SITE_SUBDIR=	xemacs-${XEMACS_REL}
DISTNAME=	xemacs-${XEMACS_VER}
DIST_SUBDIR=	xemacs

MAINTAINER?=	xemacs@FreeBSD.org
COMMENT?=	The beta version of the XEmacs text editor

.if defined(L10N)
RUN_DEPENDS=	${DISTNAME}:${PORTSDIR}/editors/xemacs-devel
.endif

LICENSE=	GPLv2
LICENSE_FILE=	${WRKSRC}/COPYING

CONFLICTS?=	emacs21-[0-9]* emacs22-[0-9]* emacs23-[0-9]* emacs24-[0-9]* \
		emacs-nox11-[0-9]* xemacs-[0-9]* ja-xemacs-*

XEMACS_REL=	21.5
XEMACS_VER=	21.5.34
XEMACS_ARCH=	${MACHINE_ARCH}--freebsd
XEMACS_INSTALL=	${PORTNAME}
.export XEMACS_INSTALL

USE_AUTOTOOLS=	autoconf
USES=		gmake makeinfo
INFO_PATH=	lib/xemacs-${XEMACS_VER}/info
USE_CSTD=	gnu99
WITHOUT_SSP=	yes
STRIP=
CONFIGURE_TARGET=	${XEMACS_ARCH}
CONFIGURE_ARGS=	--with-site-includes=${LOCALBASE}/include \
		--with-site-libraries=${LOCALBASE}/lib \
		--with-site-lisp \
		--with-infopath=${INFOPATH}

PLIST_SUB+=	XEMACS_VER=${XEMACS_VER} XEMACS_ARCH=${XEMACS_ARCH}

INFO=		beta cl custom emodules external-widget info internals \
		lispref new-users-guide standards term termcap texinfo \
		widget xemacs-faq xemacs

ALL_TARGET=	all dist
.if defined(L10N)
INSTALL_TARGET=	install-arch-dep
PLIST=		${PKGDIR}/pkg-plist.arch-dep
.else
MASTERDIR=	${.CURDIR}
.endif

INFOPATH=	${LOCALBASE}/info:${LOCALBASE}/share/texmf-dist/doc/info

.include "${MASTERDIR}/Makefile.options.pre"
.include <bsd.port.options.mk>
.include "${MASTERDIR}/Makefile.options.post"
.include <bsd.port.pre.mk>

pre-fetch:
.if ! ${PORT_OPTIONS:M*_GTK}
	@${ECHO_MSG} "If you want to use GTK, please select *_GTK and recompile."
.endif
.if ${PORT_OPTIONS:M*_MOTIF}
.  if defined(WANT_LESSTIF)
	@${ECHO_MSG} ""
	@${ECHO_MSG} "If you use MOTIF library lesstif, you might occasionally"
	@${ECHO_MSG} "experience locked-up frames."
	@${ECHO_MSG} "In this case, select *_ATHENA or *_LUCID instead of *_MOTIF"
	@${ECHO_MSG} "and recompile, which will force the use of athena or lucid for"
	@${ECHO_MSG} "scrollbars, dialogs and widgets."
.  endif
	@${ECHO_MSG} ""
	@${ECHO_MSG} "Set the environment variable WITHOUT=X11 if you do not"
	@${ECHO_MSG} "want to use X11."
.endif

# fix .so references in a few man pages
pre-configure:
.for f in etc/ctags.1 etc/gnuattach.1 etc/gnuclient.1 etc/gnudoit.1
	@${SED} -e 's/\.1/&.gz/' ${WRKSRC}/${f} > ${WRKDIR}/tmp_zot
	@${MV} ${WRKDIR}/tmp_zot ${WRKSRC}/${f}
.endfor

pre-build:
	${FIND} ${WRKSRC} \( -name \*.orig -o -name \*~ -o -name \*.elc \) \
		-exec ${RM} -f \{} \;
	${RM} -f ${WRKSRC}/lib-src/DOC* ${WRKSRC}/src/xemacs

post-install:
.for f in b2m ctags ellcc etags gnuclient xemacs-${XEMACS_VER}
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
.endfor
	${MKDIR} ${STAGEDIR}${PREFIX}/lib/xemacs/site-lisp
	${CHMOD} 755 ${STAGEDIR}${PREFIX}/lib/xemacs/site-lisp
	${RM} -f ${STAGEDIR}${PREFIX}/bin/send-pr
.if ${PORT_OPTIONS:MDESKTOP}
	${INSTALL_DATA} ${WRKDIR}/xemacs.desktop \
		${STAGEDIR}${PREFIX}/share/applications
.endif
.if defined(L10N)
	${MKDIR} ${STAGEDIR}${PREFIX}/lib/xemacs-${XEMACS_VER}/info
	${CP} -R ${WRKSRC}/info/ \
		${STAGEDIR}${PREFIX}/lib/xemacs-${XEMACS_VER}/info
.  if ${L10N} == ja
	${MKDIR} ${STAGEDIR}${PREFIX}/man/ja/man1
	${INSTALL_MAN} ${WRKSRC}/etc/xemacs-ja.1 \
		${STAGEDIR}${PREFIX}/man/ja/man1/xemacs.1
	${MKDIR} ${STAGEDIR}${PREFIX}/lib/xemacs/mule-packages/etc/app-defaults
	${LN} -sf ja \
		${STAGEDIR}${PREFIX}/lib/xemacs/mule-packages/etc/app-defaults/${LOCALE}
.  endif
.endif

.include <bsd.port.post.mk>
