pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mk Enable buildlink3.mk for EmacsLisp package build.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/2f781a86928c
branches:  trunk
changeset: 534682:2f781a86928c
user:      uebayasi <uebayasi%pkgsrc.org@localhost>
date:      Mon Oct 29 12:52:36 2007 +0000

description:
Enable buildlink3.mk for EmacsLisp package build.

This works very straightfoward; create set of symbolic links of *.el / *.elc
files under ${BUILDLINK_DIR}/share/emacs.  At configure and build stage,
emacs / xemacs binaries run with the EMACSLOADPATH pointed to there.  This
should work because those EmacsLisp packages assume the Emacs / XEmacs program
running at build time and that running after installation are identical and
the task looking for other *.el / *.elc files is Emacs / XEmacs's business.

I have tested only Emacs 21 and Emacs 22.  XEmacs should work ... at least
XEmacs supports EMACSLOADPATH too if grep worked correctly.

While here change the following:

* Provide {FOR,NOTFOR}_emacs_{x,nox} switches to be used in PLIST.

* Add the xemacs214nox entry.

* Clean up "leim" handling code; avoid .if ... .endif as far as possible.

diffstat:

 mk/emacs.mk |  62 ++++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 51 insertions(+), 11 deletions(-)

diffs (114 lines):

diff -r 518fd09a8789 -r 2f781a86928c mk/emacs.mk
--- a/mk/emacs.mk       Mon Oct 29 12:44:56 2007 +0000
+++ b/mk/emacs.mk       Mon Oct 29 12:52:36 2007 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: emacs.mk,v 1.42 2007/08/08 08:12:12 dsainty Exp $
+# $NetBSD: emacs.mk,v 1.43 2007/10/29 12:52:36 uebayasi Exp $
 #
 # This Makefile fragment handles Emacs Lisp Packages (== ELPs).
 #
@@ -173,6 +173,12 @@
 #              Possible values:
 #                      "", "@comment"
 #
+#      FOR_emacs_{x,nox},NOTFOR_emacs_{x,nox}
+#              Description:
+#                      PLIST switches for X11 / non-X11.
+#              Possible values:
+#                      "", "@comment"
+#
 
 .if !defined(EMACS_MK)
 EMACS_MK=      # defined
@@ -194,7 +200,7 @@
 #
 
 _EMACS_VERSIONS_ALL= \
-       emacs20 emacs21 emacs21nox emacs22 emacs22nox xemacs214 xemacs215
+       emacs20 emacs21 emacs21nox emacs22 emacs22nox xemacs214 xemacs214nox xemacs215
 _EMACS_VERSIONS_ACCEPTED_DEFAULT=      ${_EMACS_VERSIONS_ALL}
 _EMACS_VERSION_DEFAULT.emacs=  emacs21
 _EMACS_VERSION_DEFAULT.xemacs= xemacs214
@@ -203,15 +209,38 @@
 _EMACS_REQD.emacs21nox=        emacs-nox11>=21.2<22
 _EMACS_REQD.emacs22=   emacs>=22
 _EMACS_REQD.emacs22nox=        emacs-nox11>=22
-_EMACS_REQD.xemacs214= xemacs>=21.4<22
-_EMACS_REQD.xemacs215= xemacs>=21.5<22
+_EMACS_REQD.xemacs214= xemacs>=21.4<21.5
+_EMACS_REQD.xemacs214nox=      xemacs-nox>=21.4<21.5
+_EMACS_REQD.xemacs215= xemacs>=21.5<21.6
+_LEIM_REQD.emacs20=    leim>=20.${EMACS_VERSION_MINOR}<21
+_LEIM_REQD.emacs20nox= ${_LEIM_REQD.emacs20}
+_LEIM_REQD.emacs21=    leim>=21.${EMACS_VERSION_MINOR}<22
+_LEIM_REQD.emacs21nox= ${_LEIM_REQD.emacs21}
+_LEIM_REQD.emacs22=    # nothing
+_LEIM_REQD.emacs22nox= ${_LEIM_REQD.emacs22}
 _EMACS_DEP.emacs20=    ../../editors/emacs20
 _EMACS_DEP.emacs21=    ../../editors/emacs21
 _EMACS_DEP.emacs21nox= ../../editors/emacs21-nox11
 _EMACS_DEP.emacs22=    ../../editors/emacs
 _EMACS_DEP.emacs22nox= ../../editors/emacs-nox11
 _EMACS_DEP.xemacs214=  ../../editors/xemacs
