# New ports collection makefile for: Mew (common)
# Version required:	1.93
# Date created:		21 November 1997
# Whom:			Kiriyama Kazuhiko <kiri@kiri.toba-cmt.ac.jp>
#
# $Id: Makefile,v 1.4 1998/11/05 14:31:07 kuriyama Exp $
#

DISTNAME=	mew-1.93
PKGNAME?=	mew-common-1.93
CATEGORIES=	mail
MASTER_SITES=	ftp://ftp.mew.org/pub/Mew/ \
		ftp://ftp.kyushu-u.ac.jp/pub/Misc/mew/ \
		ftp://ports.jp.freebsd.org/pub/FreeBSD-jp/ports-jp/LOCAL_PORTS/

MAINTAINER=	kiri@kiri.toba-cmt.ac.jp

RESTRICTED=	"USA ITAR export restrictions (has PGP hooks)"

PATCHDIR=	${.CURDIR}/../../mail/mew-common/patches
FILESDIR=	${.CURDIR}/../../mail/mew-common/files
SCRIPTDIR=	${.CURDIR}/../../mail/mew-common/scripts

.if !defined(EMACS_NAME)
COMMON=		yes
COMMON_PHASE=	"COMMON=${COMMON}"
RUN_DEPENDS=	imali:${PORTSDIR}/mail/im
.else
ELISP=		yes
ELISP_PHASE=	"ELISP=${ELISP}"
RUN_DEPENDS=	${PREFIX}/bin/mewcat:${PORTSDIR}/mail/mew-common
.endif

PKGRDIR=	${.CURDIR}/../../mail/mew-common/pkg
WRKRDIR=	${.CURDIR}/../../mail/mew-common/work
EXTRACTR_COOKIE=${WRKRDIR}/.extract_done
PATCHR_COOKIE=	${WRKRDIR}/.patch_done
CONFIGURER_COOKIE=${WRKRDIR}/.configure_done
WRKRSRC=	${WRKRDIR}/${DISTNAME}
PATCH_ARGS=	-d ${WRKRSRC} --forward --quiet -E ${PATCH_STRIP}
.if exists(${WRKRDIR}/.patch_done)
WRKDIR_EXIST=	yes
.endif
.if defined(COMMON)
.if !defined(WRKDIR_EXIST)
BROKEN=		You should build one of the other Mew ports first
.endif
.endif
SCRIPTS_ENV=	AWK=${AWK} CP=${CP} CAT=${CAT} 	ECHO=${ECHO} GREP=${GREP} \
		MKDIR="${MKDIR}" MV=${MV} SED=${SED} TOUCH=${TOUCH} \
		INFODIR=${INFODIR} EMACSDIR=${EMACSDIR} ELISPDIR=${ELISPDIR} \
		SAMPLEDIR=${SAMPLEDIR} \
		INFOFILE="${INFOFILE}" TMPL_FILES="${TMPL_FILES}" \
		DIRENTRY='${DIRENTRY}' DIRSECTION="${DIRSECTION}" VERSION=${VERSION} \
		EMACS_NAME="${EMACS_NAME}" EMACSCMD=${EMACSCMD}

MAKE_ENV=	EMACSCMD=${EMACSCMD} ELISPDIR=${ELISPDIR}/mew \
		MKDIR="${MKDIR}" INSTALL_SCRIPT="${INSTALL_SCRIPT}" PERL=${PERL5} \
		INSTALL_DATA="${INSTALL_DATA}" \
		${COMMON_PHASE} ${ELISP_PHASE}

