summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorAkinori MUSHA <knu@FreeBSD.org>2002-12-12 12:53:03 +0000
committerAkinori MUSHA <knu@FreeBSD.org>2002-12-12 12:53:03 +0000
commit0d3df60c24898be91b03264458423280da3d3f20 (patch)
tree58b3536eb3544ea1fa71ed7cb2522606b66751d0 /lang
parentWoops, forgot the post-install part (diff)
Update lang/ruby to 1.6.8-preview3, lang/ruby16-shim-ruby18 to
1.7.3.2002.12.11, and lang/ruby-devel to 1.7.3-2002.12.12. - Fix a few bugs that lead to core dump, one in the ruby interpreter and another in the syslog module. Reported by: ume (net/dtcp was a victim) - Fix an installation problem occasionally seen on bento. (a bug in Makefile that caused race) Submitted by: bento - Fix a problem that irb(1) didn't work because the symlink was wrong. Submitted by: Jos Backus <jos@catnook.com> - Get rid of move & symlink spaghetti completely from the installation process. Discussed with: portmgr (will)
Notes
Notes: svn path=/head/; revision=71577
Diffstat (limited to 'lang')
-rw-r--r--lang/ruby-devel/Makefile31
-rw-r--r--lang/ruby-devel/distinfo2
-rw-r--r--lang/ruby/Makefile48
-rw-r--r--lang/ruby/distinfo2
-rw-r--r--lang/ruby/files/patch-tempfile.rb147
-rw-r--r--lang/ruby/pkg-plist1
-rw-r--r--lang/ruby16-shim-ruby18/Makefile20
-rw-r--r--lang/ruby16-shim-ruby18/distinfo2
-rw-r--r--lang/ruby16-shim-ruby18/pkg-plist2
-rw-r--r--lang/ruby16/Makefile48
-rw-r--r--lang/ruby16/distinfo2
-rw-r--r--lang/ruby16/files/patch-tempfile.rb147
-rw-r--r--lang/ruby16/pkg-plist1
-rw-r--r--lang/ruby18/Makefile31
-rw-r--r--lang/ruby18/distinfo2
15 files changed, 52 insertions, 434 deletions
diff --git a/lang/ruby-devel/Makefile b/lang/ruby-devel/Makefile
index 33e6f238e06a..d919b28864e2 100644
--- a/lang/ruby-devel/Makefile
+++ b/lang/ruby-devel/Makefile
@@ -10,7 +10,7 @@ PORTVERSION= ${RUBY_PORTVERSION}
CATEGORIES= lang ruby ipv6
MASTER_SITES= ${MASTER_SITE_RUBY} \
${ONIGURUMA_MASTER_SITES:S,$,:oniguruma,}
-MASTER_SITE_SUBDIR= snapshots \
+MASTER_SITE_SUBDIR= ${MASTER_SITE_SUBDIR_RUBY} \
${ONIGURUMA_MASTER_SITE_SUBDIR:S,$,/:oniguruma,}
DISTFILES= ${RUBY_DISTNAME}${EXTRACT_SUFX} \
${ONIGURUMA_DISTFILE:S,$,:oniguruma,}
@@ -115,34 +115,17 @@ post-patch:
${MV} ${WRKSRC}/ext/${d} ${WRKDIR}/
.endfor
-pre-install:
- ${RM} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1 \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1.gz
-
post-install:
.if defined(STRIP) && ${STRIP} == -s
${STRIP_CMD} ${RUBY}
.endif
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
- ${MV} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
- ${MV} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
-.endif
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ]; then \
- ${LN} -fs ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ${RUBY_WITHOUT_SUFFIX}${RUBY_R}; \
- ${LN} -fs ruby${RUBY_DEFAULT_SUFFIX}${RUBY_R}.1${MANEXT} ${PREFIX}/man/man1/ruby${RUBY_R}.1${MANEXT}; \
- fi
- if [ -x ${RUBY_WITHOUT_SUFFIX} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${RUBY_DEFAULT_SUFFIX} $${f}; \
- done; \
- fi
-.if !empty(RUBY_R)
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${_RUBY_SUFFIX} $${f}${RUBY_R}; \
- done; \
- fi
+# Link just installed "ruby" to "ruby17", etc.
+ ${LN} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
+ ${LN} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
+ for f in ${INSTALLED_SCRIPTS}; do \
+ ${LN} -f $${f}${RUBY_R} $${f}${_RUBY_SUFFIX}; \
+ done
.endif
${LDCONFIG} -m ${PREFIX}/lib
${MKDIR} ${RUBY_ELISPDIR}
diff --git a/lang/ruby-devel/distinfo b/lang/ruby-devel/distinfo
index c274e83098fa..49443af3684c 100644
--- a/lang/ruby-devel/distinfo
+++ b/lang/ruby-devel/distinfo
@@ -1,2 +1,2 @@
-MD5 (ruby/ruby-1.7.3-2002.11.22.tar.bz2) = fafe9cbd17e49dbf356710bc5751d78a
+MD5 (ruby/ruby-1.7.3-2002.12.12.tar.bz2) = d200f52d1f7c3a624408b2ebabc66823
MD5 (ruby/onigd20020424.tar.gz) = d5e6505aa776378a58cdb0fd4ef9cdc0
diff --git a/lang/ruby/Makefile b/lang/ruby/Makefile
index a98a37f92e3f..e17bcabb2967 100644
--- a/lang/ruby/Makefile
+++ b/lang/ruby/Makefile
@@ -7,11 +7,10 @@
PORTNAME= ruby${RUBY_R}
PORTVERSION= ${RUBY_PORTVERSION}
-PORTREVISION= 1
CATEGORIES= lang ruby ipv6
MASTER_SITES= ${MASTER_SITE_RUBY} \
${ONIGURUMA_MASTER_SITES:S,$,:oniguruma,}
-MASTER_SITE_SUBDIR= ${RUBY_VER} \
+MASTER_SITE_SUBDIR= ${MASTER_SITE_SUBDIR_RUBY} \
${ONIGURUMA_MASTER_SITE_SUBDIR:S,$,/:oniguruma,}
DISTFILES= ${RUBY_DISTNAME}${EXTRACT_SUFX} \
${ONIGURUMA_DISTFILE:S,$,:oniguruma,}
@@ -98,54 +97,19 @@ post-patch:
${MV} ${WRKSRC}/ext/${d} ${WRKDIR}/
.endfor
-pre-install:
- ${RM} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1 \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1.gz
- for f in ${INSTALLED_SCRIPTS}; do \
- ${RM} -f $${f}${RUBY_R}; \
- done
-
post-install:
.if defined(STRIP) && ${STRIP} == -s
- strip ${RUBY}
+ ${STRIP_CMD} ${RUBY}
.endif
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
- ${MV} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
- ${MV} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
-.endif
+# Link just installed "ruby" to "ruby16", etc.
+ ${LN} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
+ ${LN} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
for f in ${INSTALLED_SCRIPTS}; do \
- ${MV} -f $${f} $${f}${_RUBY_SUFFIX}; \
+ ${LN} -f $${f}${RUBY_R} $${f}${_RUBY_SUFFIX}; \
done
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ]; then \
- ${LN} -fs ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ${RUBY_WITHOUT_SUFFIX}${RUBY_R}; \
- ${LN} -fs ruby${RUBY_DEFAULT_SUFFIX}${RUBY_R}.1${MANEXT} ${PREFIX}/man/man1/ruby${RUBY_R}.1${MANEXT}; \
- fi
- if [ -x ${RUBY_WITHOUT_SUFFIX} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${RUBY_DEFAULT_SUFFIX} $${f}; \
- done; \
- fi
-.if !empty(RUBY_R)
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${_RUBY_SUFFIX} $${f}${RUBY_R}; \
- done; \
- fi
.endif
${LDCONFIG} -m ${PREFIX}/lib
-.for f in ${INSTALLED_SCRIPTS}
- ${RUBY_WITH_SUFFIX} ${RUBY_FLAGS} -i -p \
- -e 'if $$. == 1; ' \
- -e ' if /^#!/; ' \
- -e ' sub /^#!\s*\S*(\benv\s+)?\bruby/, "#!${RUBY_WITH_SUFFIX}";' \
- -e ' else;' \
- -e ' $$_ = "#!${RUBY_WITH_SUFFIX}\n" + $$_;' \
- -e ' end;' \
- -e 'end' \
- ${f}${_RUBY_SUFFIX}
- ${CHMOD} ${BINMODE} ${f}${_RUBY_SUFFIX}
-.endfor
${MKDIR} ${RUBY_ELISPDIR}
${TOUCH} ${RUBY_ELISPDIR}/.keep_me
${MKDIR} ${RUBY_EXAMPLESDIR}
diff --git a/lang/ruby/distinfo b/lang/ruby/distinfo
index b3222d665b72..f56d489e170b 100644
--- a/lang/ruby/distinfo
+++ b/lang/ruby/distinfo
@@ -1,2 +1,2 @@
-MD5 (ruby/ruby-1.6.8-preview2.tar.gz) = ff93e8f0c7a5050cba5dcd3f7dba2d7e
+MD5 (ruby/ruby-1.6.8-preview3.tar.gz) = 6b8fb98d9e11307b087bcfd4f38b2f6a
MD5 (ruby/onigd20020424.tar.gz) = d5e6505aa776378a58cdb0fd4ef9cdc0
diff --git a/lang/ruby/files/patch-tempfile.rb b/lang/ruby/files/patch-tempfile.rb
deleted file mode 100644
index c245ec48c254..000000000000
--- a/lang/ruby/files/patch-tempfile.rb
+++ /dev/null
@@ -1,147 +0,0 @@
-Index: lib/tempfile.rb
-===================================================================
-RCS file: /src/ruby/lib/tempfile.rb,v
-retrieving revision 1.6.2.2
-retrieving revision 1.6.2.4
-diff -u -r1.6.2.2 -r1.6.2.4
---- lib/tempfile.rb 11 Sep 2002 07:17:18 -0000 1.6.2.2
-+++ lib/tempfile.rb 18 Nov 2002 07:26:44 -0000 1.6.2.4
-@@ -1,31 +1,43 @@
- #
--# $Id: tempfile.rb,v 1.6.2.2 2002/09/11 07:17:18 knu Exp $
-+# $Id: tempfile.rb,v 1.6.2.4 2002/11/18 07:26:44 knu Exp $
- #
--# The class for temporary files.
--# o creates a temporary file, which name is "basename.pid.n" with mode "w+".
--# o Tempfile objects can be used like IO object.
--# o with tempfile.close(true) created temporary files are removed.
--# o created files are also removed on script termination.
--# o with Tempfile#open, you can reopen the temporary file.
--# o file mode of the temporary files are 0600.
-+# This is a class for managing temporary files.
-+#
-+# o Tempfile::new("basename") creates a temporary file whose name is
-+# "basename.pid.n" and opens with mode "w+".
-+# o A Tempfile object can be treated as an IO object.
-+# o The temporary directory is determined by ENV['TMPDIR'],
-+# ENV['TMP'], and ENV['TEMP'] in the order named, and if none of
-+# them is available, it is set to /tmp.
-+# o When $SAFE > 0, you should specify a directory via the second argument
-+# of Tempfile::new(), or it will end up finding an ENV value tainted and
-+# pick /tmp. In case you don't have it, an exception will be raised.
-+# o Tempfile#close(true) gets the temporary file removed immediately.
-+# o Otherwise, the removal is delayed until the object is finalized.
-+# o With Tempfile#open, you can reopen the temporary file.
-+# o The file mode for the temporary files is 0600.
-+# o This library is (considered to be) thread safe.
-
- require 'delegate'
-
- class Tempfile < SimpleDelegator
- Max_try = 10
-+ @@cleanlist = []
-
-- def Tempfile.callback(path, data)
-+ def Tempfile.callback(data)
- pid = $$
- lambda{
- if pid == $$
-+ path, tmpfile, cleanlist = *data
-+
- print "removing ", path, "..." if $DEBUG
-- data[0].close if data[0]
-- if File.exist?(path)
-- File.unlink(path)
-- end
-- if File.exist?(path + '.lock')
-- Dir.rmdir(path + '.lock')
-- end
-+
-+ tmpfile.close if tmpfile
-+
-+ # keep this order for thread safeness
-+ File.unlink(path) if File.exist?(path)
-+ cleanlist.delete(path) if cleanlist
-+
- print "done\n" if $DEBUG
- end
- }
-@@ -35,30 +47,44 @@
- if $SAFE > 0 and tmpdir.tainted?
- tmpdir = '/tmp'
- end
-- n = 0
-- while true
-+
-+ lock = nil
-+ n = failure = 0
-+
-+ begin
-+ Thread.critical = true
-+
- begin
- tmpname = sprintf('%s/%s%d.%d', tmpdir, basename, $$, n)
- lock = tmpname + '.lock'
-- unless File.exist?(tmpname) or File.exist?(lock)
-- Dir.mkdir(lock)
-- break
-- end
-- rescue
-- raise "cannot generate tempfile `%s'" % tmpname if n >= Max_try
-- #sleep(1)
-- end
-- n += 1
-+ n += 1
-+ end while @@cleanlist.include?(tmpname) or
-+ File.exist?(lock) or File.exist?(tmpname)
-+
-+ Dir.mkdir(lock)
-+ rescue
-+ failure += 1
-+ retry if failure < Max_try
-+ raise "cannot generate tempfile `%s'" % tmpname
-+ ensure
-+ Thread.critical = false
- end
-
-- @protect = []
-- @clean_files = Tempfile.callback(tmpname, @protect)
-- ObjectSpace.define_finalizer(self, @clean_files)
-+ @data = [tmpname]
-+ @clean_proc = Tempfile.callback(@data)
-+ ObjectSpace.define_finalizer(self, @clean_proc)
-
- @tmpfile = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL, 0600)
-- @protect[0] = @tmpfile
- @tmpname = tmpname
-+ @@cleanlist << @tmpname
-+ @data[1] = @tmpfile
-+ @data[2] = @@cleanlist
-+
- super(@tmpfile)
-+
-+ # Now we have all the File/IO methods defined, you must not
-+ # carelessly put bare puts(), etc. after this.
-+
- Dir.rmdir(lock)
- end
-
-@@ -69,15 +95,15 @@
- def open
- @tmpfile.close if @tmpfile
- @tmpfile = File.open(@tmpname, 'r+')
-- @protect[0] = @tmpfile
-+ @data[1] = @tmpfile
- __setobj__(@tmpfile)
- end
-
- def close(real=false)
- @tmpfile.close if @tmpfile
-- @protect[0] = @tmpfile = nil
-+ @data[1] = @tmpfile = nil
- if real
-- @clean_files.call
-+ @clean_proc.call
- ObjectSpace.undefine_finalizer(self)
- end
- end
diff --git a/lang/ruby/pkg-plist b/lang/ruby/pkg-plist
index d2559ed5c3d4..8df9c173f247 100644
--- a/lang/ruby/pkg-plist
+++ b/lang/ruby/pkg-plist
@@ -217,7 +217,6 @@ lib/lib%%RUBY_NAME%%.so.%%RUBY_SHLIBVER%%
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/fullpath.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/getopts.test
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/goodfriday.rb
-%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/irb.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/less.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/list.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/list2.rb
diff --git a/lang/ruby16-shim-ruby18/Makefile b/lang/ruby16-shim-ruby18/Makefile
index dcc7367d0fa4..d5a6bab51f13 100644
--- a/lang/ruby16-shim-ruby18/Makefile
+++ b/lang/ruby16-shim-ruby18/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= shim-ruby18
-PORTVERSION= 1.7.3.2002.11.10
+PORTVERSION= 1.7.3.2002.12.11
CATEGORIES= lang devel ruby
MASTER_SITES= ${MASTER_SITE_RUBY}
MASTER_SITE_SUBDIR= shim
@@ -30,7 +30,25 @@ WRKSRC= ${WRKDIR}/shim/ruby16
IGNORE= is only for ruby 1.6, ruby ${RUBY_VER} does not need it
.endif
+.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
+IF_DEFAULT= ""
+.else
+IF_DEFAULT= "@comment "
+.endif
+
+INSTALLED_SCRIPTS= ${PREFIX}/bin/erb
+
+PLIST_SUB+= IF_DEFAULT=${IF_DEFAULT} \
+
pre-install:
${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+post-install:
+.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
+ for f in ${INSTALLED_SCRIPTS}; do \
+ ${LN} -f $${f}${RUBY_R} $${f}${_RUBY_SUFFIX}; \
+ done
+.endif
+
+
.include <bsd.port.post.mk>
diff --git a/lang/ruby16-shim-ruby18/distinfo b/lang/ruby16-shim-ruby18/distinfo
index 5398c13066a9..a39230c5c5a0 100644
--- a/lang/ruby16-shim-ruby18/distinfo
+++ b/lang/ruby16-shim-ruby18/distinfo
@@ -1 +1 @@
-MD5 (ruby/shim-ruby16_18-1.7.3.2002.11.10.tar.bz2) = 04ff91afa6db0b33153b871d64bbb453
+MD5 (ruby/shim-ruby16_18-1.7.3.2002.12.11.tar.bz2) = 66b2e02c5d64b4c684d0e0ff39039d65
diff --git a/lang/ruby16-shim-ruby18/pkg-plist b/lang/ruby16-shim-ruby18/pkg-plist
index b3234ef33adf..00e950195a68 100644
--- a/lang/ruby16-shim-ruby18/pkg-plist
+++ b/lang/ruby16-shim-ruby18/pkg-plist
@@ -1,3 +1,5 @@
+%%IF_DEFAULT%%bin/erb%%RUBY_R%%
+bin/erb%%_RUBY_SUFFIX%%
@comment features/ruby18
%%RUBY_SITEARCHLIBDIR%%/features/ruby18/file_ruby18.so
%%RUBY_SITEARCHLIBDIR%%/features/ruby18/io_ruby18.so
diff --git a/lang/ruby16/Makefile b/lang/ruby16/Makefile
index a98a37f92e3f..e17bcabb2967 100644
--- a/lang/ruby16/Makefile
+++ b/lang/ruby16/Makefile
@@ -7,11 +7,10 @@
PORTNAME= ruby${RUBY_R}
PORTVERSION= ${RUBY_PORTVERSION}
-PORTREVISION= 1
CATEGORIES= lang ruby ipv6
MASTER_SITES= ${MASTER_SITE_RUBY} \
${ONIGURUMA_MASTER_SITES:S,$,:oniguruma,}
-MASTER_SITE_SUBDIR= ${RUBY_VER} \
+MASTER_SITE_SUBDIR= ${MASTER_SITE_SUBDIR_RUBY} \
${ONIGURUMA_MASTER_SITE_SUBDIR:S,$,/:oniguruma,}
DISTFILES= ${RUBY_DISTNAME}${EXTRACT_SUFX} \
${ONIGURUMA_DISTFILE:S,$,:oniguruma,}
@@ -98,54 +97,19 @@ post-patch:
${MV} ${WRKSRC}/ext/${d} ${WRKDIR}/
.endfor
-pre-install:
- ${RM} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1 \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1.gz
- for f in ${INSTALLED_SCRIPTS}; do \
- ${RM} -f $${f}${RUBY_R}; \
- done
-
post-install:
.if defined(STRIP) && ${STRIP} == -s
- strip ${RUBY}
+ ${STRIP_CMD} ${RUBY}
.endif
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
- ${MV} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
- ${MV} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
-.endif
+# Link just installed "ruby" to "ruby16", etc.
+ ${LN} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
+ ${LN} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
for f in ${INSTALLED_SCRIPTS}; do \
- ${MV} -f $${f} $${f}${_RUBY_SUFFIX}; \
+ ${LN} -f $${f}${RUBY_R} $${f}${_RUBY_SUFFIX}; \
done
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ]; then \
- ${LN} -fs ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ${RUBY_WITHOUT_SUFFIX}${RUBY_R}; \
- ${LN} -fs ruby${RUBY_DEFAULT_SUFFIX}${RUBY_R}.1${MANEXT} ${PREFIX}/man/man1/ruby${RUBY_R}.1${MANEXT}; \
- fi
- if [ -x ${RUBY_WITHOUT_SUFFIX} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${RUBY_DEFAULT_SUFFIX} $${f}; \
- done; \
- fi
-.if !empty(RUBY_R)
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${_RUBY_SUFFIX} $${f}${RUBY_R}; \
- done; \
- fi
.endif
${LDCONFIG} -m ${PREFIX}/lib
-.for f in ${INSTALLED_SCRIPTS}
- ${RUBY_WITH_SUFFIX} ${RUBY_FLAGS} -i -p \
- -e 'if $$. == 1; ' \
- -e ' if /^#!/; ' \
- -e ' sub /^#!\s*\S*(\benv\s+)?\bruby/, "#!${RUBY_WITH_SUFFIX}";' \
- -e ' else;' \
- -e ' $$_ = "#!${RUBY_WITH_SUFFIX}\n" + $$_;' \
- -e ' end;' \
- -e 'end' \
- ${f}${_RUBY_SUFFIX}
- ${CHMOD} ${BINMODE} ${f}${_RUBY_SUFFIX}
-.endfor
${MKDIR} ${RUBY_ELISPDIR}
${TOUCH} ${RUBY_ELISPDIR}/.keep_me
${MKDIR} ${RUBY_EXAMPLESDIR}
diff --git a/lang/ruby16/distinfo b/lang/ruby16/distinfo
index b3222d665b72..f56d489e170b 100644
--- a/lang/ruby16/distinfo
+++ b/lang/ruby16/distinfo
@@ -1,2 +1,2 @@
-MD5 (ruby/ruby-1.6.8-preview2.tar.gz) = ff93e8f0c7a5050cba5dcd3f7dba2d7e
+MD5 (ruby/ruby-1.6.8-preview3.tar.gz) = 6b8fb98d9e11307b087bcfd4f38b2f6a
MD5 (ruby/onigd20020424.tar.gz) = d5e6505aa776378a58cdb0fd4ef9cdc0
diff --git a/lang/ruby16/files/patch-tempfile.rb b/lang/ruby16/files/patch-tempfile.rb
deleted file mode 100644
index c245ec48c254..000000000000
--- a/lang/ruby16/files/patch-tempfile.rb
+++ /dev/null
@@ -1,147 +0,0 @@
-Index: lib/tempfile.rb
-===================================================================
-RCS file: /src/ruby/lib/tempfile.rb,v
-retrieving revision 1.6.2.2
-retrieving revision 1.6.2.4
-diff -u -r1.6.2.2 -r1.6.2.4
---- lib/tempfile.rb 11 Sep 2002 07:17:18 -0000 1.6.2.2
-+++ lib/tempfile.rb 18 Nov 2002 07:26:44 -0000 1.6.2.4
-@@ -1,31 +1,43 @@
- #
--# $Id: tempfile.rb,v 1.6.2.2 2002/09/11 07:17:18 knu Exp $
-+# $Id: tempfile.rb,v 1.6.2.4 2002/11/18 07:26:44 knu Exp $
- #
--# The class for temporary files.
--# o creates a temporary file, which name is "basename.pid.n" with mode "w+".
--# o Tempfile objects can be used like IO object.
--# o with tempfile.close(true) created temporary files are removed.
--# o created files are also removed on script termination.
--# o with Tempfile#open, you can reopen the temporary file.
--# o file mode of the temporary files are 0600.
-+# This is a class for managing temporary files.
-+#
-+# o Tempfile::new("basename") creates a temporary file whose name is
-+# "basename.pid.n" and opens with mode "w+".
-+# o A Tempfile object can be treated as an IO object.
-+# o The temporary directory is determined by ENV['TMPDIR'],
-+# ENV['TMP'], and ENV['TEMP'] in the order named, and if none of
-+# them is available, it is set to /tmp.
-+# o When $SAFE > 0, you should specify a directory via the second argument
-+# of Tempfile::new(), or it will end up finding an ENV value tainted and
-+# pick /tmp. In case you don't have it, an exception will be raised.
-+# o Tempfile#close(true) gets the temporary file removed immediately.
-+# o Otherwise, the removal is delayed until the object is finalized.
-+# o With Tempfile#open, you can reopen the temporary file.
-+# o The file mode for the temporary files is 0600.
-+# o This library is (considered to be) thread safe.
-
- require 'delegate'
-
- class Tempfile < SimpleDelegator
- Max_try = 10
-+ @@cleanlist = []
-
-- def Tempfile.callback(path, data)
-+ def Tempfile.callback(data)
- pid = $$
- lambda{
- if pid == $$
-+ path, tmpfile, cleanlist = *data
-+
- print "removing ", path, "..." if $DEBUG
-- data[0].close if data[0]
-- if File.exist?(path)
-- File.unlink(path)
-- end
-- if File.exist?(path + '.lock')
-- Dir.rmdir(path + '.lock')
-- end
-+
-+ tmpfile.close if tmpfile
-+
-+ # keep this order for thread safeness
-+ File.unlink(path) if File.exist?(path)
-+ cleanlist.delete(path) if cleanlist
-+
- print "done\n" if $DEBUG
- end
- }
-@@ -35,30 +47,44 @@
- if $SAFE > 0 and tmpdir.tainted?
- tmpdir = '/tmp'
- end
-- n = 0
-- while true
-+
-+ lock = nil
-+ n = failure = 0
-+
-+ begin
-+ Thread.critical = true
-+
- begin
- tmpname = sprintf('%s/%s%d.%d', tmpdir, basename, $$, n)
- lock = tmpname + '.lock'
-- unless File.exist?(tmpname) or File.exist?(lock)
-- Dir.mkdir(lock)
-- break
-- end
-- rescue
-- raise "cannot generate tempfile `%s'" % tmpname if n >= Max_try
-- #sleep(1)
-- end
-- n += 1
-+ n += 1
-+ end while @@cleanlist.include?(tmpname) or
-+ File.exist?(lock) or File.exist?(tmpname)
-+
-+ Dir.mkdir(lock)
-+ rescue
-+ failure += 1
-+ retry if failure < Max_try
-+ raise "cannot generate tempfile `%s'" % tmpname
-+ ensure
-+ Thread.critical = false
- end
-
-- @protect = []
-- @clean_files = Tempfile.callback(tmpname, @protect)
-- ObjectSpace.define_finalizer(self, @clean_files)
-+ @data = [tmpname]
-+ @clean_proc = Tempfile.callback(@data)
-+ ObjectSpace.define_finalizer(self, @clean_proc)
-
- @tmpfile = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL, 0600)
-- @protect[0] = @tmpfile
- @tmpname = tmpname
-+ @@cleanlist << @tmpname
-+ @data[1] = @tmpfile
-+ @data[2] = @@cleanlist
-+
- super(@tmpfile)
-+
-+ # Now we have all the File/IO methods defined, you must not
-+ # carelessly put bare puts(), etc. after this.
-+
- Dir.rmdir(lock)
- end
-
-@@ -69,15 +95,15 @@
- def open
- @tmpfile.close if @tmpfile
- @tmpfile = File.open(@tmpname, 'r+')
-- @protect[0] = @tmpfile
-+ @data[1] = @tmpfile
- __setobj__(@tmpfile)
- end
-
- def close(real=false)
- @tmpfile.close if @tmpfile
-- @protect[0] = @tmpfile = nil
-+ @data[1] = @tmpfile = nil
- if real
-- @clean_files.call
-+ @clean_proc.call
- ObjectSpace.undefine_finalizer(self)
- end
- end
diff --git a/lang/ruby16/pkg-plist b/lang/ruby16/pkg-plist
index d2559ed5c3d4..8df9c173f247 100644
--- a/lang/ruby16/pkg-plist
+++ b/lang/ruby16/pkg-plist
@@ -217,7 +217,6 @@ lib/lib%%RUBY_NAME%%.so.%%RUBY_SHLIBVER%%
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/fullpath.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/getopts.test
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/goodfriday.rb
-%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/irb.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/less.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/list.rb
%%PORTDOCS%%%%RUBY_EXAMPLESDIR%%/list2.rb
diff --git a/lang/ruby18/Makefile b/lang/ruby18/Makefile
index 33e6f238e06a..d919b28864e2 100644
--- a/lang/ruby18/Makefile
+++ b/lang/ruby18/Makefile
@@ -10,7 +10,7 @@ PORTVERSION= ${RUBY_PORTVERSION}
CATEGORIES= lang ruby ipv6
MASTER_SITES= ${MASTER_SITE_RUBY} \
${ONIGURUMA_MASTER_SITES:S,$,:oniguruma,}
-MASTER_SITE_SUBDIR= snapshots \
+MASTER_SITE_SUBDIR= ${MASTER_SITE_SUBDIR_RUBY} \
${ONIGURUMA_MASTER_SITE_SUBDIR:S,$,/:oniguruma,}
DISTFILES= ${RUBY_DISTNAME}${EXTRACT_SUFX} \
${ONIGURUMA_DISTFILE:S,$,:oniguruma,}
@@ -115,34 +115,17 @@ post-patch:
${MV} ${WRKSRC}/ext/${d} ${WRKDIR}/
.endfor
-pre-install:
- ${RM} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1 \
- ${PREFIX}/man/man1/ruby${RUBY_R}.1.gz
-
post-install:
.if defined(STRIP) && ${STRIP} == -s
${STRIP_CMD} ${RUBY}
.endif
.if ${RUBY_VER} == ${RUBY_DEFAULT_VER}
- ${MV} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
- ${MV} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
-.endif
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ]; then \
- ${LN} -fs ${RUBY_WITHOUT_SUFFIX}${RUBY_DEFAULT_SUFFIX}${RUBY_R} ${RUBY_WITHOUT_SUFFIX}${RUBY_R}; \
- ${LN} -fs ruby${RUBY_DEFAULT_SUFFIX}${RUBY_R}.1${MANEXT} ${PREFIX}/man/man1/ruby${RUBY_R}.1${MANEXT}; \
- fi
- if [ -x ${RUBY_WITHOUT_SUFFIX} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${RUBY_DEFAULT_SUFFIX} $${f}; \
- done; \
- fi
-.if !empty(RUBY_R)
- if [ -x ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ]; then \
- for f in ${INSTALLED_SCRIPTS}; do \
- ${LN} -fs $${f}${_RUBY_SUFFIX} $${f}${RUBY_R}; \
- done; \
- fi
+# Link just installed "ruby" to "ruby17", etc.
+ ${LN} -f ${RUBY_WITHOUT_SUFFIX}${RUBY_R} ${RUBY_WITH_SUFFIX}
+ ${LN} -f ${PREFIX}/man/man1/ruby${RUBY_R}.1 ${PREFIX}/man/man1/ruby${_RUBY_SUFFIX}.1
+ for f in ${INSTALLED_SCRIPTS}; do \
+ ${LN} -f $${f}${RUBY_R} $${f}${_RUBY_SUFFIX}; \
+ done
.endif
${LDCONFIG} -m ${PREFIX}/lib
${MKDIR} ${RUBY_ELISPDIR}
diff --git a/lang/ruby18/distinfo b/lang/ruby18/distinfo
index c274e83098fa..49443af3684c 100644
--- a/lang/ruby18/distinfo
+++ b/lang/ruby18/distinfo
@@ -1,2 +1,2 @@
-MD5 (ruby/ruby-1.7.3-2002.11.22.tar.bz2) = fafe9cbd17e49dbf356710bc5751d78a
+MD5 (ruby/ruby-1.7.3-2002.12.12.tar.bz2) = d200f52d1f7c3a624408b2ebabc66823
MD5 (ruby/onigd20020424.tar.gz) = d5e6505aa776378a58cdb0fd4ef9cdc0