386マシンや68030のマシンでも、NemacsとCannaを使えば、本当に快適な環境になります。
しかし、FreeBSD2.2.Xでは、普通のパッチを使ってもNemacsのコンパイルがなかなか通りません。
そこで、FreeBSDでNemacsをコンパイル&インストールした例を説明します。
あっ、CannaはFreeBSDのpkgのCanna3.2をそのまま使います。 お試しあれ。OpenBSDの場合は、またの機会に....。
FreeBSD2.2.5に、Canna版Nemacsをインストールする方法を説明します。
Nemacs3.3.2 を用意します。それから、Canna用パッチとFreeBSD用移植パッチも用意します。
Nemacs3.3.2のソースコードが nem332.tar.gz、Canna用パッチがnemcanna.tar.gz(Nemacs-canna.patch.tar.gz)、FreeBSD用移植パッチがnem332fr.gz(Nemacs-3.3.2-freebsd-patch.gz)です。nem332.tar.gz(nemacs-3.3.2.tar.gz) は ちょっと大きいので、ここには置きません。ftpサイトから取ってきてください。適当なディレクトリに3つのファイルを置いて始めます。
nemcanna.tar.gzとnem332fr.gzをtarで固めたものはこちらです。%tar xvfz nem332.tar.gz
%tar xvfz nemcanna.tar.gz
%cp -r emacs24/{lisp,man,src} nemacs3.3.2/
%zcat nem332fr.gz > nem332fr.patch
%cd nemacs-3.3.2
%patch -p1 < ../nem332fr.patch
%cd src
%patch < canna.patch
%cd ..
src/nconfig.hに次の2行を追加します。場所は、27行目付近の「#undef EGC」の次行あたりに。
%vi src/nconfig.h<< 追加 >> 28行目付近
#define CANNA
#define CANNA2インストール先を変更します。
%vi Makefile<< 変更前 >> 16行目付近Makefileを変更すると、make実行時にsrc/paths.hが自動的に更新されるので、次の変更は不要のはずです。もし、うまくいかなかった場合、次の変更を行います。
LIBDIR= /usr/local/emacs
<< 変更後 >>
LIBDIR= /usr/local/lib/emacs<< 変更前 >> 60行目付近
-rm -f ${BINDIR}/emacs
mv ${BINDIR}/xemacs ${BINDIR}/emacs
<< 変更後 >>
-rm -f ${BINDIR}/nemacs
mv ${BINDIR}/xemacs ${BINDIR}/nemacs
%vi src/paths.h<< 変更前 >>
4個所の"/usr/local/emacs/・・・・"の記述を、<< 変更後 >>
"/usr/local/lib/emacs/・・・・"にします。4個所ともです。
Canna関連のディレクトリを指定し直します。
%vi src/nconfig.h<< 変更前 >> 50行目付近%vi src/ymakefile
#ifdef CANNA
#define LIBCANNA /usr/local/canna/lib/libcanna.a
#endif /* CANNA */<< 変更後 >>
#ifdef CANNA
#define LIBCANNA /usr/local/lib/libcanna.a
#endif /* CANNA */<< 変更前 >> 167行目付近
CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAGS) C_SWITCH_MACHINE C_SWITCH_SYSTEM<< 変更後 >>
CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAGS) C_SWITCH_MACHINE C_SWITCH_SYSTEM -I/usr/local/includeFreeBSD 2.2.X でコンパイルする時には、次の変更が必要です。-traditionalでコンパイルしているのに、const をびしばし使っているのが原因で、コンパイルに失敗します。そこで、constを無効にする作業を行います。 %vi src/s-freebsd.h
<< 追加 >> 最終行%vi src/filelock.c
#define const
%vi src/fileio.c
%vi src/dired.c
%vi src/filemode.c
%vi src/lread.c<< 変更 >> 6個のファイル共、最初に出てくる #include 文の前に
#include "config.h"
を追加します。すでに、"config.h"を使っている場合は、コメントにします。例えば、
<< filelock.c の変更前 >>
#include <sys/types.h>
#include <sys/stat.h>
#inlcude "config"
#include "lisp.h"
・・・・・<< filelock.c の変更後 >>
#inlcude "config"
#include <sys/types.h>
#include <sys/stat.h>
/* #inlcude "config" */
#include "lisp.h"
・・・・・
最後に、不要なフラグ(X window は使わない)をコメントにします。それから、-gのデバッグオプションをoffにします。
%vi src/config.h<< 変更前 >>%vi src/m-intel386.h
#define HAVE_X_WINDOW<< 変更後 >>
/* #define HAVE_X_WINDOW */
<< 追加 >> 最終行
#define C_DEBUG_SWITCHmakeを実行します。
%make
%su
#make install
最後に、手作業が多くなってしまい、すみません。本当は、patchをつくれば良かったのですが。
Nemacsをインストールする際の参考にでもなれば、幸いです。
FreeBSDであれば、パッケージのCanna3.2をそのまま使ってください。
OpenBSDの場合でも、FreeBSD用のソースコードを使って、そのままコンパイルできるはずです。
ソースコードを展開し、パッチをあてます。
%cd /usr/local/src
%tar xvfz $(CDROM)/rensai/FreeBSD/org-src/Canna32p2.tar.gz
%cd Canna32p2
%patch -p1 < $(CDROM)/rensai/FreeBSD/patch/canna-patchインストール先を変更します。 %vi Canna.confコンパイルです。 %xmkmf; make Makefile; make canna
%su
#make install; make install.manポート番号を予約します。 #vi /etc/servicescanna 5680/tcpOSのブート時に、cannaserverが起動するようにします。 #vi /usr/local/etc/rc.d/canna.sh
if [ -f /usr/local/sbin/cannaserver ]; then
rm -f /var/run/canna/Canna.pid
/usr/local/sbin/cannaserver > /dev/null
echo -n ' Canna.'
fi
<< 参考資料 >>
・記事: UNIX USER 1996.9 p108
・記事: UNIX USER 1995.8 p105
・CD-ROM: UNIX USER 1996.9 vol.30rensai/freebsd/orgsrc/canna32p.tar.gz (rensai/FreeBSD/org-src/Canna32p2.tar.gz)
rensai/freebsd/patch/cannapat (rensai/FreeBSD/patch/canna-patch)
PocketBSD用に Canna版Nemacs3.3.2のミニパッケージを作成しました。
Canna3.2のパッケージは、たつろーさんが作成されていますので、そちらを使ってください。
ja-nemacs-canna-3.3.2.mini.tar.gzCanna のパッケージと ja-nemacs- のパッケージを pkg_add xxxxx して、PocketBSDを再起動するだけで、そのまま使えます。
・・・ emacs本体と、最小限のファイル達。ja-nemacs-el.tar.gz
・・・ etcの下の全el(メモリカードに余裕があれば、入れてください)。elispコマンドのソースです。ja-nemacs-info.tar.gz
・・・ info関連のファイル(メモリカードに余裕があれば、入れてください)。これを入れると、M-x info の操作で、オンラインドキュメントが閲覧できます。ja-nemacs-doc.tar.gz
・・・ etc/DOC関連のファイル(メモリカードに余裕があれば、入れてください)。これを入れると、M-x describe-function の操作で機能の説明が表示されます。たつろーさんのページ
・・・ Canna3.2のミニパッケージが置いてあります
おまけ
/usr/local/lib/emacs/etcに「NEMACS.tut」も入れておきました。これさえあれば、Nemacsが初めてという人も、3日もあればエキスパート?になれます。
Errata
1999.3.21.おわり :-)
ja-nemacs-canna-3.3.2.mini.tar.gzの中の sample.emacsを変更しました。
変更前:(set-kanji-input-code "euc") --- EUCを指定
変更後:;(set-kanji-input-code "jis") --- コメントアウト。デフォルトでは、jis(のはず)。
これで、メニューキーがメタキーとして使えます。
作成:1999.2.4.
(c) 1999 Shigeki Yahaba, All rights reserved.