freebsd-ports/editors/mule/Makefile
Satoshi Taoka fb4902d214 Updated for the change of the following (1) and (2):
(1) {chinese,korean,japanese}/Wnn (Wnn 4.2) was updated as follows:

  (a) Its name was changed from Wnn to FreeWnn because Wnn6 which is a
      commercial software exits
  (b) Its license was changed to GPL.
  (c) The method to configure was changed from imake to GNU configure.
  (d) Relatively to the original Wnn, the Wnn in the ports tree were
      modified by me a lot. Most of the modifications were adopted
      into FreeWnn.
  (c) Header and library files are installed into
      ${LOCALBASE}/{lib,include} instead of ${X11BASE}/{lib,include}.

(2) FreeWnn is divided into two ports FreeWnn-lib and FreeWnn-server
in chinese, korean and japanese categories. The former is for libwnn
and header files to compile client commands, and the files used in
client commands.  The latter is for a server to convert KANA to KANJI
(Chinese character), and dictionaries and files used by the server.

Notice: I forgot to commit editors/mule*, too (^_^;;
2000-09-17 15:29:20 +00:00

175 lines
6.3 KiB
Makefile

# New ports collection makefile for: mule
# Date created: 6 July 1997
# Whom: Satoshi Taoka <taoka@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= mule
PORTVERSION= ${MULE_VERSION}
CATEGORIES+= editors
MASTER_SITES= ftp://etlport.etl.go.jp/pub/mule/ \
ftp://ftp.mei.co.jp/archive/free/gnu/emacs/Mule/ \
ftp://ftp.iij.ad.jp/pub/misc/mule/ \
http://www.infonets.hiroshima-u.ac.jp/~taoka/FreeBSD/mule/
DISTFILES= emacs-${EMACS_VERSION}b${EXTRACT_SUFX} \
mule-${MULE_VERSION}-${EMACS_VERSION}.patch-981002.tar.gz
PATCH_SITES= ftp://etlport.etl.go.jp/pub/mule/
PATCHFILES= mule-${MULE_VERSION:S/.//}-${EMACS_VERSION:S/.//}-alpha01.diff.gz
PATCH_DIST_STRIP= -p1
MAINTAINER?= taoka@FreeBSD.org
RUN_DEPENDS= ${PREFIX}/share/${EMACS_PREFIX}/${EMACS_VERSION}/lisp/mule.el:${PORTSDIR}/editors/mule-common
LIB_DEPENDS= ${LIB_INPUT_METHOD}
BUILD_DEPENDS= ${BUILD_INPUT_METHOD}
MULE_VERSION= 2.3
EMACS_VERSION= 19.34
SLAVEDIRS= chinese/mule-freewnn
USE_XLIB= yes
EXTRACT_ONLY= emacs-${EMACS_VERSION}b${EXTRACT_SUFX}
WRKSRC= ${WRKDIR}/emacs-${EMACS_VERSION}
PATCHDIR= ${.CURDIR}/../../editors/mule-common/patches
FILESDIR= ${.CURDIR}/../../editors/mule-common/files
SCRIPTDIR= ${.CURDIR}/../../editors/mule-common/scripts
PLIST= ${.CURDIR}/../../editors/mule/pkg/PLIST
INSTALL_COOKIE= ${WRKDIR}/.install_done-${PKGNAME}
PACKAGE_COOKIE= ${WRKDIR}/.package_done-${PKGNAME}
GNU_CONFIGURE= yes
USE_GMAKE= yes
MAKE_ENV= LIBDIR="${LIBDIR}"
# /usr/bin/sed should be used because configure script includes 'Ctrl-L'
CONFIGURE_ENV= PATH=/usr/bin:$$PATH
EMACS_PREFIX= mule
EMACS_EXECUTABLE = mule
CONFIGURE_ARGS= --with-executable=${EMACS_EXECUTABLE} \
--with-emacs-prefix=${EMACS_PREFIX} \
--with-terminal-face \
--x-includes=${X11BASE}/include --x-libraries=${X11BASE}/lib \
${WITH_INPUT_METHOD} ${WITH_DIALOGS}
STRIP=
INSTALL_TARGET= install-arch-dep
.if defined(CANNA)
LIB_INPUT_METHOD+= canna.1:${PORTSDIR}/japanese/Canna
WITH_INPUT_METHOD+= --with-canna --with-canna-libraries=${PREFIX}/lib \
--with-canna-includes=${PREFIX}/include
.endif
.if defined(SJ3)
BUILD_INPUT_METHOD+=sj3serv:${PORTSDIR}/japanese/sj3
WITH_INPUT_METHOD+= --with-sj3
.endif
.if defined(FREEWNN)
LIB_INPUT_METHOD+=wnn.0:${PORTSDIR}/japanese/FreeWnn-lib
WITH_INPUT_METHOD+= --with-wnn4 --with-wnn-libraries=${LOCALBASE}/lib \
--with-wnn-includes=${LOCALBASE}/include/wnn
.elif defined(CFREEWNN)
LIB_INPUT_METHOD+=cwnn.0:${PORTSDIR}/chinese/FreeWnn-lib
WITH_INPUT_METHOD+= --with-wnn4 --with-cwnn4 --with-wnn-libraries=${LOCALBASE}/lib \
--with-wnn-includes=${LOCALBASE}/include/cwnn
.elif defined(KFREEWNN)
LIB_INPUT_METHOD+=kwnn.0:${PORTSDIR}/korean/FreeWnn-lib
WITH_INPUT_METHOD+= --with-wnn4 --with-kwnn4 --with-wnn-libraries=${LOCALBASE}/lib \
--with-wnn-includes=${LOCALBASE}/include/kwnn
.elif defined(WNN6)
LIB_INPUT_METHOD+=wnn6.1:${PORTSDIR}/japanese/Wnn6-lib
WITH_INPUT_METHOD+= --with-wnn6 --with-wnn-libraries=${LOCALBASE}/lib \
--with-wnn-includes=${LOCALBASE}/include/wnn6/wnn
.endif
COMP_ELC= egg.elc wnn-egg.elc sj3-client.elc sj3-egg.elc canna.elc
ELC_DIR= ../lisp
WITH_DIALOGS= --with-x-toolkit
SITE_START=${PREFIX}/share/${EMACS_PREFIX}/${EMACS_VERSION}/site-lisp/site-start.el
# ORIGINAL, MEW_ORG_PATCH and MEW_PATCH are used for debugging.
#
# ORIGINAL: original mule 2.3 based on emacs 19.34
# MEW_ORG_PATCH: apply mew's patches to original mule (http://www.mew.org)
# MEW_PATCH: apply mew's patch after apply Mr. Katayama's patches
post-extract:
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/mule-${MULE_VERSION}-${EMACS_VERSION}.patch-981002.tar.gz ${EXTRACT_AFTER_ARGS} -C ${WRKDIR}
${CP} ${FILESDIR}/unexfreebsd.c ${WRKSRC}/src
.if !defined(ORIGINAL) && !defined(MEW_ORG_PATCH)
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${WRKDIR}/takana-${EMACS_VERSION}.tar.gz ${EXTRACT_AFTER_ARGS} -C ${WRKDIR}
${MKDIR} ${WRKSRC}/lisp/its
${CP} ${WRKDIR}/lisp/its/* ${WRKSRC}/lisp/its/
.endif
.if !defined(ORIGINAL)
post-patch:
.if !defined(MEW_ORG_PATCH)
cd ${WRKSRC}; ${PATCH} --forward --quiet -E -p0 < ${WRKDIR}/patch-${EMACS_VERSION}
cd ${WRKSRC}; ${PATCH} --forward --quiet -E -p0 < ${WRKDIR}/Mule-${MULE_VERSION}-${EMACS_VERSION}.patch
cd ${WRKSRC}; ${PATCH} --forward --quiet -E -p0 < ${WRKDIR}/extra.patch
.if defined(MEW_PATCH)
cd ${WRKSRC}/lisp; ${PATCH} --forward --quiet -E -p0 < ${WRKDIR}/mew/egg.el-${EMACS_VERSION}.patch-for_katayama
.endif
.else
cd ${WRKSRC}/lisp; ${PATCH} --forward --quiet -E -p0 < ${WRKDIR}/mew/egg.el-${EMACS_VERSION}.patch
.endif
.if defined(MEW_PATCH) || defined(MEW_ORG_PATCH)
cd ${WRKSRC}/lisp; ${PATCH} --forward --quiet -E -p0 < ${WRKDIR}/mew/canna.el-${EMACS_VERSION}.patch
cd ${WRKSRC}/lisp; ${PATCH} --forward --quiet -E -p0 < ${WRKDIR}/mew/sj3-egg.el.patch
.endif
.endif
pre-build:
find ${WRKSRC} \( -name \*.orig -o -name \*~ \) -exec ${RM} -f \{} \;
${RM} -f ${WRKSRC}/etc/DOC* ${WRKSRC}/src/emacs ${WRKSRC}/src/emacs-${EMACS_VERSION}.*
post-build:
# bytecompile elisps for Japanese input method
for file in ${COMP_ELC}; do \
target="$$target ${ELC_DIR}/$$file"; \
done; \
cd ${WRKSRC}/src; \
./temacs -batch -l mule-inst.el $$target
# If site-start.el exists, you should run below when you install by
# this port
pre-install:
@if [ -f ${SITE_START} ]; then \
${MV} ${SITE_START} ${SITE_START}.orig ; \
${SED} -e '/;; BEGIN mule-family/,/;; END mule-family/d' \
${SITE_START}.orig > ${SITE_START}; \
fi
post-install:
strip ${PREFIX}/bin/${EMACS_EXECUTABLE}-${EMACS_VERSION}
# for freewnn+sj3 or wnn6+sj3
@if [ -e ${PKGDIR}/INSTALL ]; then \
${SH} ${PKGDIR}/INSTALL ${PKGNAME} POST-INSTALL; \
fi
# Installing site-start.el
# (we redefun set-korean-environment etc)
.if defined(CFREEWNN)
${SED} -e 's/;;\(.*\);;CHINESE$$/\1;;CHINESE/' \
-e 's/;;\(.*\);;not KOREAN$$/\1;;not KOREAN/' \
-e 's,%%X11BASE%%,${X11BASE},' \
-e 's,%%LOCALBASE%%,${LOCALBASE},' \
${FILESDIR}/site-start.el.tmpl >> ${SITE_START}
.elif defined(KFREEWNN)
${SED} -e 's/;;\(.*\);;KOREAN$$/\1;;KOREAN/' \
-e 's,%%X11BASE%%,${X11BASE},' \
-e 's,%%LOCALBASE%%,${LOCALBASE},' \
${FILESDIR}/site-start.el.tmpl >> ${SITE_START}
.else
${SED} -e 's/;;\(.*\);;not KOREAN$$/\1;;not KOREAN/' \
-e 's,%%X11BASE%%,${X11BASE},' \
-e 's,%%LOCALBASE%%,${LOCALBASE},' \
${FILESDIR}/site-start.el.tmpl >> ${SITE_START}
.endif
@${TOUCH} ${TOUCH_FLAGS} ${INSTALL_COOKIE}
post-package:
@${TOUCH} ${TOUCH_FLAGS} ${PACKAGE_COOKIE}
.include <bsd.port.mk>