summaryrefslogtreecommitdiff
path: root/lang/ruby-base
diff options
context:
space:
mode:
authortaca <taca>2001-06-30 08:07:10 +0000
committertaca <taca>2001-06-30 08:07:10 +0000
commit924ecc90b535c83863e6cb9acf39e4a8dd9400fd (patch)
tree30c2fcad5ee2d91649fe6be793011431c2d14aa2 /lang/ruby-base
parentd5fa4d47dfb47e4b4f96b8f230904fca670fd198 (diff)
downloadpkgsrc-924ecc90b535c83863e6cb9acf39e4a8dd9400fd.tar.gz
Importing ruby-base, base installation of Ruby with new framework.
Diffstat (limited to 'lang/ruby-base')
-rw-r--r--lang/ruby-base/Makefile97
-rw-r--r--lang/ruby-base/Makefile.common254
-rw-r--r--lang/ruby-base/distinfo10
-rw-r--r--lang/ruby-base/patches/patch-aa67
-rw-r--r--lang/ruby-base/patches/patch-ac24
-rw-r--r--lang/ruby-base/patches/patch-ad11
-rw-r--r--lang/ruby-base/patches/patch-ae38
-rw-r--r--lang/ruby-base/patches/patch-af13
-rw-r--r--lang/ruby-base/patches/patch-aj13
-rw-r--r--lang/ruby-base/pkg/DESCR20
-rw-r--r--lang/ruby-base/pkg/MESSAGE12
-rw-r--r--lang/ruby-base/pkg/PLIST211
12 files changed, 770 insertions, 0 deletions
diff --git a/lang/ruby-base/Makefile b/lang/ruby-base/Makefile
new file mode 100644
index 00000000000..b8dd358bfbd
--- /dev/null
+++ b/lang/ruby-base/Makefile
@@ -0,0 +1,97 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+# FreeBSD Id: ports/lang/ruby/Makefile,v 1.39 2000/10/20 19:56:03 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
+
+BUILD_DEPENDS+= autoconf>=2.13:../../devel/autoconf
+
+DIST_SUBDIR= ruby
+USE_RUBY= yes
+RUBY_DEPENDS= no
+RUBY_BUILD_DEPENDS= no
+DIST_SUBDIR= ruby
+
+GNU_CONFIGURE= yes
+INSTALLS_SHLIB= yes
+WRKSRC= ${RUBY_WRKSRC}
+CONFIGURE_ARGS= --enable-shared
+MLINKS= ruby${_RUBY_SUFFIX}.1 ruby.1
+
+DOCS= README README.EXT README.EXT.jp README.jp ToDo \
+ doc/NEWS doc/forwardable.rd doc/forwardable.rd.jp \
+ doc/shell.rd doc/shell.rd.jp
+DOCS_ETC= etc.txt etc.txt.jp
+DOCS_PTY= README README.expect README.expect.jp README.jp
+
+.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/bin/env 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
+ ${LN} -fs ruby${_RUBY_SUFFIX}.1 ${PREFIX}/man/man1/ruby.1
+ ${INSTALL_DATA_DIR} ${RUBY_EXAMPLESDIR}
+ ${INSTALL_SCRIPT} ${WRKDIR}/irb.rb ${PREFIX}/bin/irb
+ ${RM} -f ${WRKSRC}/sample/irb.rb
+ ${INSTALL_DATA} ${WRKSRC}/sample/* ${RUBY_EXAMPLESDIR}
+ ${INSTALL_DATA_DIR} ${RUBY_EXAMPLESDIR}/curses
+ ${INSTALL_DATA} ${RUBY_WRKSRC}/ext/curses/hello.rb \
+ ${RUBY_WRKSRC}/ext/curses/rain.rb \
+ ${RUBY_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}
+.for f in ${DOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_DOCDIR}
+.endfor
+ ${INSTALL_DATA_DIR} ${RUBY_DOCDIR}/etc
+.for f in ${DOCS_ETC}
+ ${INSTALL_DATA} ${WRKSRC}/ext/etc/${f} ${RUBY_DOCDIR}/etc
+.endfor
+ ${INSTALL_DATA_DIR} ${RUBY_DOCDIR}/pty
+.for f in ${DOCS_PTY}
+ ${INSTALL_DATA} ${WRKSRC}/ext/pty/${f} ${RUBY_DOCDIR}/pty
+.endfor
+
+test:
+ @(cd ${WRKSRC}; make test)
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/lang/ruby-base/Makefile.common b/lang/ruby-base/Makefile.common
new file mode 100644
index 00000000000..0d60328da0c
--- /dev/null
+++ b/lang/ruby-base/Makefile.common
@@ -0,0 +1,254 @@
+# $NetBSD: Makefile.common,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+# FreeBSD: ports/Mk/bsd.ruby.mk,v 1.11 2000/11/16 17:59:40 knu Exp
+# Makefile.common: ruby common makefile, based on FreeBSD's bsd.ruby.mk.
+
+#
+# [variables that each package can define]
+#
+# RUBY_PKGNAMEPREFIX - Common PKGNAMEPREFIX for ruby packages.
+# (default: ruby${RUBY_SUFFIX}-)
+# RUBY_VER - Set to the alternative short version of ruby in the
+# form of `x.y' (see below for current value).
+# RUBY_REQD - Set to required version of ruby in the form of
+# `x.y.z'.
+# USE_RUBY - Says that the package uses ruby for building and
+# running.
+# RUBY_BUILD_DEPENDS - Says that the package should build-depend on ruby.
+# RUBY_DEPENDS - Says that the package should depend on ruby.
+# USE_RUBY_EXTCONF - Says that the package uses extconf.rb to configure.
+# Implies USE_RUBY.
+# RUBY_EXTCONF - Set to the alternative name of extconf.rb (default:
+# extconf.rb).
+# RUBY_EXTCONF_SUBDIRS - Set to list of subdirectories, if multiple modules
+# are included.
+# USE_RUBY_SETUP - Says that the package uses setup.rb to configure and
+# build. Implies USE_RUBY_AMSTD.
+# RUBY_SETUP - Set to the alternative name of setup.rb (default:
+# setup.rb).
+# REPLACE_RUBY - Specify the files whose first line be replaced.
+#
+# [variables that each package should not define]
+#
+# RUBY - Full path of ruby executable.
+# RUBY_ARCH - Directory name of architecture dependent libraries.
+# RUBY_NAME - Ruby's name with trailing suffix.
+# RUBY_VERSION - Full version of ruby without preview/beta suffix in
+# the form of `x.y.z' (see below for current value).
+# RUBY_SUFFIX - Suffix for ruby binaries and directories.
+# _RUBY_SUFFIX - String to be used as RUBY_SUFFIX. Always
+# ${RUBY_VER:S/.//}.
+# RUBY_DISTNAME - DISTNAME for the standard ruby ports, i.e. the
+# basename of the ruby distribution tarball.
+# RUBY_WRKSRC - WRKSRC for the ruby package.
+# RUBY_DISTINFO - DISTINFO file of base distribution.
+# RUBY_SHLIBVER - Major version of libruby (see below for current
+# value).
+#
+# RUBY_LIBDIR - Installation path for architecture independent
+# libraries.
+# RUBY_ARCHLIBDIR - Installation path for architecture dependent
+# libraries.
+# RUBY_SITELIBDIR - Installation path for site architecture independent
+# libraries.
+# RUBY_SITEARCHLIBDIR - Installation path for site architecture dependent
+# libraries.
+# RUBY_DOCDIR - Installation path for documents.
+# RUBY_EXAMPLESDIR - Installation path for examples.
+#
+.include "../../mk/bsd.prefs.mk"
+
+.ifndef RUBY_COMMON
+RUBY_COMMON= # defined
+
+RUBY_VER?= 1.6
+
+RUBY?= ${LOCALBASE}/bin/${RUBY_NAME}
+
+RUBY_ARCH?= ${MACHINE_ARCH}-${LOWER_OPSYS}
+RUBY_NAME?= ruby${RUBY_SUFFIX}
+
+.if ${RUBY_VER} < 1.5
+RUBY_VERSION?= 1.4.6
+RUBY_SUFFIX?= ${_RUBY_SUFFIX}
+RUBY_IRB_VERSION= 0.6.1
+.elif ${RUBY_VER} < 1.7
+RUBY_VERSION?= 1.6.4
+RUBY_SUFFIX?= # empty
+.else
+RUBY_VERSION?= 1.7 # current, not tested.
+RUBY_SUFFIX?= ${_RUBY_SUFFIX}
+.endif
+
+RUBY_DISTNAME?= ruby-${RUBY_VERSION}
+RUBY_WRKSRC?= ${WRKDIR}/${RUBY_DISTNAME}
+
+_RUBY_SUFFIX= ${RUBY_VER:S/.//}
+
+RUBY_PKGNAMEPREFIX?= ruby${RUBY_SUFFIX}- # could be rb${RUBY_SUFFIX}-
+RUBY_SHLIBVER?= ${RUBY_VERSION:S/.//}
+RUBY_SHLIBMAJOR?= ${_RUBY_SUFFIX}
+
+#CONFIGURE_TARGET?= ${RUBY_ARCH}
+
+# Directories
+RUBY_LIBDIR?= ${LOCALBASE}/lib/ruby/${RUBY_VER}
+RUBY_ARCHLIBDIR?= ${RUBY_LIBDIR}/${RUBY_ARCH}
+RUBY_SITELIBDIR?= ${LOCALBASE}/lib/ruby/site_ruby/${RUBY_VER}
+RUBY_SITEARCHLIBDIR?= ${RUBY_SITELIBDIR}/${RUBY_ARCH}
+RUBY_DOCDIR?= ${LOCALBASE}/share/doc/${RUBY_NAME}
+RUBY_EXAMPLESDIR?= ${LOCALBASE}/share/examples/${RUBY_NAME}
+
+# PLIST
+PLIST_RUBY_DIRS= RUBY_LIBDIR="${RUBY_LIBDIR}" \
+ RUBY_ARCHLIBDIR="${RUBY_ARCHLIBDIR}" \
+ RUBY_SITELIBDIR="${RUBY_SITELIBDIR}" \
+ RUBY_SITEARCHLIBDIR="${RUBY_SITEARCHLIBDIR}" \
+ RUBY_DOCDIR="${RUBY_DOCDIR}" \
+ RUBY_EXAMPLESDIR="${RUBY_EXAMPLESDIR}"
+
+PLIST_SUBST+= RUBY_VERSION="${RUBY_VERSION}" \
+ RUBY_VER="${RUBY_VER}" \
+ RUBY_SHLIBVER="${RUBY_SHLIBVER}" \
+ RUBY_SHLIBMAJOR="${RUBY_SHLIBMAJOR}" \
+ RUBY_ARCH="${RUBY_ARCH}" \
+ _RUBY_SUFFIX="${_RUBY_SUFFIX}" \
+ RUBY_SUFFIX="${RUBY_SUFFIX}" \
+ RUBY_NAME="${RUBY_NAME}" \
+ ${PLIST_RUBY_DIRS:S,DIR="${LOCALBASE}/,DIR=",}
+
+# base digest checksum
+RUBY_DISTINFO?= ${.CURDIR}/../../lang/ruby${RUBY_SUFFIX}-base/distinfo
+
+# fix shebang lines
+.if defined(REPLACE_RUBY) && !empty(REPLACE_RUBY)
+USE_RUBY= yes
+
+post-patch: replace-ruby
+
+replace-ruby:
+ @for f in ${REPLACE_RUBY}; do \
+ case $$f in \
+ /*) ;; \
+ *) f=${WRKSRC}/$$f;; \
+ esac; \
+ ${ECHO_MSG} "===> Fixing the #! line of $$f"; \
+ ${RUBY} -i -pe '$$. == 1 and sub /^#!\s*\S*(\benv\s+)?\bruby/, "#!${RUBY}"' $$f; \
+ done
+.endif
+
+# extconf.rb
+.if defined(USE_RUBY_EXTCONF)
+USE_RUBY?= yes
+
+RUBY_EXTCONF?= extconf.rb
+CONFIGURE_ARGS+= --with-opt-dir="${LOCALBASE}"
+
+do-configure: ruby-extconf-configure
+
+ruby-extconf-configure:
+.if defined(RUBY_EXTCONF_SUBDIRS)
+.for d in ${RUBY_EXTCONF_SUBDIRS}
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} in ${d} to configure"
+ @cd ${WRKSRC}/${d}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endfor
+.else
+ @${ECHO_MSG} "===> Running ${RUBY_EXTCONF} to configure"
+ @cd ${WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_EXTCONF} ${CONFIGURE_ARGS}
+.endif
+.endif
+
+# setup.rb
+.if defined(USE_RUBY_SETUP)
+USE_RUBY_AMSTD= yes
+USE_RUBY?= yes
+RUBY_SETUP?= setup.rb
+
+.if !target(do-configure)
+do-configure: ruby-setup-configure
+
+ruby-setup-configure:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to configure"
+ @cd ${WRKSRC}; \
+ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_SETUP} config ${CONFIGURE_ARGS}
+.endif
+
+.if !target(do-build)
+do-build: ruby-setup-build
+
+ruby-setup-build:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to build"
+ @cd ${WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_SETUP} setup
+.endif
+
+.if !target(do-install)
+do-install: ruby-setup-install
+
+ruby-setup-install:
+ @${ECHO_MSG} "===> Running ${RUBY_SETUP} to ${INSTALL_TARGET}"
+ cd ${WRKSRC}; \
+ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_SETUP} ${INSTALL_TARGET}
+.endif
+.endif
+
+# RUBY_REQD
+.if defined(RUBY_REQD)
+_RUBY_REQD= ${RUBY_REQD:S/.//}
+_RUBY_REQMAJOR= ${_RUBY_REQD:C/\.[0-9]+//}
+.if ${_RUBY_REQD:M[0-9]*.[0-9]*} == ""
+_RUBY_REQMINOR= 0
+.else
+_RUBY_REQMINOR= ${_RUBY_REQD:C/[0-9]+\.//}
+.endif
+_RUBY_VERSION= ${RUBY_VERSION:S/.//}
+_RUBY_VERMAJOR= ${_RUBY_VERSION:C/\.[0-9]+//}
+.if ${_RUBY_VERSION:M[0-9]*.[0-9]*} == ""
+_RUBY_VERMINOR= 0
+.else
+_RUBY_VERMINOR= ${_RUBY_VERSION:C/[0-9]+\.//}
+.endif
+_RUBY_PROVIDED!= case `expr ${_RUBY_VERMAJOR} ">" ${_RUBY_REQMAJOR}` in \
+ 1) ${ECHO} "ok"; exit 0;; \
+ esac ; \
+ case `expr ${_RUBY_VERMAJOR} "=" ${_RUBY_REQMAJOR}` in \
+ 1) case `expr ${_RUBY_VERMINOR} ">=" ${_RUBY_REQMINOR}` in \
+ 1) ${ECHO} "ok"; exit 0;; \
+ esac ;; \
+ esac; ${ECHO} "no"
+.if ${_RUBY_PROVIDED} == "no"
+IGNORE+= "This package require ruby ${RUBY_REQD} or later."
+.endif
+.else
+RUBY_REQD?= ${RUBY_VERSION}
+.endif
+
+# USE_RUBY
+.if defined(USE_RUBY)
+RUBY_DEPENDS?= yes
+.if ${RUBY_DEPENDS} != "no"
+DEPENDS+= ${RUBY_PKGNAMEPREFIX}base>=${RUBY_REQD}:../../lang/ruby${RUBY_SUFFIX}-base
+.else
+RUBY_BUILD_DEPENDS?= yes
+.if ${RUBY_BUILD_DEPENDS} != "no"
+BUILD_DEPENDS+= ${RUBY_PKGNAMEPREFIX}base>=${RUBY_REQD}:../../lang/ruby${RUBY_SUFFIX}-base
+.endif
+.endif
+.endif
+
+.if defined(USE_RUBY_AMSTD)
+.include "../../devel/ruby-amstd/Makefile.common"
+.endif
+
+MASTER_SITE_RUBY?= \
+ ftp://ftp.zetabits.com/pub/lang/ruby/${RUBY_VER}/ \
+ ftp://ftp.fu-berlin.de/unix/languages/ruby/${RUBY_VER}/ \
+ ftp://ftp.chg.ru/pub/lang/ruby/${RUBY_VER}/ \
+ ftp://ftp.TokyoNet.AD.JP/pub/misc/ruby/${RUBY_VER}/ \
+ ftp://ftp.iij.ad.jp/pub/lang/ruby/${RUBY_VER}/ \
+ ftp://ftp.krnet.ne.jp/pub/ruby/${RUBY_VER}/ \
+ ftp://ftp.nctu.edu.tw/computer-languages/ruby/${RUBY_VER}/ \
+ ftp://mirror.nucba.ac.jp/mirror/ruby/${RUBY_VER}/
+
+.endif
diff --git a/lang/ruby-base/distinfo b/lang/ruby-base/distinfo
new file mode 100644
index 00000000000..bb8153804b7
--- /dev/null
+++ b/lang/ruby-base/distinfo
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+
+SHA1 (ruby/ruby-1.6.4.tar.gz) = 8cc989b1beb462e3012744e9f4e6a512e5a1d0f9
+Size (ruby/ruby-1.6.4.tar.gz) = 900164 bytes
+SHA1 (patch-aa) = 2be4d5188da483e61cbcd221830771b83d87697d
+SHA1 (patch-ac) = 9ef79dc53b05a64d388179ef1d7a951b322f2b82
+SHA1 (patch-ad) = a6a7607397eafa12458ed7e4f97941dc24362887
+SHA1 (patch-ae) = 294af53a7509372f0d7c17230c605d790f1e7bb2
+SHA1 (patch-af) = f53576f6274fec3312d273dc4dc8129a03e4a419
+SHA1 (patch-aj) = d6462ffd8dd5e3ea3cdca5baeba6073f1f3d8749
diff --git a/lang/ruby-base/patches/patch-aa b/lang/ruby-base/patches/patch-aa
new file mode 100644
index 00000000000..352048ed7f6
--- /dev/null
+++ b/lang/ruby-base/patches/patch-aa
@@ -0,0 +1,67 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+
+--- configure.in.orig Fri Jun 1 11:34:50 2001
++++ configure.in
+@@ -501,12 +501,7 @@
+ beos*) ;;
+ cygwin*) ;;
+ mingw*) ;;
+- netbsd*) CCDLFLAGS=-fpic
+- case "$target_cpu" in
+- mips*) CCDLFLAGS=-fPIC ;;
+- sparc) CCDLFLAGS=-fPIC ;;
+- *) ;;
+- esac ;;
++ netbsd*) CCDLFLAGS=-fPIC;;
+ *) CCDLFLAGS=-fPIC;;
+ esac
+ else
+@@ -553,10 +548,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 ;;
+@@ -823,11 +816,13 @@
+ ;;
+ netbsd*)
+ SOLIBS='$(LIBS)'
+- 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)'
++ LIBRUBYARG='-Wl,-R -Wl,${prefix}/lib -L${prefix}/lib -L. -l$(RUBY_INSTALL_NAME) -Wl,-R -Wl,${X11BASE}/lib -L${X11BASE}/lib'
+ 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'
++ else # a.out platforms
++ LIBRUBY_ALIASES=""
+ fi
+ ;;
+ openbsd*)
+@@ -871,6 +866,9 @@
+ fi
+
+ case "$target_os" in
++ netbsd*)
++ CFLAGS="$CFLAGS -pipe"
++ ;;
+ nextstep*)
+ CFLAGS="$CFLAGS -pipe"
+ ;;
+@@ -938,6 +936,7 @@
+ ;;
+ esac
+
++AC_SUBST(X11BASE)
+ AC_SUBST(LIBRUBY_LDSHARED)
+ AC_SUBST(LIBRUBY_DLDFLAGS)
+ AC_SUBST(RUBY_INSTALL_NAME)
diff --git a/lang/ruby-base/patches/patch-ac b/lang/ruby-base/patches/patch-ac
new file mode 100644
index 00000000000..dd51bdb8e94
--- /dev/null
+++ b/lang/ruby-base/patches/patch-ac
@@ -0,0 +1,24 @@
+$NetBSD: patch-ac,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+
+--- ext/curses/extconf.rb.orig Wed Mar 21 17:04:11 2001
++++ ext/curses/extconf.rb
+@@ -6,17 +6,9 @@
+
+ make=false
+ have_library("mytinfo", "tgetent") if /bow/ =~ RUBY_PLATFORM
+-if have_header("ncurses.h") and have_library("ncurses", "initscr")
++have_library("termcap", "tgetent")
++if have_library("curses", "initscr")
+ make=true
+-elsif have_header("ncurses/curses.h") and have_library("ncurses", "initscr")
+- make=true
+-elsif have_header("curses_colr/curses.h") and have_library("cur_colr", "initscr")
+- make=true
+-else
+- have_library("termcap", "tgetent")
+- if have_library("curses", "initscr")
+- make=true
+- end
+ end
+
+ if make
diff --git a/lang/ruby-base/patches/patch-ad b/lang/ruby-base/patches/patch-ad
new file mode 100644
index 00000000000..5cac9399819
--- /dev/null
+++ b/lang/ruby-base/patches/patch-ad
@@ -0,0 +1,11 @@
+$NetBSD: patch-ad,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+
+--- ext/socket/extconf.rb.orig Mon May 21 13:19:49 2001
++++ ext/socket/extconf.rb
+@@ -1,6 +1,5 @@
+ require 'mkmf'
+
+-$LIBPATH << "/usr/local/lib" if File.directory?("/usr/local/lib")
+ $CPPFLAGS += " -Dss_family=__ss_family -Dss_len=__ss_len"
+
+ case RUBY_PLATFORM
diff --git a/lang/ruby-base/patches/patch-ae b/lang/ruby-base/patches/patch-ae
new file mode 100644
index 00000000000..0409c05f03e
--- /dev/null
+++ b/lang/ruby-base/patches/patch-ae
@@ -0,0 +1,38 @@
+$NetBSD: patch-ae,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+
+--- instruby.rb.orig Tue May 1 17:43:15 2001
++++ instruby.rb
+@@ -76,27 +76,25 @@
+ end
+ Dir.chdir CONFIG["srcdir"]
+
+-File.install "sample/irb.rb", "#{bindir}/irb", 0755, true
+-
+ Find.find("lib") do |f|
+ next unless /\.rb$/ =~ f || /help-message$/ =~ 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|mingw/
+ File.makedirs archlibdir + "/win32", true
+ File.install "win32/win32.h", archlibdir + "/win32", 0644, true
+ 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+"/"+ruby_install_name+".1", 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/ruby-base/patches/patch-af b/lang/ruby-base/patches/patch-af
new file mode 100644
index 00000000000..41c4bcb128d
--- /dev/null
+++ b/lang/ruby-base/patches/patch-af
@@ -0,0 +1,13 @@
+$NetBSD: patch-af,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+
+--- lib/mkmf.rb.orig Mon May 21 13:19:49 2001
++++ lib/mkmf.rb
+@@ -160,7 +160,7 @@
+ for f in path
+ d = '/' + File::dirname(f)
+ d = '' if d == '/.'
+- mfile.printf "\t@$(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0644, true)' %s/%s %s%s\n", libdir, f, dest, d
++ mfile.printf "\t@$(RUBY) -r ftools -e 'File::install(ARGV[0], ARGV[1], 0444, true)' %s/%s %s%s\n", libdir, f, dest, d
+ end
+ end
+
diff --git a/lang/ruby-base/patches/patch-aj b/lang/ruby-base/patches/patch-aj
new file mode 100644
index 00000000000..28cb9fd1c18
--- /dev/null
+++ b/lang/ruby-base/patches/patch-aj
@@ -0,0 +1,13 @@
+$NetBSD: patch-aj,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+
+--- ext/extmk.rb.in.orig Tue May 29 17:57:26 2001
++++ ext/extmk.rb.in Fri Jun 29 00:09:27 2001
+@@ -177,7 +177,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/ruby-base/pkg/DESCR b/lang/ruby-base/pkg/DESCR
new file mode 100644
index 00000000000..373446e6eef
--- /dev/null
+++ b/lang/ruby-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/ruby-base/pkg/MESSAGE b/lang/ruby-base/pkg/MESSAGE
new file mode 100644
index 00000000000..89c092cba60
--- /dev/null
+++ b/lang/ruby-base/pkg/MESSAGE
@@ -0,0 +1,12 @@
+====
+Note that some stuff that comes with the standard Ruby 1.6
+distribution is provided as separate package:
+
+ databases/ruby-gdbm: GDBM module
+ security/ruby-md5: MD5 module
+ devel/ruby-readline: readline module
+ x11/ruby-tcltklib: Tcl/Tk libraries
+ x11/ruby-tk: Tk modules
+
+They could install with ruby meta package.
+====
diff --git a/lang/ruby-base/pkg/PLIST b/lang/ruby-base/pkg/PLIST
new file mode 100644
index 00000000000..f38165b0bae
--- /dev/null
+++ b/lang/ruby-base/pkg/PLIST
@@ -0,0 +1,211 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/06/30 08:07:10 taca Exp $
+bin/irb
+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}/cgi/session.rb
+@dirrm ${RUBY_LIBDIR}/cgi
+${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}/forwardable.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/context.rb
+${RUBY_LIBDIR}/irb/extend-command.rb
+${RUBY_LIBDIR}/irb/frame.rb
+${RUBY_LIBDIR}/irb/help.rb
+${RUBY_LIBDIR}/irb/init.rb
+${RUBY_LIBDIR}/irb/input-method.rb
+${RUBY_LIBDIR}/irb/lc/error.rb
+${RUBY_LIBDIR}/irb/lc/help-message
+${RUBY_LIBDIR}/irb/lc/ja/error.rb
+${RUBY_LIBDIR}/irb/lc/ja/help-message
+@dirrm ${RUBY_LIBDIR}/irb/lc/ja
+@dirrm ${RUBY_LIBDIR}/irb/lc
+${RUBY_LIBDIR}/irb/loader.rb
+${RUBY_LIBDIR}/irb/locale.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.rb
+${RUBY_LIBDIR}/irb/ws-for-case-2.rb
+${RUBY_LIBDIR}/irb/xmp.rb
+@dirrm ${RUBY_LIBDIR}/irb
+${RUBY_LIBDIR}/irb.rb
+${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}/net/ftp.rb
+${RUBY_LIBDIR}/net/http.rb
+${RUBY_LIBDIR}/net/imap.rb
+${RUBY_LIBDIR}/net/pop.rb
+${RUBY_LIBDIR}/net/protocol.rb
+${RUBY_LIBDIR}/net/smtp.rb
+${RUBY_LIBDIR}/net/telnet.rb
+@dirrm ${RUBY_LIBDIR}/net
+${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}/shell.rb
+${RUBY_LIBDIR}/shell/builtin-command.rb
+${RUBY_LIBDIR}/shell/command-processor.rb
+${RUBY_LIBDIR}/shell/error.rb
+${RUBY_LIBDIR}/shell/filter.rb
+${RUBY_LIBDIR}/shell/process-controller.rb
+${RUBY_LIBDIR}/shell/system-command.rb
+${RUBY_LIBDIR}/shell/version.rb
+@dirrm ${RUBY_LIBDIR}/shell
+${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
+@exec /bin/mkdir -p %D/${RUBY_SITEARCHLIBDIR}
+@dirrm ${RUBY_SITEARCHLIBDIR}
+@dirrm ${RUBY_SITELIBDIR}
+@dirrm lib/ruby/site_ruby
+@dirrm ${RUBY_ARCHLIBDIR}
+@dirrm ${RUBY_LIBDIR}
+@dirrm lib/ruby
+man/man1/ruby16.1
+man/man1/ruby.1
+${RUBY_DOCDIR}/NEWS
+${RUBY_DOCDIR}/README
+${RUBY_DOCDIR}/README.EXT
+${RUBY_DOCDIR}/README.EXT.jp
+${RUBY_DOCDIR}/README.jp
+${RUBY_DOCDIR}/ToDo
+${RUBY_DOCDIR}/etc/etc.txt
+${RUBY_DOCDIR}/etc/etc.txt.jp
+${RUBY_DOCDIR}/forwardable.rd
+${RUBY_DOCDIR}/forwardable.rd.jp
+${RUBY_DOCDIR}/pty/README
+${RUBY_DOCDIR}/pty/README.expect
+${RUBY_DOCDIR}/pty/README.expect.jp
+${RUBY_DOCDIR}/pty/README.jp
+${RUBY_DOCDIR}/shell.rd
+${RUBY_DOCDIR}/shell.rd.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}/pty/expect_sample.rb
+${RUBY_EXAMPLESDIR}/pty/script.rb
+${RUBY_EXAMPLESDIR}/pty/shl.rb
+@dirrm ${RUBY_EXAMPLESDIR}/pty
+${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
+@dirrm ${RUBY_EXAMPLESDIR}