VERSION=	1.93
DIRSECTION?=	The Emacs editor and associated tools
TMPL_FILES=	user-install MESSAGE INSTALL DEINSTALL mew-1.93.el
.if defined(EMACS_NAME)
ELISPDIR=	${EMACSDIR}/site-lisp
INFODIR=	${EMACSDIR}/info
SAMPLEDIR=	${PREFIX}/share/examples/mew/${EMACS_NAME}
SAMPLEBASE=	share/examples/mew
SAMPLEFILES=	Aliases
SAMPLEDOTEMACS=	dot.emacs.el
.else
PORTDOCDIR=	${PREFIX}/share/doc/mew
PORTDOCS=	00changes 00copyright 00copyright.jis 00diff 00readme
.endif
EMACS_NAME?=
.if (${EMACS_NAME} == "Emacs-19.34b")
EMACSCMD=	emacs-19.34
EMACSEL=	mew-mule2.el
EMACSDIR=	${PREFIX}/share/emacs/19.34
BUILD_DEPENDS=	emacs-19.34:${PORTSDIR}/editors/emacs
EMACS_MULE=
.endif
.if (${EMACS_NAME} == "Emacs-20.3")
EMACSCMD=	emacs-20.3
EMACSEL=	mew-mule2.el
EMACSDIR=	${PREFIX}/share/emacs/20.3
BUILD_DEPENDS=	emacs-20.3:${PORTSDIR}/editors/emacs20
EMACS_MULE=
.endif
.if (${EMACS_NAME} == "Mule-2.3")
EMACSCMD=	mule-19.34
EMACSEL=	mew-mule2.el
EMACSDIR=	${PREFIX}/share/mule/19.34
BUILD_DEPENDS=	mule-19.34:${PORTSDIR}/editors/mule
EMACS_MULE=
.endif
.if (${EMACS_NAME} == "XEmacs-19.16")
EMACSCMD=	xemacs-19.16
EMACSEL=	mew-mule3.el
EMACSDIR=	${PREFIX}/lib/xemacs-19.16
BUILD_DEPENDS=	xemacs-19.16:${PORTSDIR}/editors/xemacs
XEMACS=
.endif
.if (${EMACS_NAME} == "XEmacs-20.4")
EMACSCMD=	xemacs-20.4
EMACSEL=	mew-mule3.el
EMACSDIR=	${PREFIX}/lib/xemacs-20.4
BUILD_DEPENDS=	xemacs-20.4:${PORTSDIR}/editors/xemacs20
XEMACS=
.endif
.if (${EMACS_NAME} == "XEmacs-Mule-20.4")
EMACSCMD=	xemacs-20.4
EMACSEL=	mew-mule3.el
EMACSDIR=	${PREFIX}/lib/xemacs-20.4
BUILD_DEPENDS=	xemacs-20.4:${PORTSDIR}/editors/xemacs-mule
XEMACS=
.endif

.if defined(EMACS_MULE)
PLIST=		${PKGRDIR}/PLIST-Emacs
.elif defined(XEMACS)
PLIST=		${PKGRDIR}/PLIST-XEmacs
.endif
PLIST_SUB=	ELISPDIR=${ELISPDIR:S@^${PREFIX}/@@} \
		MEWETCDIR=${EMACSDIR:S@^${PREFIX}/@@}/etc/mew \
		MEWINFODIR=${INFODIR:S@^${PREFIX}/@@} \
		MEWSAMPLEDIR=${SAMPLEDIR:S@^${PREFIX}/@@} \
		MEWSAMPLEBASE=${SAMPLEBASE}

.if defined(ELISP)
do-extract:
	@${MKDIR} ${WRKSRC}
.if !defined(WRKDIR_EXIST)
	@${MKDIR} ${WRKRDIR}
	@cd ${WRKRDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \
			${DISTDIR}/${DISTFILES} ${EXTRACT_AFTER_ARGS}
	@${TOUCH} ${TOUCH_FLAGS} ${EXTRACTR_COOKIE}
.else
	@lndir -silent ${WRKRSRC} ${WRKSRC}
	@${TOUCH} ${TOUCH_FLAGS} ${PATCH_COOKIE}
.endif

.if !defined(WRKDIR_EXIST)
do-patch:
	@if [ "`echo ${PATCHDIR}/patch-*`" = "${PATCHDIR}/patch-*" ]; then \
	    ${ECHO_MSG} "===>   Ignoring empty patch directory"; \
	    if [ -d ${PATCHDIR}/CVS ]; then \
		${ECHO_MSG} "===>   Perhaps you forgot the -P flag to cvs co or update?"; \
	    fi; \
	else \
	    ${ECHO_MSG} "===>  Applying ${OPSYS} patches for ${PKGNAME}" ; \
	    for i in ${PATCHDIR}/patch-*; do \
		case $$i in \
		    *.orig|*.rej|*~) \
			${ECHO_MSG} "===>   Ignoring patchfile $$i" ; \
			;; \
		    *) \
			if [ ${PATCH_DEBUG_TMP} = yes ]; then \
			    ${ECHO_MSG} "===>   Applying ${OPSYS} patch $$i" ; \
			fi; \
			${PATCH} ${PATCH_ARGS} < $$i; \
			;; \
		esac; \
	    done; \
	fi

