freebsd-ports/editors/semi/Makefile
Mark Linimon b09666fc1e - Fix possibility of "infinite make fork" when "Registering install for ..."
EMACS ports.  [1]

 - Allow building a port as root using an NFS-mounted /usr/ports if the
   server maps root to a UID other than root. [2]

 - Make 'BROKEN' and 'IGNORED' ports exit their "make install" with a fail
   status rather than success. [3]

 - Improve behavior when dealing with versioned dependencies. [4]

 - Fix false positives in check-conflicts target. [5]

 - Remove obsolete bzip2 code. [6]

 - Add physical category net-p2p. [7]

 - Don't fetch INDEXFILE if not necessary; respect FETCH_ENV. [8], [11]

 - INDEX can now be moved outside of ports tree. [9]

 - Add ghostscript-gpl. [10]

 - Remove obsolete USE_MESA. [12]

 - Force pkg_install tools from ports on FreeBSD 4.10 and older. [13]

 - Document ALWAYS_KEEP_DISTFILES. [14]

 - Remove USE_REINPLACE from bsd.port.mk USE_DOS2UNIX patch. [15]

PR:	ports/37596 [1], ports/57259 [2], ports/63216 [3],
	ports/89448 [4], ports/89710 [5], ports/88996 [6],
	ports/89260 [7], ports/89363 [8], ports/89809 [9],
	ports/89853 [10], ports/91086 [11], ports/91710 [12],
	ports/91727 [13], ports/92111 [14], ports/92124 [15]
Submitted by:	Jay Sachs <jay at eziba dot com> [1], sem [1, 3, 8, 12],
		Andrew Heybey <ath at niksun dot com> [2], Jamie Jones
		<jamie at thompson dot bishopston dot net>, tobez [4], Mark
		Andrews <Mark_Andrews at isc dot org> [5], edwin [6, 11, 15],
		pav [7, 13], Peter Jeremy <PeterJeremy at optushome dot com
		dot au> [9], Ulrich Spoerlein <q at galgenberg dot net> [10],
		netchild [11], erwin [14]
Reviewed by:	kris, clement (partially)
2006-01-28 02:11:35 +00:00

194 lines
5.4 KiB
Makefile