+_EMACS_DEP.xemacs214nox=../../editors/xemacs-nox11
 _EMACS_DEP.xemacs215=  ../../editors/xemacs-current
+_LEIM_DEP.emacs20=     ../../editors/leim20
+_LEIM_DEP.emacs20nox=  ${_LEIM_DEP.emacs20}
+_LEIM_DEP.emacs21=     ../../editors/leim21
+_LEIM_DEP.emacs21nox=  ${_LEIM_DEP.emacs21}
+_LEIM_DEP.emacs22=
+_LEIM_DEP.emacs20nox=  ${_LEIM_DEP.emacs22}
+
+_EMACS_BLNK.emacs20=   ../../editors/emacs20/buildlink3.mk
+_EMACS_BLNK.emacs21=   ../../editors/emacs21/buildlink3.mk
+_EMACS_BLNK.emacs21nox=        ../../editors/emacs21-nox11/buildlink3.mk
+_EMACS_BLNK.emacs22=   ../../editors/emacs/buildlink3.mk
+_EMACS_BLNK.emacs22nox=        ../../editors/emacs-nox11/buildlink3.mk
+_EMACS_BLNK.xemacs214= ../../editors/xemacs/buildlink3.mk
+_EMACS_BLNK.xemacs214nox=      ../../editors/xemacs-nox11/buildlink3.mk
+_EMACS_BLNK.xemacs215= ../../editors/xemacs-current/buildlink3.mk
 
 #
 # Version decision
@@ -315,6 +344,11 @@
 PLIST_SUBST+=  FOR_${e}="@comment " NOTFOR_${e}=""
 .  endif
 .endfor
+.if empty(EMACS_TYPE:*nox)
+PLIST_SUBST+=  FOR_emacs_x="" NOTFOR_emacs_nox="@comment " FOR_emacs_nox="@comment " NOTFOR_emacs_nox="" 
+.else
+PLIST_SUBST+=  FOR_emacs_x="@comment " NOTFOR_emacs_nox="" FOR_emacs_nox="" NOTFOR_emacs_nox="@comment " 
+.endif
 
 PLIST_SUBST+=  EMACS_FLAVOR=${EMACS_FLAVOR:Q}
 PLIST_SUBST+=  EMACS_VERSION=${_EMACS_VERSION_NOREV:Q}
@@ -337,16 +371,22 @@
 .endif
 
 # "leim" - input methods for international character sets
-.if !empty(_EMACS_TYPE:Mxemacs*) || !empty(_EMACS_TYPE:Memacs20*)
-_EMACS_PKGDEP.${_EMACS_TYPE},leim?=    leim>=20.7:../../editors/leim20
-.elif !empty(_EMACS_TYPE:Mxemacs*) || !empty(_EMACS_TYPE:Memacs21*)
-_EMACS_PKGDEP.${_EMACS_TYPE},leim?=    leim>=21.2:../../editors/leim
-.elif !empty(_EMACS_TYPE:Mxemacs*) || !empty(_EMACS_TYPE:Memacs22*)
-_EMACS_PKGDEP.${_EMACS_TYPE},leim?=    # nothing
-.endif
+_EMACS_PKGDEP.${_EMACS_TYPE},leim=     \
+               ${_LEIM_REQD.${_EMACS_TYPE}}:${_LEIM_DEP.${_EMACS_TYPE}}
 
 .for _mod_ in ${EMACS_MODULES}
+.if ${_EMACS_PKGDEP.${_EMACS_TYPE},${_mod_}} != ":"
 DEPENDS+=      ${_EMACS_PKGDEP.${_EMACS_TYPE},${_mod_}}
+.endif
 .endfor
 
+#
+# Build environment (buildlink3)
+#
+
+_EMACS_DIR=    ${BUILDLINK_DIR}/share/emacs
+ALL_ENV+=      EMACSLOADPATH=${_EMACS_DIR}/${_EMACS_VERSION_NOREV}/lisp:${_EMACS_DIR}/site-lisp
+
+.include       "${_EMACS_BLNK.${_EMACS_TYPE}}"
+
 .endif # EMACS_MK



Home | Main Index | Thread Index | Old Index