post-patch:
	@${MKDIR} ${WRKSRC}
	@lndir -silent ${WRKRSRC} ${WRKSRC}
	@${TOUCH} ${TOUCH_FLAGS} ${PATCHR_COOKIE}
.else
do-patch:
.endif
.else
do-configure:
.endif

.if defined(ELISP)
post-configure:
	@${MKDIR} ${WRKDIR}/files
	@cd ${FILESDIR}; \
	${CP} MESSAGE INSTALL DEINSTALL ${PKGDIR}; \
	${CP} mew-1.93.el user-install ${SAMPLEFILES} ${SAMPLEDOTEMACS} ${WRKDIR}/files
.if !defined(WRKDIR_EXIST)
	@${TOUCH} ${TOUCH_FLAGS} ${CONFIGURER_COOKIE}
.endif

pre-install:
	@${MKDIR} ${ELISPDIR} ${INFODIR}
.if defined(XEMACS)
	@${MKDIR} ${EMACSDIR}/etc/mew/etc
.endif
.endif

post-install:
.if defined(COMMON)
	@cd ${WRKSRC}/info; \
	if [ ! -f ${PREFIX}/info/mew.info ]; then \
		${INSTALL_DATA} mew.info* ${PREFIX}/info; \
	fi
.endif
.if defined(ELISP)
	@cd ${WRKSRC}/info; \
	${INSTALL_DATA} mew.jis.info* ${INFODIR}; \
	for f in mew.info* ; do \
		${LN} -sf ${PREFIX}/info/$${f} ${INFODIR}/$${f}; \
	done
	@${INSTALL_DATA} ${WRKDIR}/files/mew-1.93.el ${ELISPDIR}
.endif
.if !defined(NOPORTDOCS)
.if defined(COMMON)
	@${MKDIR} ${PORTDOCDIR}/contrib
	@cd ${WRKSRC}; \
	${INSTALL_DATA} info/*.texi ${PORTDOCS} ${PORTDOCDIR}; \
	${INSTALL_DATA} contrib/* ${PORTDOCDIR}/contrib
.endif
.if defined(ELISP)
	@${MKDIR} ${SAMPLEDIR}/dot.emacs
	@cd ${WRKDIR}/files; \
	${INSTALL_DATA} ${SAMPLEFILES} ${SAMPLEDIR}; \
	${INSTALL_DATA} ${SAMPLEDOTEMACS} ${SAMPLEDIR}/dot.emacs; \
	${INSTALL_SCRIPT} user-install ${SAMPLEDIR}
.endif
.endif
.if defined(XEMACS)
	@cd ${WRKSRC}; \
	${INSTALL_DATA} etc/*.xpm ${EMACSDIR}/etc/mew; \
	${INSTALL_DATA} etc/etc/COLOR etc/etc/*.xpm ${EMACSDIR}/etc/mew/etc
.endif
.if defined(ELISP)
	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGDIR}/INSTALL ${PKGNAME} POST-INSTALL
	@${CAT} ${PKGDIR}/MESSAGE
.endif

pre-clean:
	@cd ${FILESDIR}; ${RM} -f ${TMPL_FILES}
	@cd ${PKGDIR}; ${RM} -f INSTALL DEINSTALL

.include <bsd.port.mk>
