summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakamoto <sakamoto>1999-09-27 05:37:35 +0000
committersakamoto <sakamoto>1999-09-27 05:37:35 +0000
commite703d7f39d452c633e87f236693d2d81e558ff2a (patch)
treef70a3846523df5c08a99f4ce9f7da19e16434888
parent00d4f9772b57c4264faaabe4de0d5cdaae4ff203 (diff)
downloadpkgsrc-e703d7f39d452c633e87f236693d2d81e558ff2a.tar.gz
Initial import of w3m-990902 by SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp>.
A terminal-based WWW browser with HTML tables and frames support.
-rw-r--r--www/w3m/Makefile78
-rw-r--r--www/w3m/files/md53
-rw-r--r--www/w3m/files/patch-sum8
-rw-r--r--www/w3m/patches/patch-aa726
-rw-r--r--www/w3m/patches/patch-ab44
-rw-r--r--www/w3m/patches/patch-ac117
-rw-r--r--www/w3m/patches/patch-ad20
-rw-r--r--www/w3m/patches/patch-ae33
-rw-r--r--www/w3m/patches/patch-ai14
-rw-r--r--www/w3m/pkg/COMMENT1
-rw-r--r--www/w3m/pkg/DESCR6
-rw-r--r--www/w3m/pkg/PLIST47
12 files changed, 1097 insertions, 0 deletions
diff --git a/www/w3m/Makefile b/www/w3m/Makefile
new file mode 100644
index 00000000000..d2a2f856953
--- /dev/null
+++ b/www/w3m/Makefile
@@ -0,0 +1,78 @@
+# $NetBSD: Makefile,v 1.1.1.1 1999/09/27 05:37:35 sakamoto Exp $
+
+DISTNAME= w3m-990902
+CATEGORIES= www
+MASTER_SITES= ftp://ei5nazha.yz.yamagata-u.ac.jp/w3m/
+
+MAINTAINER= tech-pkg-ja@jp.netbsd.org
+HOMEPAGE= http://ei5nazha.yz.yamagata-u.ac.jp/~aito/w3m/
+
+DEPENDS= boehm-gc-5.0a3:../../devel/boehm-gc
+
+WRKSRC= ${WRKDIR}/w3m
+HELPDIR= share/doc/w3m
+
+HAS_CONFIGURE= yes
+
+.include "../../mk/bsd.prefs.mk"
+
+# Set this to NO for ISO-8859-1 support (exclusive to Japanese).
+W3M_USE_JAPANESE= YES
+# Set this to YES to use lynx like key binding.
+W3M_USE_LYNX_KEY= NO
+
+.if defined(W3M_USE_JAPANESE) && ${W3M_USE_JAPANESE} == YES
+CONFIGURE_ENV+= def_lg=1
+CONFIGURE_ENV+= def_dcode=n
+CONFIGURE_ENV+= def_kanji_symbols=y
+.else
+CONFIGURE_ENV+= def_lg=2
+CONFIGURE_ENV+= def_kanji_symbols=n
+.endif
+.if defined(W3M_USE_LYNX_KEY) && ${W3M_USE_LYNX_KEY} == YES
+CONFIGURE_ENV+= def_lynx_key=y
+.else
+CONFIGURE_ENV+= def_lynx_key=n
+.endif
+CONFIGURE_ENV+= def_bindir=${LOCALBASE}/bin
+CONFIGURE_ENV+= def_helpdir=${LOCALBASE}/${HELPDIR}
+CONFIGURE_ENV+= def_use_color=y def_use_mouse=y
+CONFIGURE_ENV+= def_use_menu=y def_use_matrix=y
+CONFIGURE_ENV+= editor=vi mailer=Mail dbrowser=
+CONFIGURE_ENV+= cc="${CC}" termlib="-ltermcap"
+CONFIGURE_ENV+= dldflags="-Wl,-rpath,${LOCALBASE}/lib -L${LOCALBASE}/lib"
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/w3m ${LOCALBASE}/bin
+ ${INSTALL_MAN} ${WRKSRC}/doc/w3m.1 ${LOCALBASE}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/doc-jp/w3m.1 ${LOCALBASE}/man/ja_JP.EUC/man1
+ ${INSTALL_DATA_DIR} ${LOCALBASE}/${HELPDIR}
+ ${INSTALL_DATA_DIR} ${LOCALBASE}/${HELPDIR}/doc
+ ${INSTALL_DATA_DIR} ${LOCALBASE}/${HELPDIR}/doc-jp
+ ${INSTALL_DATA} ${WRKSRC}/w3mhelp_en.html ${LOCALBASE}/${HELPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/w3mhelp_ja.html ${LOCALBASE}/${HELPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/w3mhelp-lynx_en.html ${LOCALBASE}/${HELPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/w3mhelp-lynx_ja.html ${LOCALBASE}/${HELPDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/* ${LOCALBASE}/${HELPDIR}/doc
+ ${INSTALL_DATA} ${WRKSRC}/doc-jp/* ${LOCALBASE}/${HELPDIR}/doc-jp
+
+post-install:
+.if defined(W3M_USE_JAPANESE) && ${W3M_USE_JAPANESE} == YES
+.if defined(W3M_USE_LYNX_KEY) && ${W3M_USE_LYNX_KEY} == YES
+ ${LN} -s ${LOCALBASE}/${HELPDIR}/w3mhelp-lynx_ja.html \
+ ${LOCALBASE}/${HELPDIR}/w3mhelp.html
+.else # W3M_USE_JAPANESE && ! W3M_USE_LYNX_KEY
+ ${LN} -s ${LOCALBASE}/${HELPDIR}/w3mhelp_ja.html \
+ ${LOCALBASE}/${HELPDIR}/w3mhelp.html
+.endif
+.else # ! W3M_USE_JAPANESE
+.if defined(W3M_USE_LYNX_KEY) && ${W3M_USE_LYNX_KEY} == YES
+ ${LN} -s ${LOCALBASE}/${HELPDIR}/w3mhelp-lynx_en.html \
+ ${LOCALBASE}/${HELPDIR}./w3mhelp.html
+.else # ! W3M_USE_JAPANESE && ! W3M_USE_LYNX_KEY
+ ${LN} -s ${LOCALBASE}/${HELPDIR}/w3mhelp_en.html \
+ ${LOCALBASE}/${HELPDIR}/w3mhelp.html
+.endif
+.endif
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/www/w3m/files/md5 b/www/w3m/files/md5
new file mode 100644
index 00000000000..9c75001c83d
--- /dev/null
+++ b/www/w3m/files/md5
@@ -0,0 +1,3 @@
+# $NetBSD: md5,v 1.1.1.1 1999/09/27 05:37:35 sakamoto Exp $
+
+MD5 (w3m-990902.tar.gz) = b0fda99dbc66e6a17c056f55c77d347b
diff --git a/www/w3m/files/patch-sum b/www/w3m/files/patch-sum
new file mode 100644
index 00000000000..5459fb67d57
--- /dev/null
+++ b/www/w3m/files/patch-sum
@@ -0,0 +1,8 @@
+$NetBSD: patch-sum,v 1.1.1.1 1999/09/27 05:37:35 sakamoto Exp $
+
+MD5 (patch-aa) = dcf53ec4037cd17b9d96f9f1ce90f6bc
+MD5 (patch-ab) = 20ad419e0fac850b17199d9298871685
+MD5 (patch-ac) = 1314c9fd7eb6ae3eccc1bf1102922a09
+MD5 (patch-ad) = c162149ba381c0424d962231512bb7b6
+MD5 (patch-ae) = b8fac1576ac82a565d301aba59efa60b
+MD5 (patch-ai) = 7df7383d051fdf8ee6d2ecca5114dc9d
diff --git a/www/w3m/patches/patch-aa b/www/w3m/patches/patch-aa
new file mode 100644
index 00000000000..df8e76fbf60
--- /dev/null
+++ b/www/w3m/patches/patch-aa
@@ -0,0 +1,726 @@
+$NetBSD: patch-aa,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
+
+--- configure.orig Tue Aug 17 18:58:57 1999
++++ configure Tue Sep 21 09:40:29 1999
+@@ -96,57 +96,57 @@
+ NetBSD )
+ # Newer NetBSD system doesn't define 'unix' symbol anymore, but GC library
+ # requires it.
+- special_sys="#define unix"
+- ;;
++# special_sys="#define unix"
++# ;;
+ esac
+
+-if [ -z "$def_bindir" ]; then
+- def_bindir="/usr/local/bin"
+-fi
++#if [ -z "$def_bindir" ]; then
++# def_bindir="/usr/local/bin"
++#fi
+ echo "Which directory do you want to put the binary?"
+ Echo "(default: $def_bindir) "
+-readdir
+-bindir=$_dir
+-if [ -z "$bindir" ]; then
++#readdir
++#bindir=$_dir
++#if [ -z "$bindir" ]; then
+ bindir=$def_bindir
+-fi
++#fi
+ echo "def_bindir=$bindir" >> config.param
+
+-if [ -z "$def_helpdir" ]; then
+- def_helpdir="/usr/local/lib"
+-fi
++#if [ -z "$def_helpdir" ]; then
++# def_helpdir="/usr/local/lib"
++#fi
+ echo "Which directory do you want to put the helpfile?"
+ Echo "(default: $def_helpdir) "
+-readdir
+-helpdir=$_dir
+-if [ -z "$helpdir" ]; then
++#readdir
++#helpdir=$_dir
++#if [ -z "$helpdir" ]; then
+ helpdir=$def_helpdir
+-fi
++#fi
+ echo "def_helpdir=$helpdir" >> config.param
+
+ echo "Which language do you prefer?"
+ echo " 1 - Japanese (charset ISO-2022-JP, EUC-JP, Shift_JIS)"
+ echo " 2 - English (charset US_ASCII, ISO-8859-1, etc.)"
+-if [ "$pref_lang" = 2 ]; then
+- Echo '[2]? '
+- def_lg=2
+-else
+- Echo '[1]? '
+- def_lg=1
+-fi
+-while :
+-do
+- read lg_ans
+- if [ -z "$lg_ans" ]; then
++#if [ "$pref_lang" = 2 ]; then
++# Echo '[2]? '
++# def_lg=2
++#else
++# Echo '[1]? '
++# def_lg=1
++#fi
++#while :
++#do
++# read lg_ans
++# if [ -z "$lg_ans" ]; then
+ lg_ans=$def_lg
+- elif [ "$lg_ans" != 1 -a "$lg_ans" != 2 ]; then
+- echo "Please choose 1 or 2."
+- continue
+- else
+- :
+- fi
+- break
+-done
++# elif [ "$lg_ans" != 1 -a "$lg_ans" != 2 ]; then
++# echo "Please choose 1 or 2."
++# continue
++# else
++# :
++# fi
++# break
++#done
+ echo "pref_lang='$lg_ans'" >> config.param
+ if [ $lg_ans = 1 ]; then
+ use_lang="#define LANG JA"
+@@ -166,43 +166,44 @@
+ echo ' n - JIS: ESC $B - ESC (B'
+ echo ' m - JIS: ESC $@ - ESC (B'
+ echo ''
+- while :
+- do
+- if [ -n "$def_dcode" ] ; then
+- Echo "(default: $def_dcode) "
+- fi
++# while :
++# do
++# if [ -n "$def_dcode" ] ; then
++# Echo "(default: $def_dcode) "
++# fi
+ Echo "Which? "
+- read ncode
+- if [ -n "$def_dcode" -a -z "$ncode" ] ; then
++# read ncode
++# if [ -n "$def_dcode" -a -z "$ncode" ] ; then
+ ncode=$def_dcode
+- fi
+- if [ -z "`echo $ncode | grep '[SEjNnm]'`" ] ; then
+- Echo "Illegal code. Try again."
+- continue
+- fi
+- break
+- done
++# fi
++# if [ -z "`echo $ncode | grep '[SEjNnm]'`" ] ; then
++# Echo "Illegal code. Try again."
++# continue
++# fi
++# break
++# done
+ echo "def_dcode=$ncode" >> config.param
+ else
+ ncode=x
+ fi
+
+ echo "Do you want to use Lynx-like key binding?"
+-if [ "$lynx_key" = y ]; then
+- Echo '[y]? '
+- read ks_ans
+- if [ "$ks_ans" = 'n' ]; then
+- lynx_key=n
+- fi
+-else
+- Echo '[n]? '
+- read ks_ans
+- if [ "$ks_ans" = 'y' ]; then
+- lynx_key=y
+- else
+- lynx_key=n
+- fi
+-fi
++#if [ "$lynx_key" = y ]; then
++# Echo '[y]? '
++# read ks_ans
++# if [ "$ks_ans" = 'n' ]; then
++# lynx_key=n
++# fi
++#else
++# Echo '[n]? '
++# read ks_ans
++# if [ "$ks_ans" = 'y' ]; then
++# lynx_key=y
++# else
++# lynx_key=n
++# fi
++#fi
++lynx_key=$def_lynx_key
+ echo "lynx_key=$lynx_key" >> config.param
+ if [ $lynx_key = y ]; then
+ keymap_file="keybind_lynx"
+@@ -226,21 +227,22 @@
+
+ if [ $lang = ja ]; then
+ echo "Do you want to use 2-byte character for table border, item, etc."
+- if [ "$kanji_symbols" = n ]; then
+- Echo '[n]? '
+- read ks_ans
+- if [ "$ks_ans" = 'y' ]; then
+- kanji_symbols=y
+- fi
+- else
+- Echo '[y]? '
+- read ks_ans
+- if [ "$ks_ans" = 'n' ]; then
+- kanji_symbols=n
+- else
+- kanji_symbols=y
+- fi
+- fi
++# if [ "$kanji_symbols" = n ]; then
++# Echo '[n]? '
++# read ks_ans
++# if [ "$ks_ans" = 'y' ]; then
++# kanji_symbols=y
++# fi
++# else
++# Echo '[y]? '
++# read ks_ans
++# if [ "$ks_ans" = 'n' ]; then
++# kanji_symbols=n
++# else
++# kanji_symbols=y
++# fi
++# fi
++ kanji_symbols=$def_kanji_symbols
+ echo "kanji_symbols=$kanji_symbols" >> config.param
+ fi
+ if [ "$kanji_symbols" = y ]; then
+@@ -250,21 +252,22 @@
+ fi
+
+ echo "Do you want to use color ESC sequence for kterm/pxvt "
+-if [ "$use_color" = n ]; then
+- Echo '[n]? '
+- read ks_ans
+- if [ "$ks_ans" = 'y' ]; then
+- use_color='y'
+- fi
+-else
+- Echo '[y]? '
+- read ks_ans
+- if [ "$ks_ans" = 'n' ]; then
+- use_color='n'
+- else
+- use_color='y'
+- fi
+-fi
++#if [ "$use_color" = n ]; then
++# Echo '[n]? '
++# read ks_ans
++# if [ "$ks_ans" = 'y' ]; then
++# use_color='y'
++# fi
++#else
++# Echo '[y]? '
++# read ks_ans
++# if [ "$ks_ans" = 'n' ]; then
++# use_color='n'
++# else
++# use_color='y'
++# fi
++#fi
++use_color=$def_use_color
+ echo "use_color=$use_color" >> config.param
+ if [ $use_color = y ]; then
+ def_color="#define COLOR"
+@@ -274,21 +277,22 @@
+
+ echo "Do you want to use mouse?"
+ echo " (It requires xterm/kterm)"
+-if [ "$use_mouse" = y ]; then
+- Echo '[y]? '
+- read ks_ans
+- if [ "$ks_ans" = 'n' ]; then
+- use_mouse='n'
+- fi
+-else
+- Echo '[n]? '
+- read ks_ans
+- if [ "$ks_ans" = 'y' ]; then
+- use_mouse='y'
+- else
+- use_mouse='n'
+- fi
+-fi
++#if [ "$use_mouse" = y ]; then
++# Echo '[y]? '
++# read ks_ans
++# if [ "$ks_ans" = 'n' ]; then
++# use_mouse='n'
++# fi
++#else
++# Echo '[n]? '
++# read ks_ans
++# if [ "$ks_ans" = 'y' ]; then
++# use_mouse='y'
++# else
++# use_mouse='n'
++# fi
++#fi
++use_mouse=$def_use_mouse
+ echo "use_mouse=$use_mouse" >> config.param
+ if [ $use_mouse = y ]; then
+ def_mouse="#define MOUSE"
+@@ -297,21 +301,22 @@
+ fi
+
+ echo "Do you want to use popup menu?"
+-if [ "$use_menu" = n ]; then
+- Echo '[n]? '
+- read ks_ans
+- if [ "$ks_ans" = 'y' ]; then
+- use_menu='y'
+- fi
+-else
+- Echo '[y]? '
+- read ks_ans
+- if [ "$ks_ans" = 'n' ]; then
+- use_menu='n'
+- else
+- use_menu='y'
+- fi
+-fi
++#if [ "$use_menu" = n ]; then
++# Echo '[n]? '
++# read ks_ans
++# if [ "$ks_ans" = 'y' ]; then
++# use_menu='y'
++# fi
++#else
++# Echo '[y]? '
++# read ks_ans
++# if [ "$ks_ans" = 'n' ]; then
++# use_menu='n'
++# else
++# use_menu='y'
++# fi
++#fi
++use_menu=$def_use_menu
+ echo "use_menu=$use_menu" >> config.param
+ if [ $use_menu = y ]; then
+ def_menu="#define MENU"
+@@ -320,21 +325,22 @@
+ fi
+
+ echo "Do you want to use matrix in rendering table?"
+-if [ "$use_matrix" = n ]; then
+- Echo '[n]? '
+- read ks_ans
+- if [ "$ks_ans" = 'y' ]; then
+- use_matrix='y'
+- fi
+-else
+- Echo '[y]? '
+- read ks_ans
+- if [ "$ks_ans" = 'n' ]; then
+- use_matrix='n'
+- else
+- use_matrix='y'
+- fi
+-fi
++#if [ "$use_matrix" = n ]; then
++# Echo '[n]? '
++# read ks_ans
++# if [ "$ks_ans" = 'y' ]; then
++# use_matrix='y'
++# fi
++#else
++# Echo '[y]? '
++# read ks_ans
++# if [ "$ks_ans" = 'n' ]; then
++# use_matrix='n'
++# else
++# use_matrix='y'
++# fi
++#fi
++use_matrix=$def_use_matrix
+ echo "use_matrix=$use_matrix" >> config.param
+ if [ $use_matrix = y ]; then
+ def_matrix="#define MATRIX 1"
+@@ -343,70 +349,70 @@
+ fi
+
+
+-if [ -z "$ded" ] ; then ded=`./which \vi` ; fi
+-if [ -n "`echo $ded | grep 'no'`" ] ; then ded=vi ; fi
++#if [ -z "$ded" ] ; then ded=`./which \vi` ; fi
++#if [ -n "`echo $ded | grep 'no'`" ] ; then ded=vi ; fi
+ echo "Input your favorite editor program."
+ Echo "(Default: $ded) "
+-readdir
+-editor=$_dir
+-if [ -z "$editor" ] ; then editor="$ded" ; fi
++#readdir
++#editor=$_dir
++#if [ -z "$editor" ] ; then editor="$ded" ; fi
+ echo "ded='$editor'" >> config.param
+
+-if [ -z "$dmail" ] ; then
+- if ./which \mailx > /dev/null
+- then
+- dmail=`./which \mailx`
+- else
+- dmail=`./which \mail`
+- fi
+- if [ -n "`echo $dmail | grep 'no'`" ] ; then dmail=mailx ; fi
+-fi
++#if [ -z "$dmail" ] ; then
++# if ./which \mailx > /dev/null
++# then
++# dmail=`./which \mailx`
++# else
++# dmail=`./which \mail`
++# fi
++# if [ -n "`echo $dmail | grep 'no'`" ] ; then dmail=mailx ; fi
++#fi
+ echo "Input your favorite mailer program."
+ Echo "(Default: $dmail) "
+-readdir
+-mailer=$_dir
+-if [ -z "$mailer" ] ; then mailer="$dmail" ; fi
++#readdir
++#mailer=$_dir
++#if [ -z "$mailer" ] ; then mailer="$dmail" ; fi
+ echo "dmail='$mailer'" >> config.param
+
+
+-if [ -z "$dbrowser" ] ; then
+- if ./which netscape > /dev/null
+- then
+- dbrowser=`./which netscape`
+- elif ./which iexplore > /dev/null
+- then
+- dbrowser=`./which iexplore`
+- else
+- dbrowser=`./which lynx`
+- fi
+- if [ -n "`echo $dbrowser | grep 'no'`" ] ; then dbrowser=netscape ; fi
+-fi
++#if [ -z "$dbrowser" ] ; then
++# if ./which netscape > /dev/null
++# then
++# dbrowser=`./which netscape`
++# elif ./which iexplore > /dev/null
++# then
++# dbrowser=`./which iexplore`
++# else
++# dbrowser=`./which lynx`
++# fi
++# if [ -n "`echo $dbrowser | grep 'no'`" ] ; then dbrowser=netscape ; fi
++#fi
+ echo "Input your favorite external browser program."
+ Echo "(Default: $dbrowser) "
+-readdir
+-brz=$_dir
+-if [ -z "$brz" ] ; then brz="$dbrowser" ; fi
++#readdir
++#brz=$_dir
++#if [ -z "$brz" ] ; then brz="$dbrowser" ; fi
+ echo "dbrowser='$brz'" >> config.param
+
+-if [ -z "$dcc" ] ; then
+- if ./which gcc >/dev/null
+- then
+- dcc=gcc
+- else
+- dcc=cc
+- fi
+-fi
++#if [ -z "$dcc" ] ; then
++# if ./which gcc >/dev/null
++# then
++# dcc=gcc
++# else
++# dcc=cc
++# fi
++#fi
+ echo "Input your favorite C-compiler."
+ Echo "(Default: $dcc) "
+-read cc
+-if [ -z "$cc" ] ; then cc="$dcc" ; fi
++#read cc
++#if [ -z "$cc" ] ; then cc="$dcc" ; fi
+ echo "dcc='$cc'" >> config.param
+
+-if [ -z "$dcflags" ] ; then dcflags=-g ; fi
++#if [ -z "$dcflags" ] ; then dcflags=-g ; fi
+ echo "Input your favorite C flags."
+ Echo "(Default: $dcflags) "
+-read cflags
+-if [ -z "$cflags" ] ; then cflags="$dcflags" ; fi
++#read cflags
++#if [ -z "$cflags" ] ; then cflags="$dcflags" ; fi
+ echo "dcflags='$cflags'" >> config.param
+
+ bsdinclude=''
+@@ -420,50 +426,51 @@
+ fi
+ fi
+
+-termlib=''
+-cat > _zmachdep.c << EOF
+-main()
+-{
+- char bp[100];
+- tgetent(bp,getenv("TERM"));
+-}
+-EOF
+-
+-TERM_LIBS='termcap termlib terminfo mytinfo curses ncurses'
+-
+-for lib in $TERM_LIBS
+-do
+- for libdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib
+- do
+- if [ -f $libdir/lib$lib.a -o -f $libdir/lib$lib.so ] ; then
+- # check if the lib works...
+- Echo "Terminal library -l$lib found at $libdir, "
+- if $cc $cflags -o _zmachdep _zmachdep.c -l$lib > /dev/null 2>&1
+- then
+- echo "and it seems to work."
+- termlib=-l$lib
+- else
+- echo "but it doesn't seem to work."
+- fi
+- fi
+- done
+-done
+-if [ -z "$termlib" ]; then
+- Echo "termcap/curses library not found; I hope -ltermcap works."
+- termlib='-ltermcap'
+-fi
++#termlib=''
++#cat > _zmachdep.c << EOF
++#main()
++#{
++# char bp[100];
++# tgetent(bp,getenv("TERM"));
++#}
++#EOF
++
++#TERM_LIBS='termcap termlib terminfo mytinfo curses ncurses'
++
++#for lib in $TERM_LIBS
++#do
++# for libdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib ${LOCALBASE}/lib
++# do
++# if [ -f $libdir/lib$lib.a -o -f $libdir/lib$lib.so ] ; then
++# # check if the lib works...
++# Echo "Terminal library -l$lib found at $libdir, "
++# if $cc $cflags -o _zmachdep _zmachdep.c -l$lib > /dev/null 2>&1
++# then
++# echo "and it seems to work."
++# termlib=-l$lib
++# else
++# echo "but it doesn't seem to work."
++# fi
++# fi
++# done
++#done
++#if [ -z "$termlib" ]; then
++# Echo "termcap/curses library not found; I hope -ltermcap works."
++# termlib='-ltermcap'
++#fi
+ echo "Which terminal library do you want to use?"
+ Echo "(default: $termlib) "
+ dtermlib=$termlib
+-read termlib
+-if [ -z "$termlib" ]; then
+- termlib=$dtermlib
+-fi
++#read termlib
++#if [ -z "$termlib" ]; then
++# termlib=$dtermlib
++#fi
++echo "termlib=$dtermlib" >> config.param
+
+ extlib=''
+ for lib in bsd BSD socket nsl
+ do
+- for libdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib
++ for libdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib ${LOCALBASE}/lib
+ do
+ if [ -f $libdir/lib$lib.a ] ; then
+ extlib="$extlib -l$lib"
+@@ -477,64 +484,66 @@
+ echo additional library found: $extlib
+ fi
+
+-gclib=''
+-gcinclude=''
+-gctarget=''
+-for libdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib ${HOME}/lib
+-do
+- if [ -f $libdir/libgc.a -o -f $libdir/libgc.so ] ; then
+- echo $libdir/libgc found
++#gclib=''
++#gcinclude=''
++#gctarget=''
++#for libdir in /lib /usr/lib /usr/local/lib /usr/ucblib /usr/ccslib /usr/ccs/lib ${HOME}/lib ${LOCALBASE}/lib
++#do
++# if [ -f $libdir/libgc.a -o -f $libdir/libgc.so ] ; then
++# echo $libdir/libgc found
+ gclib="-lgc"
+- fi
+-done
+-for inc in /usr/include /usr/include/gc /usr/local/include /usr/local/include/gc ${HOME}/include
+-do
+- if [ -f $inc/gc.h ]; then
+- echo $inc/gc.h found
+- gcinclude=$inc
+- fi
+-done
+-
+-if [ -n "$gclib" -a -n "$gcinclude" ]; then
+- Echo GC library found on your system...
+- cat > _zmachdep.c << EOF
+-#include <gc.h>
+-main()
+-{
+- extern unsigned GC_version;
+- printf("%d%02d%03d\n",(GC_version>>16)&0xff,(GC_version>>8)&0xff,GC_version&0xff);
+-}
+-EOF
+- if $cc $cflags -I$gcinclude -o _zmachdep _zmachdep.c $gclib > /dev/null 2>&1
+- then
+- echo "and it seems to work."
+- gcversion=`./_zmachdep`
+- echo "GC_version is $gcversion."
+- if [ $gcversion -lt $mygcversion ]; then
+- echo "GC library on your system seems to be old."
+- Echo "Do you want to use GC library comes with w3m?[y] "
+- read ans
+- if [ "$ans" = 'n' -o "$ans" = 'N' ]; then
+- cflags="$cflags -I$gcinclude"
+- else
+- cflags="$cflags -I./gc"
+- gclib="gc/gc.a"
+- gctarget=$gclib
+- fi
+- else
++# fi
++#done
++#for inc in /usr/include /usr/include/gc /usr/local/include /usr/local/include/gc ${HOME}/include ${LOCALBASE}/include
++#do
++# if [ -f $inc/gc.h ]; then
++# echo $inc/gc.h found
++# gcinclude=$inc
++ gcinclude=${LOCALBASE}/include
++# fi
++#done
++
++#if [ -n "$gclib" -a -n "$gcinclude" ]; then
++# Echo GC library found on your system...
++# cat > _zmachdep.c << EOF
++##include <gc.h>
++#main()
++#{
++# extern unsigned GC_version;
++# printf("%d%02d%03d\n",(GC_version>>16)&0xff,(GC_version>>8)&0xff,GC_version&0xff);
++#}
++#EOF
++# if $cc $cflags -I$gcinclude -o _zmachdep _zmachdep.c $gclib > /dev/null 2>&1
++# then
++# echo "and it seems to work."
++# gcversion=`./_zmachdep`
++# echo "GC_version is $gcversion."
++# if [ $gcversion -lt $mygcversion ]; then
++# echo "GC library on your system seems to be old."
++# Echo "Do you want to use GC library comes with w3m?[y] "
++# read ans
++# if [ "$ans" = 'n' -o "$ans" = 'N' ]; then
++# cflags="$cflags -I$gcinclude"
++# else
++# cflags="$cflags -I./gc"
++# gclib="gc/gc.a"
++# gctarget=$gclib
++# fi
++# else
+ cflags="$cflags -I$gcinclude"
+- fi
+- else
+- echo "but it doesn't seem to work."
+- cflags="$cflags -I./gc"
+- gclib="gc/gc.a"
+- gctarget=$gclib
+- fi
+-else
+- cflags="$cflags -I./gc"
+- gclib="gc/gc.a"
+- gctarget=$gclib
+-fi
++ gctarget=$gclib
++# fi
++# else
++# echo "but it doesn't seem to work."
++# cflags="$cflags -I./gc"
++# gclib="gc/gc.a"
++# gctarget=$gclib
++# fi
++#else
++# cflags="$cflags -I./gc"
++# gclib="gc/gc.a"
++# gctarget=$gclib
++#fi
+
+ # Apply patch.
+ if [ $gclib = "gc/gc.a" ]; then
+@@ -555,9 +564,9 @@
+ patchfile=Patches/hpux11
+ fi
+ ;;
+- macppc:NetBSD)
+- patchfile = Patches/macppc
+- ;;
++# macppc:NetBSD)
++# patchfile = Patches/macppc
++# ;;
+ R3000:*System_V*|R4000:UNIX_SYSV|R4000:UNIX_SV)
+ # EWS-4800
+ patchfile=Patches/ews4800
+@@ -572,15 +581,15 @@
+
+
+ echo "Input additional LD flags other than listed above, if any:"
+-if [ -n "$dldflags" ]; then
+- Echo "(default: $dldflags) : "
+-else
+- Echo ": "
+-fi
+-read ldflags
+-if [ -z "$ldflags" ]; then
++#if [ -n "$dldflags" ]; then
++# Echo "(default: $dldflags) : "
++#else
++# Echo ": "
++#fi
++#read ldflags
++#if [ -z "$ldflags" ]; then
+ ldflags=$dldflags
+-fi
++#fi
+ echo "dldflags='$ldflags'" >> config.param
+
+ echo "Checking machine dependency."
diff --git a/www/w3m/patches/patch-ab b/www/w3m/patches/patch-ab
new file mode 100644
index 00000000000..11535d3a62d
--- /dev/null
+++ b/www/w3m/patches/patch-ab
@@ -0,0 +1,44 @@
+$NetBSD: patch-ab,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
+
+Index: gc/dyn_load.c
+===================================================================
+RCS file: /cvsroot/w3m/gc/dyn_load.c,v
+retrieving revision 1.1.1.2
+retrieving revision 1.2
+diff -u -u -r1.1.1.2 -r1.2
+--- dyn_load.c 1999/06/02 19:29:13 1.1.1.2
++++ dyn_load.c 1999/06/03 12:44:49 1.2
+@@ -48,7 +48,8 @@
+ #if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \
+ !defined(MSWIN32) && !(defined(ALPHA) && defined(OSF1)) && \
+ !defined(HP_PA) && !(defined(LINUX) && defined(__ELF__)) && \
+- !defined(RS6000) && !defined(SCO_ELF)
++ !defined(RS6000) && !defined(SCO_ELF) && \
++ !(defined(NETBSD) && defined(__ELF__))
+ --> We only know how to find data segments of dynamic libraries for the
+ --> above. Additional SVR4 variants might not be too
+ --> hard to add.
+@@ -260,14 +261,22 @@
+ # endif /* !USE_PROC ... */
+ # endif /* SUNOS */
+
+-#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF)
++#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
++ (defined(NETBSD) && defined(__ELF__))
+
+ /* Dynamic loading code for Linux running ELF. Somewhat tested on
+ * Linux/x86, untested but hopefully should work on Linux/Alpha.
+ * This code was derived from the Solaris/ELF support. Thanks to
+ * whatever kind soul wrote that. - Patrick Bridges */
+
++#if defined(NETBSD)
++#include <sys/exec_elf.h>
++#define DT_DEBUG 21
++#define PT_LOAD 1
++#define PF_W 0x2
++#else
+ #include <elf.h>
++#endif
+ #include <link.h>
+
+ /* Newer versions of Linux/Alpha and Linux/x86 define this macro. We
diff --git a/www/w3m/patches/patch-ac b/www/w3m/patches/patch-ac
new file mode 100644
index 00000000000..f22b0898acf
--- /dev/null
+++ b/www/w3m/patches/patch-ac
@@ -0,0 +1,117 @@
+$NetBSD: patch-ac,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
+
+--- gc/gcconfig.h.orig Fri Jul 9 05:03:22 1999
++++ gc/gcconfig.h Tue Sep 21 08:46:36 1999
+@@ -27,6 +27,12 @@
+ # define LINUX
+ # endif
+
++/* NetBSD no longer defines symbol unix */
++# if defined(__NetBSD__)
++# define NETBSD
++# define unix
++# endif
++
+ /* Determine the machine type: */
+ # if defined(sun) && defined(mc68000)
+ # define M68K
+@@ -50,7 +56,10 @@
+ # endif
+ # if defined(__NetBSD__) && defined(m68k)
+ # define M68K
+-# define NETBSD
++# define mach_type_known
++# endif
++# if defined(__NetBSD__) && defined(__powerpc__)
++# define POWERPC
+ # define mach_type_known
+ # endif
+ # if defined(vax)
+@@ -106,11 +115,15 @@
+ # define mach_type_known
+ # endif
+ # if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) \
+- && !defined(__OpenBSD__)
++ && !defined(__OpenBSD__) && !defined(__NetBSD__)
+ # define SPARC
+ # define DRSNX
+ # define mach_type_known
+ # endif
++# if defined(__NetBSD__) && defined(__sparc__)
++# define SPARC
++# define mach_type_known
++# endif
+ # if defined(_IBMR2)
+ # define RS6000
+ # define mach_type_known
+@@ -154,7 +167,7 @@
+ # endif
+ # if defined(__alpha) || defined(__alpha__)
+ # define ALPHA
+-# if !defined(LINUX)
++# if !defined(LINUX) && !defined(NETBSD)
+ # define OSF1 /* a.k.a Digital Unix */
+ # endif
+ # define mach_type_known
+@@ -203,7 +216,6 @@
+ # endif
+ # if defined(__NetBSD__) && defined(i386)
+ # define I386
+-# define NETBSD
+ # define mach_type_known
+ # endif
+ # if defined(bsdi) && defined(i386)
+@@ -614,6 +626,7 @@
+ # define DYNAMIC_LOADING
+ # endif
+ # ifdef LINUX
++# define ALIGNMENT 2
+ # define OS_TYPE "LINUX"
+ # ifdef __ELF__
+ # define DATASTART GC_data_start
+@@ -631,6 +644,19 @@
+ # define STACKBOTTOM ((ptr_t) 0xf8000000)
+ # define DATASTART ((ptr_t)(&etext))
+ # endif
++# ifdef NETBSD
++# define ALIGNMENT 4
++# define OS_TYPE "NETBSD"
++# define HEURISTIC2
++ extern char etext;
++# define DATASTART GC_data_start
++# define DYNAMIC_LOADING
++# endif
++# ifdef NETBSD
++# define OS_TYPE "NETBSD"
++# define HEURISTIC2
++# define DATASTART ((ptr_t)(&etext))
++# endif
+ # endif
+
+ # ifdef I386
+@@ -917,6 +943,16 @@
+ # ifdef ALPHA
+ # define MACH_TYPE "ALPHA"
+ # define ALIGNMENT 8
++# ifdef NETBSD
++# define OS_TYPE "NETBSD"
++# define HEURISTIC2
++# define DATASTART GC_data_start
++# define ELFCLASS32 32
++# define ELFCLASS64 64
++# define ELF_CLASS ELFCLASS64
++# define CPP_WORDSZ 64
++# define DYNAMIC_LOADING
++# endif
+ # ifdef OSF1
+ # define OS_TYPE "OSF1"
+ # define DATASTART ((ptr_t) 0x140000000)
+@@ -1088,7 +1124,7 @@
+ /* Use setjmp based hack to mark from callee-save registers. */
+ # define USE_GENERIC_PUSH_REGS
+ # endif
+-# if defined(SPARC) && !defined(LINUX)
++# if defined(SPARC) && !defined(LINUX) && !defined(NETBSD)
+ # define SAVE_CALL_CHAIN
+ # define ASM_CLEAR_CODE /* Stack clearing is crucial, and we */
+ /* include assembly code to do it well. */
diff --git a/www/w3m/patches/patch-ad b/www/w3m/patches/patch-ad
new file mode 100644
index 00000000000..abbee917bca
--- /dev/null
+++ b/www/w3m/patches/patch-ad
@@ -0,0 +1,20 @@
+$NetBSD: patch-ad,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
+
+Index: gc/misc.c
+===================================================================
+RCS file: /cvsroot/w3m/gc/misc.c,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -u -u -r1.1.1.1 -r1.2
+--- misc.c 1999/06/02 19:23:56 1.1.1.1
++++ misc.c 1999/06/03 12:44:50 1.2
+@@ -433,6 +433,9 @@
+ # if defined(LINUX) && defined(SPARC)
+ GC_init_linuxsparc();
+ # endif
++# if defined(NETBSD) && defined(__ELF__)
++ GC_init_netbsd_elf();
++# endif
+ # ifdef SOLARIS_THREADS
+ GC_thr_init();
+ /* We need dirty bits in order to find live stack sections. */
diff --git a/www/w3m/patches/patch-ae b/www/w3m/patches/patch-ae
new file mode 100644
index 00000000000..25597af154d
--- /dev/null
+++ b/www/w3m/patches/patch-ae
@@ -0,0 +1,33 @@
+$NetBSD: patch-ae,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
+
+--- gc/os_dep.c.orig Wed May 19 17:38:53 1999
++++ gc/os_dep.c Tue Jun 8 01:25:18 1999
+@@ -165,6 +165,19 @@
+ }
+ #endif
+
++#if defined(NETBSD) && defined(__ELF__)
++ ptr_t GC_data_start;
++
++ void GC_init_netbsd_elf()
++ {
++ extern ptr_t GC_find_limit();
++ extern char **environ;
++ /* This may need to be environ, without the underscore, for */
++ /* some versions. */
++ GC_data_start = GC_find_limit((ptr_t)&environ, FALSE);
++ }
++#endif
++
+ # ifdef OS2
+
+ # include <stddef.h>
+@@ -2234,7 +2247,7 @@
+ * Call stack save code for debugging.
+ * Should probably be in mach_dep.c, but that requires reorganization.
+ */
+-#if defined(SPARC) && !defined(LINUX)
++#if defined(SPARC) && !defined(LINUX) && !defined(NETBSD)
+ # if defined(SUNOS4)
+ # include <machine/frame.h>
+ # else
diff --git a/www/w3m/patches/patch-ai b/www/w3m/patches/patch-ai
new file mode 100644
index 00000000000..618d3defde0
--- /dev/null
+++ b/www/w3m/patches/patch-ai
@@ -0,0 +1,14 @@
+$NetBSD: patch-ai,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
+
+--- main.c.orig Tue Sep 21 09:25:17 1999
++++ main.c Tue Sep 21 09:26:44 1999
+@@ -115,6 +115,9 @@
+ #ifdef MENU
+ initMenu();
+ #endif
++#ifdef MOUSE
++ use_mouse = T;
++#endif
+
+ if (HTTP_proxy == NULL &&
+ ((p = getenv("HTTP_PROXY")) ||
diff --git a/www/w3m/pkg/COMMENT b/www/w3m/pkg/COMMENT
new file mode 100644
index 00000000000..7edc642d98f
--- /dev/null
+++ b/www/w3m/pkg/COMMENT
@@ -0,0 +1 @@
+A terminal-based WWW browser with HTML tables and frames support.
diff --git a/www/w3m/pkg/DESCR b/www/w3m/pkg/DESCR
new file mode 100644
index 00000000000..ec7be9aff2b
--- /dev/null
+++ b/www/w3m/pkg/DESCR
@@ -0,0 +1,6 @@
+W3m is a termial-based WWW browser which supports HTML tables and frames. It's
+small, so faster than other WWW browsers. It also supports following URL by
+clicking mouse button on the anchor in xterm and its variants from 990526
+version.
+
+It uses Boehm-GC to implement the table/frame parser.
diff --git a/www/w3m/pkg/PLIST b/www/w3m/pkg/PLIST
new file mode 100644
index 00000000000..395e4efeb69
--- /dev/null
+++ b/www/w3m/pkg/PLIST
@@ -0,0 +1,47 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 1999/09/27 05:37:36 sakamoto Exp $
+bin/w3m
+man/man1/w3m.1
+man/ja_JP.EUC/man1/w3m.1
+share/doc/w3m/w3mhelp_en.html
+share/doc/w3m/w3mhelp_ja.html
+share/doc/w3m/w3mhelp-lynx_en.html
+share/doc/w3m/w3mhelp-lynx_ja.html
+share/doc/w3m/w3mhelp.html
+@comment share/doc/w3m/doc
+share/doc/w3m/doc/README
+share/doc/w3m/doc/README.cygwin
+share/doc/w3m/doc/MANUAL.html
+share/doc/w3m/doc/FAQ.html
+share/doc/w3m/doc/STORY.html
+share/doc/w3m/doc/w3m.1
+share/doc/w3m/doc/MANUAL_lynx.html
+share/doc/w3m/doc/README.dict
+share/doc/w3m/doc/README.func
+share/doc/w3m/doc/keymap.default
+share/doc/w3m/doc/keymap.lynx
+share/doc/w3m/doc/menu.default
+share/doc/w3m/doc/menu.submenu
+@comment share/doc/w3m/doc-jp
+share/doc/w3m/doc-jp/FAQ.html
+share/doc/w3m/doc-jp/MANUAL.html
+share/doc/w3m/doc-jp/MANUAL_lynx.html
+share/doc/w3m/doc-jp/README
+share/doc/w3m/doc-jp/README.menu
+share/doc/w3m/doc-jp/README.cygwin
+share/doc/w3m/doc-jp/README.func
+share/doc/w3m/doc-jp/README.hp
+share/doc/w3m/doc-jp/STORY.html
+share/doc/w3m/doc-jp/HISTORY
+share/doc/w3m/doc-jp/w3m.1
+share/doc/w3m/doc-jp/README.dict
+share/doc/w3m/doc-jp/keymap.lynx
+share/doc/w3m/doc-jp/README.local
+share/doc/w3m/doc-jp/README.keymap
+share/doc/w3m/doc-jp/keymap.default
+share/doc/w3m/doc-jp/menu.default
+share/doc/w3m/doc-jp/menu.submenu
+share/doc/w3m/doc-jp/HISTORY.kokb
+share/doc/w3m/doc-jp/README.kokb
+@dirrm share/doc/w3m/doc
+@dirrm share/doc/w3m/doc-jp
+@dirrm share/doc/w3m