# New ports collection makefile for: semi-current for emacs
# Date created: 9 May 1999
# Whom: Shigeyuki FUKUSHIMA <shige@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= semi
PORTVERSION= ${SEMI_VER}
CATEGORIES= editors elisp
MASTER_SITES= ftp://ftp.m17n.org/pub/mule/semi/semi-1.14-for-flim-1.14/ \
ftp://ftp.eos.hokudai.ac.jp/pub/GNU/emacs/mule/semi/semi-1.14-for-flim-1.14/
PKGNAMESUFFIX= -${EMACS_PORT_NAME}
MAINTAINER?= ports@FreeBSD.org
COMMENT?= SEMI, Library of MIME feature for GNU Emacs for emacs21
PORTCLASS?= master
# distfile version
FLIM_TRUNK= 1.14
SEMI_TRUNK= 1.14
SEMI_VER= ${SEMI_TRUNK}.6
# document install directory by install-doc target
SEMIDOCDIR?= share/doc/semi
FLIM_COOKIE= flim-${EMACS_PORT_NAME}-${FLIM_TRUNK}.FreeBSD-packages
SEMI_COOKIE= semi-${EMACS_PORT_NAME}-${SEMI_TRUNK}.FreeBSD-packages
# semi lispdir
SEMI_LISPDIR= ${LOCALBASE}/${EMACS_VERSION_SITE_LISPDIR}
SEMI_VERSION_SPECIFIC_LISPDIR= ${LOCALBASE}/${EMACS_VERSION_SITE_LISPDIR}
.if (${PORTCLASS} == "master")
USE_EMACS= yes
EMACS_PORT_NAME= emacs21
DEPPORT_SUFFIX=
.else
DEPPORT_SUFFIX= -${EMACS_PORT_NAME}
.endif
EMACS_MASTERDIR_PKGFILES=YES
# target name for make build
ALL_TARGET?= elc
# environments
PLIST_SUB+= SEMIDOCDIR=${SEMIDOCDIR} SEMI_COOKIE=${SEMI_COOKIE}
MAKE_ARGS+= PREFIX="${LOCALBASE}" \
LISPDIR="${SEMI_LISPDIR}" \
VERSION_SPECIFIC_LISPDIR="${SEMI_VERSION_SPECIFIC_LISPDIR}"
.include <bsd.port.pre.mk>
.if defined(EMACS_PORT_NAME)
# depends on flim
BUILD_DEPENDS+= ${LOCALBASE}/share/flim/${FLIM_COOKIE}:${PORTSDIR}/editors/flim${DEPPORT_SUFFIX}
RUN_DEPENDS+= ${LOCALBASE}/share/flim/${FLIM_COOKIE}:${PORTSDIR}/editors/flim${DEPPORT_SUFFIX}
.else
.BEGIN:
@${ECHO} "Error: Bad port."
@${ECHO} "You must define EMACS_PORT_NAME."
@${FALSE}
.endif
.if !defined(BUILD_INFO_BY_EMACS) || (${BUILD_INFO_BY_EMACS} == "NO")
# info files JIS to EUC
BUILD_DEPENDS+= nkf:${PORTSDIR}/japanese/nkf
.endif
MAKEINFO= makeinfo --no-split --no-validate
MAKEINFO_EMACS= ${EMACS_CMD} -no-site-file -no-init-file -batch
MAKEINFO_EMACS_FLAGS= -e texinfo-format-buffer -f save-buffer
pre-build:
.if defined(EMACS_PACKAGESDIR) && defined(XEMACS_PKGNAME)
@${MAKE} pkg-el-copy
.endif
post-build:
.if defined(BUILD_INFO_BY_EMACS) && (${BUILD_INFO_BY_EMACS} == "YES")
@${MAKE} info-build-by-emacs
.else
@${MAKE} info-build
.endif
pre-install:
.if defined(EMACS_PACKAGESDIR) && defined(EMACS_PACKAGES_SUBDIRS)
@${MAKE} mkdir-site-packages
.endif
.if defined(EMACS_PACKAGESDIR) && defined(XEMACS_PKGNAME)
@${MAKE} pkg-el-install
.endif
post-install:
@${MKDIR} ${LOCALBASE}/share/semi
@${TOUCH} ${LOCALBASE}/share/semi/${SEMI_COOKIE}
.if defined(EMACS_PACKAGESDIR) && defined(MANIFEST)
@${MAKE} info-package-install
@${MAKE} manifest-install
.else
@${MAKE} info-install
.endif
.if !defined(NOPORTDOCS)
@${MAKE} doc-install
.endif
###############################################################################
#
# miscellaneous local functions
#
info-build:
@(cd ${WRKSRC} ; \
for i in mime-ui-en.texi; do \
${MV} $${i} $${i}.jis ; \
${CAT} $${i}.jis | nkf -e > $${i} ; \
${MAKEINFO} $${i} || ${TRUE} ; \
done)
.if defined(EMACS_HAS_MULE) && (${EMACS_HAS_MULE} == "YES")
@(cd ${WRKSRC} ; \
for i in mime-ui-ja.texi; do \
${MV} $${i} $${i}.jis ; \
${CAT} $${i}.jis | nkf -e > $${i} ; \
${MAKEINFO} $${i} || ${TRUE} ; \
done)
.endif
info-build-by-emacs:
@(cd ${WRKSRC} ; \
for i in mime-ui-en.texi; do \
${MAKEINFO_EMACS} $${i} ${MAKEINFO_EMACS_FLAGS} || ${TRUE} ; \
done)
.if defined(EMACS_HAS_MULE) && (${EMACS_HAS_MULE} == "YES")
@(cd ${WRKSRC} ; \
for i in mime-ui-ja.texi; do \
${MAKEINFO_EMACS} $${i} ${MAKEINFO_EMACS_FLAGS} || ${TRUE} ; \
done)
.endif
pkg-el-copy:
@(if [ -f ${FILESDIR}/_pkg.el ] ; then \
${CP} ${FILESDIR}/_pkg.el ${WRKSRC}/_pkg.el ;\
fi)
pkg-el-install:
@(if [ -f ${FILESDIR}/_pkg.el ] ; then \
${MKDIR} ${LOCALBASE}/${EMACS_PACKAGESDIR}/lisp/${XEMACS_PKGNAME} ;\
${INSTALL_DATA} ${FILESDIR}/_pkg.el \
${LOCALBASE}/${EMACS_PACKAGESDIR}/lisp/${XEMACS_PKGNAME}/_pkg.el ;\
fi)
mkdir-site-packages:
@(for i in ${EMACS_PACKAGES_SUBDIRS} ; do \
${MKDIR} ${LOCALBASE}/${EMACS_PACKAGESDIR}/$${i} ; \
done)
doc-install:
@${MKDIR} ${LOCALBASE}/${SEMIDOCDIR}
@(cd ${WRKSRC} ; \
for i in ChangeLog NEWS README.* TODO VERSION ; do \
${INSTALL_DATA} $${i} ${LOCALBASE}/${SEMIDOCDIR}/ ; \
done)
info-install:
@(cd ${WRKSRC} ; \
for i in mime-ui-en.info; do \
${INSTALL_DATA} ${WRKSRC}/$${i} ${LOCALBASE}/info ; \
install-info ${LOCALBASE}/info/$${i} ${LOCALBASE}/info/dir ; \
done)
.if defined(EMACS_HAS_MULE) && (${EMACS_HAS_MULE} == "YES")
@(cd ${WRKSRC} ; \
for i in mime-ui-ja.info; do \
${INSTALL_DATA} ${WRKSRC}/$${i} ${LOCALBASE}/info ; \
install-info ${LOCALBASE}/info/$${i} ${LOCALBASE}/info/dir ; \
done)
.endif
info-package-install:
@(cd ${WRKSRC} ; \
for i in mime-ui-en.info mime-ui-ja.info; do \
${INSTALL_DATA} ${WRKSRC}/$${i} \
${LOCALBASE}/${EMACS_PACKAGESDIR}/info ; \
done ; \
${MKDIR} ${LOCALBASE}/${EMACS_PACKAGESDIR}/man/semi ; \
for i in mime-ui-en.texi mime-ui-ja.texi; do \
${INSTALL_DATA} ${WRKSRC}/$${i} \
${LOCALBASE}/${EMACS_PACKAGESDIR}/man/semi ; \
done)
manifest-install:
@${RM} -f ${WRKDIR}/${MANIFEST}
@${CAT} ${PLIST} | ${GREP} -e "^%%EMACS_PACKAGESDIR%%" | \
${SED} -e "s;^%%EMACS_PACKAGESDIR%%/;;" > ${WRKDIR}/${MANIFEST}
@${INSTALL_DATA} ${WRKDIR}/${MANIFEST} \
${LOCALBASE}/${EMACS_PACKAGESDIR}/pkginfo/
.include <bsd.port.post.mk>