Subject: A (dirty) elisp pkgsrc prototype
To: None <tech-pkg@netbsd.org>
From: Masao Uebayashi <uebayasi@soum.co.jp>
List: tech-pkg
Date: 06/11/2001 17:39:41
Hello,

I've made a small elisp pkgsrc. This is not good, but may be a start
point of more portable/general elisp pkgsrc.

This pkgsrc is based on the idea that *.el files are sharable among
emacsen and *.elc files are machine/version dependent. I'm not very
sure about these, so please correct if I'm wrong.

Assuming the above, we can install elisp packages as 1) compile *.el
with appropriate emacs, 2) install (simply put) *.el into
  ${LOCALBASE}/share/emacs/site-lisp/...
and *.elc into
  ${LOCALBASE}/share/emacs/20.7/site-lisp/...
and 3) modify *.el for search path. (newer emacsed doen't need this.)

I've not considered about XEmacs-*.

Regards,
Masao


# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	em20-apel
#	em20-apel/Makefile
#	em20-apel/pkg
#	em20-apel/pkg/PLIST
#	em20-apel/pkg/DESCR
#	em20-apel/distinfo
#
echo c - em20-apel
mkdir -p em20-apel > /dev/null 2>&1
echo x - em20-apel/Makefile
sed 's/^X//' >em20-apel/Makefile << 'END-of-em20-apel/Makefile'
X# $NetBSD$
X#
X
XDISTNAME=	apel-10.3
XPKGNAME=	em20-apel-10.3
XCATEGORIES=	editors
XMASTER_SITES=	ftp://ftp.m17n.org/pub/mule/apel/
X
XMAINTAINER=	Masao Uebayashi <uebayasi@soum.co.jp>
XHOMEPAGE=	http://www.m17n.org/apel/
XCOMMENT=	APEL means "A Portable Emacs Library"
X
XDEPENDS=	emacs>20:../../editors/emacs
X
XEMACS=	${LOCALBASE}/bin/emacs-20.7
XELISPDIR_VERSION=	${LOCALBASE}/share/emacs/20.7/site-lisp
XELISPDIR_SHARE=	${LOCALBASE}/share/emacs/site-lisp
X
XELISPFILES=	${ELISPFILES_EMU} ${ELISPFILES_APEL}
X# emu/*
XELISPFILES_EMU=\
X	static broken product apel-ver pym\
X	poe pcustom pccl-20 pccl pces-20\
X	pces-e20 pces poem-e20_3 poem-e20 poem\
X	mcs-20 mcs-e20 mcharset inv-19 invisible\
X	emu richtext mule-caesar
X# apel/*
XELISPFILES_APEL=\
X	alist calist path-util filename install
X
X# creating *.elc
Xdo-build:
X	@{ cd ${WRKSRC}; ${MAKE} EMACS=${EMACS} elc; }
X
X# we put all files manually for now
Xdo-install:
X	for d in emu apel; do\
X		${MKDIR} ${ELISPDIR_VERSION}/$${d};\
X		${MKDIR} ${ELISPDIR_SHARE}/$${d};\
X	done
X	for e in ${ELISPFILES_EMU}; do\
X		${INSTALL_DATA} ${WRKSRC}/$${e}.el ${ELISPDIR_SHARE}/emu/$${e}.el;\
X	done
X	for e in ${ELISPFILES_APEL}; do\
X		${INSTALL_DATA} ${WRKSRC}/$${e}.el ${ELISPDIR_SHARE}/apel/$${e}.el;\
X	done
X	for e in ${ELISPFILES_EMU}; do\
X		${INSTALL_DATA} ${WRKSRC}/$${e}.elc ${ELISPDIR_VERSION}/emu/$${e}.elc;\
X	done
X	for e in ${ELISPFILES_APEL}; do\
X		${INSTALL_DATA} ${WRKSRC}/$${e}.elc ${ELISPDIR_VERSION}/apel/$${e}.elc;\
X	done
X
X.include "../../mk/bsd.pkg.mk"
END-of-em20-apel/Makefile
echo c - em20-apel/pkg
mkdir -p em20-apel/pkg > /dev/null 2>&1
echo x - em20-apel/pkg/PLIST
sed 's/^X//' >em20-apel/pkg/PLIST << 'END-of-em20-apel/pkg/PLIST'
X@comment $NetBSD$
Xshare/emacs/site-lisp/emu/static.el
Xshare/emacs/site-lisp/emu/broken.el
Xshare/emacs/site-lisp/emu/product.el
Xshare/emacs/site-lisp/emu/apel-ver.el
Xshare/emacs/site-lisp/emu/pym.el
Xshare/emacs/site-lisp/emu/poe.el
Xshare/emacs/site-lisp/emu/pcustom.el
Xshare/emacs/site-lisp/emu/pccl-20.el
Xshare/emacs/site-lisp/emu/pccl.el
Xshare/emacs/site-lisp/emu/pces-20.el
Xshare/emacs/site-lisp/emu/pces-e20.el
Xshare/emacs/site-lisp/emu/pces.el
Xshare/emacs/site-lisp/emu/poem-e20_3.el
Xshare/emacs/site-lisp/emu/poem-e20.el
Xshare/emacs/site-lisp/emu/poem.el
Xshare/emacs/site-lisp/emu/mcs-20.el
Xshare/emacs/site-lisp/emu/mcs-e20.el
Xshare/emacs/site-lisp/emu/mcharset.el
Xshare/emacs/site-lisp/emu/inv-19.el
Xshare/emacs/site-lisp/emu/invisible.el
Xshare/emacs/site-lisp/emu/emu.el
Xshare/emacs/site-lisp/emu/richtext.el
Xshare/emacs/site-lisp/emu/mule-caesar.el
Xshare/emacs/site-lisp/apel/alist.el
Xshare/emacs/site-lisp/apel/calist.el
Xshare/emacs/site-lisp/apel/path-util.el
Xshare/emacs/site-lisp/apel/filename.el
Xshare/emacs/site-lisp/apel/install.el
Xshare/emacs/20.7/site-lisp/emu/static.elc
Xshare/emacs/20.7/site-lisp/emu/broken.elc
Xshare/emacs/20.7/site-lisp/emu/product.elc
Xshare/emacs/20.7/site-lisp/emu/apel-ver.elc
Xshare/emacs/20.7/site-lisp/emu/pym.elc
Xshare/emacs/20.7/site-lisp/emu/poe.elc
Xshare/emacs/20.7/site-lisp/emu/pcustom.elc
Xshare/emacs/20.7/site-lisp/emu/pccl-20.elc
Xshare/emacs/20.7/site-lisp/emu/pccl.elc
Xshare/emacs/20.7/site-lisp/emu/pces-20.elc
Xshare/emacs/20.7/site-lisp/emu/pces-e20.elc
Xshare/emacs/20.7/site-lisp/emu/pces.elc
Xshare/emacs/20.7/site-lisp/emu/poem-e20_3.elc
Xshare/emacs/20.7/site-lisp/emu/poem-e20.elc
Xshare/emacs/20.7/site-lisp/emu/poem.elc
Xshare/emacs/20.7/site-lisp/emu/mcs-20.elc
Xshare/emacs/20.7/site-lisp/emu/mcs-e20.elc
Xshare/emacs/20.7/site-lisp/emu/mcharset.elc
Xshare/emacs/20.7/site-lisp/emu/inv-19.elc
Xshare/emacs/20.7/site-lisp/emu/invisible.elc
Xshare/emacs/20.7/site-lisp/emu/emu.elc
Xshare/emacs/20.7/site-lisp/emu/richtext.elc
Xshare/emacs/20.7/site-lisp/emu/mule-caesar.elc
Xshare/emacs/20.7/site-lisp/apel/alist.elc
Xshare/emacs/20.7/site-lisp/apel/calist.elc
Xshare/emacs/20.7/site-lisp/apel/path-util.elc
Xshare/emacs/20.7/site-lisp/apel/filename.elc
Xshare/emacs/20.7/site-lisp/apel/install.elc
X@dirrm share/emacs/site-lisp/emu
X@dirrm share/emacs/site-lisp/apel
X@dirrm share/emacs/20.7/site-lisp/emu
X@dirrm share/emacs/20.7/site-lisp/apel
END-of-em20-apel/pkg/PLIST
echo x - em20-apel/pkg/DESCR
sed 's/^X//' >em20-apel/pkg/DESCR << 'END-of-em20-apel/pkg/DESCR'
XAPEL stands for "A Portable Emacs Library".
END-of-em20-apel/pkg/DESCR
echo x - em20-apel/distinfo
sed 's/^X//' >em20-apel/distinfo << 'END-of-em20-apel/distinfo'
X$NetBSD$
X
XSHA1 (apel-10.3.tar.gz) = c910bfdf2a62317c35514a847e63266e8e5d1ca6
XSize (apel-10.3.tar.gz) = 115847 bytes
END-of-em20-apel/distinfo
exit