summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortaca <taca>2001-06-30 08:25:48 +0000
committertaca <taca>2001-06-30 08:25:48 +0000
commit78b53d1627a63e4263dcb7037f2cf5b833ec5daa (patch)
tree38c546976933228013779201a17e85898bad6e8f /lang
parent91cff635019c7432963b703bea5af0b8984a3e31 (diff)
downloadpkgsrc-78b53d1627a63e4263dcb7037f2cf5b833ec5daa.tar.gz
Importing ruby-base, base installation of Ruby 1.4.
Diffstat (limited to 'lang')
-rw-r--r--lang/ruby14-base/Makefile86
-rw-r--r--lang/ruby14-base/distinfo13
-rw-r--r--lang/ruby14-base/patches/patch-aa86
-rw-r--r--lang/ruby14-base/patches/patch-ac10
-rw-r--r--lang/ruby14-base/patches/patch-ad34
-rw-r--r--lang/ruby14-base/patches/patch-ae52
-rw-r--r--lang/ruby14-base/patches/patch-af22
-rw-r--r--lang/ruby14-base/patches/patch-ag16
-rw-r--r--lang/ruby14-base/patches/patch-ah41
-rw-r--r--lang/ruby14-base/patches/patch-ai13
-rw-r--r--lang/ruby14-base/patches/patch-aj13
-rw-r--r--lang/ruby14-base/pkg/DESCR20
-rw-r--r--lang/ruby14-base/pkg/MESSAGE16
-rw-r--r--lang/ruby14-base/pkg/PLIST181
14 files changed, 603 insertions, 0 deletions
diff --git a/lang/ruby14-base/Makefile b/lang/ruby14-base/Makefile
new file mode 100644
index 00000000000..e10bf442707
--- /dev/null
+++ b/lang/ruby14-base/Makefile
@@ -0,0 +1,86 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+# FreeBSD: ports/lang/ruby14/Makefile,v 1.36 2000/09/26 09:34:52 knu ExP
+
+DISTNAME= ${RUBY_DISTNAME}
+PKGNAME= ${RUBY_PKGNAMEPREFIX}base-${RUBY_VERSION}
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_RUBY}
+
+MAINTAINER= taca@netbsd.org
+HOMEPAGE= http://www.ruby-lang.org/en/
+COMMENT= base installation of Ruby 1.4
+
+BUILD_DEPENDS+= autoconf>=2.13:../../devel/autoconf
+
+DIST_SUBDIR= ruby
+USE_RUBY= yes
+RUBY_DEPENDS= no
+RUBY_BUILD_DEPENDS= no
+
+RUBY_VER= 1.4
+
+GNU_CONFIGURE= yes
+INSTALLS_SHLIB= yes
+WRKSRC= ${RUBY_WRKSRC}
+CONFIGURE_ARGS= --enable-shared
+MLINKS= ruby${_RUBY_SUFFIX}.1 ruby.1
+
+.include "../../lang/ruby-base/Makefile.common"
+
+.if !empty(RUBY_SUFFIX)
+CONFIGURE_ARGS+= --program-suffix="${RUBY_SUFFIX}"
+.endif
+
+.if defined(USE_INET6) && ${USE_INET6} == YES
+CONFIGURE_ARGS+= --enable-ipv6
+.endif
+
+pre-configure:
+ ${RM} -f ${WRKSRC}/ext/gdbm/MANIFEST
+ ${RM} -f ${WRKSRC}/ext/md5/MANIFEST
+ ${RM} -f ${WRKSRC}/ext/readline/MANIFEST
+ ${RM} -f ${WRKSRC}/ext/tcltklib/MANIFEST
+ ${RM} -f ${WRKSRC}/ext/tk/MANIFEST
+ cd ${WRKSRC}; ${LOCALBASE}/bin/autoreconf
+
+pre-build:
+ @${FIND} ${WRKSRC} -name '*.orig' -exec rm -f {} \;
+
+post-build:
+ ${SED} -e 's|#!/usr/local/bin/ruby|#!${RUBY}|' \
+ ${WRKSRC}/sample/irb.rb > ${WRKDIR}/irb.rb
+
+post-install:
+ strip ${RUBY}
+.if empty(RUBY_SUFFIX)
+ ${MV} ${RUBY} ${RUBY}${_RUBY_SUFFIX}
+ ${LN} -fs ruby${_RUBY_SUFFIX} ${RUBY}
+ ${MV} ${PREFIX}/man/man1/ruby.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
+.else
+ ${LN} -fs ${RUBY_NAME} ${PREFIX}/bin/ruby
+.endif
+ ${INSTALL_DATA_DIR} ${RUBY_EXAMPLESDIR}
+ ${INSTALL_SCRIPT} ${WRKDIR}/irb.rb ${PREFIX}/bin/irb${_RUBY_SUFFIX}
+ ${RM} -f ${WRKSRC}/sample/irb.rb
+ ${INSTALL_DATA} ${WRKSRC}/sample/* ${RUBY_EXAMPLESDIR}
+ ${INSTALL_DATA_DIR} ${RUBY_EXAMPLESDIR}/curses
+ ${INSTALL_DATA} ${WRKSRC}/ext/curses/hello.rb \
+ ${WRKSRC}/ext/curses/rain.rb \
+ ${WRKSRC}/ext/curses/view.rb \
+ ${RUBY_EXAMPLESDIR}/curses
+ ${INSTALL_DATA_DIR} ${RUBY_EXAMPLESDIR}/pty
+ ${INSTALL_DATA} ${WRKSRC}/ext/pty/expect_sample.rb \
+ ${WRKSRC}/ext/pty/script.rb \
+ ${WRKSRC}/ext/pty/shl.rb \
+ ${RUBY_EXAMPLESDIR}/pty
+ ${INSTALL_DATA_DIR} ${RUBY_DOCDIR}
+ ${INSTALL_DATA} ${WRKSRC}/README* ${RUBY_DOCDIR}
+ ${INSTALL_DATA_DIR} ${RUBY_DOCDIR}/etc
+ ${INSTALL_DATA} ${WRKSRC}/ext/etc/etc.txt* ${RUBY_DOCDIR}/etc
+ ${INSTALL_DATA_DIR} ${RUBY_DOCDIR}/pty
+ ${INSTALL_DATA} ${WRKSRC}/ext/pty/README* ${RUBY_DOCDIR}/pty
+
+test:
+ @(cd ${WRKSRC}; make test)
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/ruby14-base/distinfo b/lang/ruby14-base/distinfo
new file mode 100644
index 00000000000..f1730c77530
--- /dev/null
+++ b/lang/ruby14-base/distinfo
@@ -0,0 +1,13 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+SHA1 (ruby/ruby-1.4.6.tar.gz) = 662e21cd2f6bf521a77ab179e11b669738579cc5
+Size (ruby/ruby-1.4.6.tar.gz) = 775123 bytes
+SHA1 (patch-aa) = 7778168486cfd4a6c1e78320aeb2bfce332e9b5e
+SHA1 (patch-ac) = 645b3ce464a752e412056e079e055df3fe0b9c0a
+SHA1 (patch-ad) = 5874887c3aded34102e04caa8505455efab576bb
+SHA1 (patch-ae) = 72d06855e67f07b656698f2cb2a64e97719e7f15
+SHA1 (patch-af) = 55cc3c02efe06fdb833e5993982e977846cf60e4
+SHA1 (patch-ag) = de29afc99bbe1e2abc14aef939ce96cb4923cacd
+SHA1 (patch-ah) = 11e50c48b6dc15dfd58a065a1a785bb44662c30b
+SHA1 (patch-ai) = 3abdd021fdcba5dd32646d4a471b3d9832a1eddc
+SHA1 (patch-aj) = 70f5227312ce50b98c580aed40703c2e14a4d9aa
diff --git a/lang/ruby14-base/patches/patch-aa b/lang/ruby14-base/patches/patch-aa
new file mode 100644
index 00000000000..9cfebcecf0c
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-aa
@@ -0,0 +1,86 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- configure.in.orig Sat Jul 29 00:52:49 2000
++++ configure.in
+@@ -26,6 +26,8 @@
+ fi
+
+ AC_CANONICAL_HOST
++AC_CANONICAL_TARGET
++AC_CANONICAL_BUILD
+
+ dnl checks for fat-binary
+ fat_binary=no
+@@ -198,7 +200,7 @@
+ truncate chsize times utimes fcntl lockf setitimer\
+ setruid seteuid setreuid setrgid setegid setregid\
+ getpgrp setpgrp getpgid setpgid getgroups getpriority\
+- dlopen sigprocmask sigaction _setjmp setsid)
++ dlopen sigprocmask sigaction _setjmp setsid mkstemp)
+ AC_STRUCT_TIMEZONE
+ if test "$ac_cv_func_strftime" = no; then
+ AC_TRY_LINK([],
+@@ -412,12 +414,7 @@
+ human*) ;;
+ bsdi*) ;;
+ cygwin*) ;;
+- netbsd*) CCDLFLAGS=-fpic
+- case "$host_cpu" in
+- mips*) CCDLFLAGS=-fPIC ;;
+- sparc) CCDLFLAGS=-fPIC ;;
+- *) ;;
+- esac ;;
++ netbsd*) CCDLFLAGS=-fPIC;;
+ *) CCDLFLAGS=-fPIC;;
+ esac
+ else
+@@ -462,10 +459,8 @@
+ test "$GCC" = yes && `$CC --print-prog-name=ld` -v 2>&1 | grep "GNU ld" > /dev/null || LDSHARED="ld -Bshareable"
+ fi
+ rb_cv_dlopen=yes ;;
+- netbsd*) LDSHARED="ld -shared"
+- if test "$rb_cv_binary_elf" = yes; then
+- LDFLAGS="-export-dynamic"
+- fi
++ netbsd*) LDSHARED='${CC} -shared'
++ LDFLAGS=""
+ rb_cv_dlopen=yes ;;
+ openbsd*) LDSHARED="ld -Bforcearchive -Bshareable"
+ rb_cv_dlopen=yes ;;
+@@ -716,11 +711,14 @@
+ fi
+ ;;
+ netbsd*)
+- LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR)'
++ LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'
++ LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR)'
+ if test "$rb_cv_binary_elf" = yes; then # ELF platforms
+- LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR) lib$(RUBY_INSTALL_NAME).so'
+- else
+- LIBRUBY_ALIASES= # a.out platforms
++ LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_INSTALL_NAME).so'
++ LIBRUBYARG='-Wl,--rpath -Wl,${prefix}/lib -L${prefix}/lib -L. -l$(RUBY_INSTALL_NAME) -Wl,--rpath -Wl,${X11BASE}/lib -L${X11BASE}/lib'
++ else # a.out platforms
++ LIBRUBY_ALIASES=""
++ LIBRUBYARG='-Wl,-R${prefix}/lib -L${prefix}/lib -L. -l$(RUBY_INSTALL_NAME) -Wl,-R${X11BASE}/lib -L${X11BASE}/lib'
+ fi
+ ;;
+ solaris*)
+@@ -758,6 +756,9 @@
+ fi
+
+ case "$host_os" in
++ netbsd*)
++ CFLAGS="$CFLAGS -pipe"
++ ;;
+ nextstep*)
+ CFLAGS="$CFLAGS -pipe"
+ ;;
+@@ -774,6 +775,7 @@
+ ;;
+ esac
+
++AC_SUBST(X11BASE)
+ AC_SUBST(LIBRUBY_LDSHARED)
+ AC_SUBST(LIBRUBY_DLDFLAGS)
+ AC_SUBST(RUBY_INSTALL_NAME)
diff --git a/lang/ruby14-base/patches/patch-ac b/lang/ruby14-base/patches/patch-ac
new file mode 100644
index 00000000000..0aac890973f
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-ac
@@ -0,0 +1,10 @@
+$NetBSD: patch-ac,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- ext/socket/extconf.rb.orig Thu Jun 1 15:26:18 2000
++++ ext/socket/extconf.rb
+@@ -1,5 +1,4 @@
+ require 'mkmf'
+-$LDFLAGS += " -L/usr/local/lib" if File.directory?("/usr/local/lib")
+ $CFLAGS += " -Dss_family=__ss_family -Dss_len=__ss_len"
+
+ case RUBY_PLATFORM
diff --git a/lang/ruby14-base/patches/patch-ad b/lang/ruby14-base/patches/patch-ad
new file mode 100644
index 00000000000..1cc0a34c762
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-ad
@@ -0,0 +1,34 @@
+$NetBSD: patch-ad,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- instruby.rb.orig Mon Jun 5 12:55:33 2000
++++ instruby.rb
+@@ -69,11 +69,11 @@
+ next unless /\.rb$/ =~ f
+ dir = rubylibdir+"/"+File.dirname(f[4..-1])
+ File.makedirs dir, true unless File.directory? dir
+- File.install f, dir, 0644, true
++ File.install f, dir, 0444, true
+ end
+
+ for f in Dir["*.h"]
+- File.install f, archlibdir, 0644, true
++ File.install f, archlibdir, 0444, true
+ end
+ if RUBY_PLATFORM =~ /mswin32/
+ File.makedirs archlibdir + "/win32", true
+@@ -82,11 +82,11 @@
+ File.install wdir+'/rubymw.lib', archlibdir, 0644, true
+ end
+ end
+-File.install wdir+'/'+CONFIG['LIBRUBY_A'], archlibdir, 0644, true
++File.install wdir+'/'+CONFIG['LIBRUBY_A'], archlibdir, 0444, true
+
+ File.makedirs mandir, true
+-File.install "ruby.1", mandir, 0644, true
++File.install "ruby.1", "#{mandir}/#{ruby_install_name}.1", 0444, true
+ Dir.chdir wdir
+-File.install "config.h", archlibdir, 0644, true
+-File.install "rbconfig.rb", archlibdir, 0644, true
++File.install "config.h", archlibdir, 0444, true
++File.install "rbconfig.rb", archlibdir, 0444, true
+ # vi:set sw=2:
diff --git a/lang/ruby14-base/patches/patch-ae b/lang/ruby14-base/patches/patch-ae
new file mode 100644
index 00000000000..595c3150aba
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-ae
@@ -0,0 +1,52 @@
+$NetBSD: patch-ae,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- lib/cgi-lib.rb.orig Tue Oct 12 18:11:29 1999
++++ lib/cgi-lib.rb
+@@ -121,30 +121,40 @@
+ RFC822_MONTHS = %w[ Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ]
+
+ # make rfc1123 date string
+- def rfc1123_date(time)
++ def CGI.rfc1123_date(time)
+ t = time.clone.gmtime
+ return format("%s, %.2d %s %d %.2d:%.2d:%.2d GMT",
+ RFC822_DAYS[t.wday], t.day, RFC822_MONTHS[t.month-1], t.year,
+ t.hour, t.min, t.sec)
+ end
++ def rfc1123_date(time)
++ CGI.rfc1123_date(time)
++ end
+
+ # escape url encode
+- def escape(str)
++ def CGI.escape(str)
+ str.gsub(/[^a-zA-Z0-9_\-.]/n){ sprintf("%%%02X", $&.unpack("C")[0]) }
+ end
++ def escape(str)
++ CGI.escape(str)
++ end
+
+ # unescape url encoded
+- def unescape(str)
++ def CGI.unescape(str)
+ str.gsub(/\+/, ' ').gsub(/%([0-9a-fA-F]{2})/){ [$1.hex].pack("c") }
+ end
++ def unescape(str)
++ CGI.unescape(str)
++ end
+
+ # escape HTML
+- def escapeHTML(str)
++ def CGI.escapeHTML(str)
+ str.gsub(/&/, "&amp;").gsub(/\"/, "&quot;").gsub(/>/, "&gt;").gsub(/</, "&lt;")
+ end
+-
+- module_function :escape, :unescape, :escapeHTML, :rfc1123_date
+-
++ def escapeHTML(str)
++ CGI.escapeHTML(str)
++ end
++
+ # offline mode. read name=value pairs on standard input.
+ def read_from_cmdline
+ require "shellwords.rb"
diff --git a/lang/ruby14-base/patches/patch-af b/lang/ruby14-base/patches/patch-af
new file mode 100644
index 00000000000..4202a557d0d
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-af
@@ -0,0 +1,22 @@
+$NetBSD: patch-af,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- lib/mkmf.rb.orig Tue Jun 20 01:23:36 2000
++++ lib/mkmf.rb
+@@ -316,6 +316,8 @@
+ end
+
+ def create_makefile(target)
++ save_libs = $libs.dup if not $libs.nil?
++ save_libpath = $LIBPATH.dup if not $LIBPATH.nil?
+ print "creating Makefile\n"
+ system "rm -f conftest*"
+ STDOUT.flush
+@@ -446,6 +448,8 @@
+ dfile.close
+ end
+ mfile.close
++ $libs = save_libs
++ $LIBPATH = save_libpath
+
+ if RUBY_PLATFORM =~ /beos/
+ if RUBY_PLATFORM =~ /^powerpc/ then
diff --git a/lang/ruby14-base/patches/patch-ag b/lang/ruby14-base/patches/patch-ag
new file mode 100644
index 00000000000..28b5acd3858
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-ag
@@ -0,0 +1,16 @@
+$NetBSD: patch-ag,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- ruby.c.orig Mon Jul 31 18:20:15 2000
++++ ruby.c
+@@ -345,9 +345,8 @@
+ }
+ if (!e_fp) {
+ int fd;
+- e_tmpname = ruby_mktemp();
+- if (!e_tmpname) rb_fatal("Can't mktemp");
+- fd = open(e_tmpname, O_CREAT|O_EXCL|O_RDWR, 0600);
++ e_tmpname = ruby_mktemp(&fd);
++ if (!e_tmpname) rb_fatal("Can't alloc memory");
+ if (fd < 0) {
+ rb_fatal("Cannot open temporary file: %s", e_tmpname);
+ }
diff --git a/lang/ruby14-base/patches/patch-ah b/lang/ruby14-base/patches/patch-ah
new file mode 100644
index 00000000000..9f08268b0c7
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-ah
@@ -0,0 +1,41 @@
+$NetBSD: patch-ah,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- util.c.orig Mon Jan 17 17:24:14 2000
++++ util.c
+@@ -139,7 +139,8 @@
+ }
+
+ char *
+-ruby_mktemp()
++ruby_mktemp(fd)
++ int *fd;
+ {
+ char *dir;
+ char *buf;
+@@ -149,11 +150,22 @@
+ if (!dir) dir = "/tmp";
+
+ buf = ALLOC_N(char,strlen(dir)+10);
+- sprintf(buf, "%s/rbXXXXXX", dir);
+- dir = mktemp(buf);
+- if (dir == NULL) free(buf);
++ *fd = -1;
++ if (buf != NULL) {
++ sprintf(buf, "%s/rbXXXXXX", dir);
++#ifdef HAVE_MKSTEMP
++ *fd = mkstemp(buf);
++#else
++ dir = mktemp(buf);
++ if (dir != NULL)
++ *fd = open(dir, O_CREAT|O_EXCL|O_RDWR, 0600);
++ if (*fd < 0 || dir == NULL) {
++ free(buf);
++ }
++#endif
++ }
+
+- return dir;
++ return buf;
+ }
+
+ #if defined(MSDOS) || defined(__CYGWIN32__) || defined(NT)
diff --git a/lang/ruby14-base/patches/patch-ai b/lang/ruby14-base/patches/patch-ai
new file mode 100644
index 00000000000..3abf6c0dd5c
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-ai
@@ -0,0 +1,13 @@
+$NetBSD: patch-ai,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- util.h.orig Mon Jan 17 17:24:15 2000
++++ util.h
+@@ -35,7 +35,7 @@
+ #define add_suffix ruby_add_suffix
+ #endif
+
+-char *ruby_mktemp _((void));
++char *ruby_mktemp _((int *));
+
+ void ruby_qsort _((void*, int, int, int (*)()));
+ #define qsort(b,n,s,c) ruby_qsort(b,n,s,c)
diff --git a/lang/ruby14-base/patches/patch-aj b/lang/ruby14-base/patches/patch-aj
new file mode 100644
index 00000000000..c4286e27e53
--- /dev/null
+++ b/lang/ruby14-base/patches/patch-aj
@@ -0,0 +1,13 @@
+$NetBSD: patch-aj,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+
+--- ext/extmk.rb.in.orig Tue Jun 20 01:23:36 2000
++++ ext/extmk.rb.in
+@@ -143,7 +143,7 @@
+ mfile.printf "\t@$(RUBY) -r ftools -e 'File::makedirs(*ARGV)' $(DESTDIR)$(pkglibdir)/%s\n", f
+ end
+ for f in path
+- mfile.printf "\t@$(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0644, true)' $(srcdir)/lib/%s $(DESTDIR)$(pkglibdir)/%s\n", f, f
++ mfile.printf "\t@$(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0444, true)' $(srcdir)/lib/%s $(DESTDIR)$(pkglibdir)/%s\n", f, f
+ end
+ end
+
diff --git a/lang/ruby14-base/pkg/DESCR b/lang/ruby14-base/pkg/DESCR
new file mode 100644
index 00000000000..373446e6eef
--- /dev/null
+++ b/lang/ruby14-base/pkg/DESCR
@@ -0,0 +1,20 @@
+Ruby is the interpreted scripting language for quick and
+easy object-oriented programming. It has many features to
+process text files and to do system management tasks (as in
+Perl). It is simple, straight-forward, and extensible.
+
+Features of Ruby are shown below.
+
+ + Simple Syntax
+ + *Normal* Object-Oriented features(ex. class, method calls)
+ + *Advanced* Object-Oriented features(ex. Mix-in, Singleton-method)
+ + Operator Overloading
+ + Exception Handling
+ + Iterators and Closures
+ + Garbage Collection
+ + Dynamic Loading of Object files(on some architecture)
+ + Highly Portable(works on many UNIX machines, and on DOS,
+ Windows, Mac, BeOS etc.)
+
+Author: Matsumoto "matz" Yukihiro <matz@netlab.co.jp>
+WWW: http://www.ruby-lang.org/en/
diff --git a/lang/ruby14-base/pkg/MESSAGE b/lang/ruby14-base/pkg/MESSAGE
new file mode 100644
index 00000000000..2e12f46791a
--- /dev/null
+++ b/lang/ruby14-base/pkg/MESSAGE
@@ -0,0 +1,16 @@
+====
+Note that some stuff that comes with the standard Ruby 1.4
+distribution is provided as separate ports:
+
+ databases/ruby-gdbm: GDBM module
+ security/ruby-md5: MD5 module
+ devel/ruby14-readline: readline module
+ x11/ruby-tcltklib Tcl/Tk libraries
+ x11/ruby14-tk Tk modules
+
+They could install with ruby14 meta package.
+===
+To use other ruby-* package with Ruby 1.4, build and install them with
+"RUBY_VER=1.4" defined (i.e. make RUBY_VER=1.4 install), although not
+all packages can't be used.
+====
diff --git a/lang/ruby14-base/pkg/PLIST b/lang/ruby14-base/pkg/PLIST
new file mode 100644
index 00000000000..e2b0611b24c
--- /dev/null
+++ b/lang/ruby14-base/pkg/PLIST
@@ -0,0 +1,181 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/06/30 08:25:48 taca Exp $
+bin/irb${_RUBY_SUFFIX}
+bin/ruby
+bin/ruby${_RUBY_SUFFIX}
+lib/lib${RUBY_NAME}.so
+lib/lib${RUBY_NAME}.so.${RUBY_SHLIBMAJOR}
+lib/lib${RUBY_NAME}.so.${RUBY_SHLIBVER}
+${RUBY_ARCHLIBDIR}/config.h
+${RUBY_ARCHLIBDIR}/curses.so
+${RUBY_ARCHLIBDIR}/dbm.so
+${RUBY_ARCHLIBDIR}/defines.h
+${RUBY_ARCHLIBDIR}/dln.h
+${RUBY_ARCHLIBDIR}/env.h
+${RUBY_ARCHLIBDIR}/etc.so
+${RUBY_ARCHLIBDIR}/fcntl.so
+${RUBY_ARCHLIBDIR}/intern.h
+${RUBY_ARCHLIBDIR}/lib${RUBY_NAME}.a
+${RUBY_ARCHLIBDIR}/nkf.so
+${RUBY_ARCHLIBDIR}/node.h
+${RUBY_ARCHLIBDIR}/pty.so
+${RUBY_ARCHLIBDIR}/rbconfig.rb
+${RUBY_ARCHLIBDIR}/re.h
+${RUBY_ARCHLIBDIR}/regex.h
+${RUBY_ARCHLIBDIR}/ruby.h
+${RUBY_ARCHLIBDIR}/rubyio.h
+${RUBY_ARCHLIBDIR}/rubysig.h
+${RUBY_ARCHLIBDIR}/sdbm.so
+${RUBY_ARCHLIBDIR}/socket.so
+${RUBY_ARCHLIBDIR}/st.h
+${RUBY_ARCHLIBDIR}/util.h
+${RUBY_ARCHLIBDIR}/version.h
+${RUBY_LIBDIR}/English.rb
+${RUBY_LIBDIR}/Env.rb
+${RUBY_LIBDIR}/base64.rb
+${RUBY_LIBDIR}/cgi-lib.rb
+${RUBY_LIBDIR}/cgi.rb
+${RUBY_LIBDIR}/complex.rb
+${RUBY_LIBDIR}/date.rb
+${RUBY_LIBDIR}/date2.rb
+${RUBY_LIBDIR}/debug.rb
+${RUBY_LIBDIR}/delegate.rb
+${RUBY_LIBDIR}/e2mmap.rb
+${RUBY_LIBDIR}/eregex.rb
+${RUBY_LIBDIR}/expect.rb
+${RUBY_LIBDIR}/final.rb
+${RUBY_LIBDIR}/finalize.rb
+${RUBY_LIBDIR}/find.rb
+${RUBY_LIBDIR}/ftools.rb
+${RUBY_LIBDIR}/ftplib.rb
+${RUBY_LIBDIR}/getoptlong.rb
+${RUBY_LIBDIR}/getopts.rb
+${RUBY_LIBDIR}/importenv.rb
+${RUBY_LIBDIR}/irb/completion.rb
+${RUBY_LIBDIR}/irb/frame.rb
+${RUBY_LIBDIR}/irb/input-method.rb
+${RUBY_LIBDIR}/irb/loader.rb
+${RUBY_LIBDIR}/irb/main.rb
+${RUBY_LIBDIR}/irb/multi-irb.rb
+${RUBY_LIBDIR}/irb/ruby-lex.rb
+${RUBY_LIBDIR}/irb/ruby-token.rb
+${RUBY_LIBDIR}/irb/slex.rb
+${RUBY_LIBDIR}/irb/version.rb
+${RUBY_LIBDIR}/irb/workspace-binding-2.rb
+${RUBY_LIBDIR}/irb/workspace-binding.rb
+${RUBY_LIBDIR}/irb/xmp.rb
+@dirrm ${RUBY_LIBDIR}/irb
+${RUBY_LIBDIR}/jcode.rb
+${RUBY_LIBDIR}/kconv.rb
+${RUBY_LIBDIR}/mailread.rb
+${RUBY_LIBDIR}/mathn.rb
+${RUBY_LIBDIR}/matrix.rb
+${RUBY_LIBDIR}/mkmf.rb
+${RUBY_LIBDIR}/monitor.rb
+${RUBY_LIBDIR}/mutex_m.rb
+${RUBY_LIBDIR}/observer.rb
+${RUBY_LIBDIR}/open3.rb
+${RUBY_LIBDIR}/ostruct.rb
+${RUBY_LIBDIR}/parsearg.rb
+${RUBY_LIBDIR}/parsedate.rb
+${RUBY_LIBDIR}/ping.rb
+${RUBY_LIBDIR}/profile.rb
+${RUBY_LIBDIR}/pstore.rb
+${RUBY_LIBDIR}/rational.rb
+${RUBY_LIBDIR}/readbytes.rb
+${RUBY_LIBDIR}/shellwords.rb
+${RUBY_LIBDIR}/singleton.rb
+${RUBY_LIBDIR}/sync.rb
+${RUBY_LIBDIR}/telnet.rb
+${RUBY_LIBDIR}/tempfile.rb
+${RUBY_LIBDIR}/thread.rb
+${RUBY_LIBDIR}/thwait.rb
+${RUBY_LIBDIR}/timeout.rb
+${RUBY_LIBDIR}/tracer.rb
+${RUBY_LIBDIR}/weakref.rb
+${RUBY_LIBDIR}/cgi/session.rb
+${RUBY_LIBDIR}/net/ftp.rb
+${RUBY_LIBDIR}/net/http.rb
+${RUBY_LIBDIR}/net/pop.rb
+${RUBY_LIBDIR}/net/protocol.rb
+${RUBY_LIBDIR}/net/smtp.rb
+${RUBY_LIBDIR}/net/telnet.rb
+@exec /bin/mkdir -p %D/${RUBY_SITEARCHLIBDIR}
+@dirrm ${RUBY_SITEARCHLIBDIR}
+@dirrm ${RUBY_SITELIBDIR}
+@dirrm lib/ruby/site_ruby
+@dirrm ${RUBY_ARCHLIBDIR}
+@dirrm ${RUBY_LIBDIR}/cgi
+@dirrm ${RUBY_LIBDIR}/net
+@dirrm ${RUBY_LIBDIR}
+@dirrm lib/ruby
+${RUBY_DOCDIR}/README
+${RUBY_DOCDIR}/README.EXT
+${RUBY_DOCDIR}/README.EXT.jp
+${RUBY_DOCDIR}/README.jp
+${RUBY_DOCDIR}/etc/etc.txt
+${RUBY_DOCDIR}/etc/etc.txt.jp
+${RUBY_DOCDIR}/pty/README
+${RUBY_DOCDIR}/pty/README.expect
+${RUBY_DOCDIR}/pty/README.expect.jp
+${RUBY_DOCDIR}/pty/README.jp
+@dirrm ${RUBY_DOCDIR}/etc
+@dirrm ${RUBY_DOCDIR}/pty
+@dirrm ${RUBY_DOCDIR}
+${RUBY_EXAMPLESDIR}/README
+${RUBY_EXAMPLESDIR}/biorhythm.rb
+${RUBY_EXAMPLESDIR}/cal.rb
+${RUBY_EXAMPLESDIR}/cbreak.rb
+${RUBY_EXAMPLESDIR}/clnt.rb
+${RUBY_EXAMPLESDIR}/curses/hello.rb
+${RUBY_EXAMPLESDIR}/curses/rain.rb
+${RUBY_EXAMPLESDIR}/curses/view.rb
+@dirrm ${RUBY_EXAMPLESDIR}/curses
+${RUBY_EXAMPLESDIR}/dbmtest.rb
+${RUBY_EXAMPLESDIR}/dir.rb
+${RUBY_EXAMPLESDIR}/dualstack-fetch.rb
+${RUBY_EXAMPLESDIR}/dualstack-httpd.rb
+${RUBY_EXAMPLESDIR}/eval.rb
+${RUBY_EXAMPLESDIR}/export.rb
+${RUBY_EXAMPLESDIR}/exyacc.rb
+${RUBY_EXAMPLESDIR}/fact.rb
+${RUBY_EXAMPLESDIR}/fib.awk
+${RUBY_EXAMPLESDIR}/fib.pl
+${RUBY_EXAMPLESDIR}/fib.py
+${RUBY_EXAMPLESDIR}/fib.rb
+${RUBY_EXAMPLESDIR}/fib.scm
+${RUBY_EXAMPLESDIR}/freq.rb
+${RUBY_EXAMPLESDIR}/from.rb
+${RUBY_EXAMPLESDIR}/fullpath.rb
+${RUBY_EXAMPLESDIR}/getopts.test
+${RUBY_EXAMPLESDIR}/goodfriday.rb
+${RUBY_EXAMPLESDIR}/less.rb
+${RUBY_EXAMPLESDIR}/list.rb
+${RUBY_EXAMPLESDIR}/list2.rb
+${RUBY_EXAMPLESDIR}/list3.rb
+${RUBY_EXAMPLESDIR}/mine.rb
+${RUBY_EXAMPLESDIR}/mkproto.rb
+${RUBY_EXAMPLESDIR}/mpart.rb
+${RUBY_EXAMPLESDIR}/mrshtest.rb
+${RUBY_EXAMPLESDIR}/observ.rb
+${RUBY_EXAMPLESDIR}/occur.pl
+${RUBY_EXAMPLESDIR}/occur.rb
+${RUBY_EXAMPLESDIR}/occur2.rb
+${RUBY_EXAMPLESDIR}/philos.rb
+${RUBY_EXAMPLESDIR}/pi.rb
+${RUBY_EXAMPLESDIR}/rcs.awk
+${RUBY_EXAMPLESDIR}/rcs.dat
+${RUBY_EXAMPLESDIR}/rcs.rb
+${RUBY_EXAMPLESDIR}/regx.rb
+${RUBY_EXAMPLESDIR}/rename.rb
+${RUBY_EXAMPLESDIR}/sieve.rb
+${RUBY_EXAMPLESDIR}/svr.rb
+${RUBY_EXAMPLESDIR}/test.rb
+${RUBY_EXAMPLESDIR}/time.rb
+${RUBY_EXAMPLESDIR}/trojan.rb
+${RUBY_EXAMPLESDIR}/tsvr.rb
+${RUBY_EXAMPLESDIR}/uumerge.rb
+${RUBY_EXAMPLESDIR}/pty/expect_sample.rb
+${RUBY_EXAMPLESDIR}/pty/script.rb
+${RUBY_EXAMPLESDIR}/pty/shl.rb
+@dirrm ${RUBY_EXAMPLESDIR}/pty
+@dirrm ${RUBY_EXAMPLESDIR}