Update to ruby 1.9.3p0. Adds significant speed improvements and quite

a few new features.  A few of our patches were accepted upstream.

Add an -ri_docs multipackage to hold the ri documentation files.  These
aren't used very often, slow down installation significantly, and bloat
the package.

This also fixes the conflict marker for the -tk multipackage.
This commit is contained in:
jeremy 2011-11-08 23:38:57 +00:00
parent ac60638a49
commit fe3e6af225
18 changed files with 15187 additions and 11052 deletions

View File

@ -1,21 +1,21 @@
# $OpenBSD: Makefile,v 1.17 2011/09/16 10:31:21 espie Exp $
# $OpenBSD: Makefile,v 1.18 2011/11/08 23:38:57 jeremy Exp $
COMMENT-main = object oriented script language with threads
COMMENT-gdbm = gdbm interface for Ruby
COMMENT-dbm = Berkley DB interface for Ruby
COMMENT-tk= tk interface for ruby
COMMENT-gdbm = gdbm interface for ruby
COMMENT-dbm = Berkley DB interface for ruby
COMMENT-tk = tk interface for ruby
COMMENT-ri_docs = ri documentation files for ruby
VERSION = 1.9.2
PATCHLEVEL = 290
VERSION = 1.9.3
PATCHLEVEL = 0
RUBYLIBREV = 1.9.1
SHARED_LIBS = ruby19 0.0
SHARED_LIBS = ruby19 1.0
PKGNAME-main = ruby-${VERSION}.${PATCHLEVEL}
PKGNAME-gdbm = ruby-gdbm-${VERSION}.${PATCHLEVEL}
PKGNAME-dbm = ruby-dbm-${VERSION}.${PATCHLEVEL}
PKGNAME-tk = ruby-tk-${VERSION}.${PATCHLEVEL}
REVISION-dbm = 1
PKGNAME-ri_docs = ruby-ri_docs-${VERSION}.${PATCHLEVEL}
PKGSPEC-main = ruby->=1.9,<1.10
@ -25,7 +25,12 @@ CONFIGURE_ARGS = --program-suffix=19 \
--enable-ipv6 \
--disable-option-checking
CONFIGURE_ENV = LIBruby19_VERSION=${LIBruby19_VERSION}
CONFIGURE_ENV = LIBruby19_VERSION=${LIBruby19_VERSION} \
ac_cv_prog_DOXYGEN="" \
ac_cv_prog_DOT=""
ALL_TARGET = all V=1
INSTALL_TARGET = install-all V=1
MODULES = converters/libiconv
USE_GROFF = Yes
@ -40,16 +45,16 @@ RUN_DEPENDS-main = ${MODLIBICONV_RUN_DEPENDS}
PSEUDO_FLAVORS= no_x11
FLAVOR?=
MULTI_PACKAGES = -main -gdbm -dbm
MULTI_PACKAGES = -main -gdbm -dbm -ri_docs
WANTLIB-gdbm = c m gdbm ruby19
LIB_DEPENDS-gdbm = databases/gdbm \
lang/ruby/${REV},-main
lang/ruby/${REV},-main>=${VERSION}.${PATCHLEVEL}
RUN_DEPENDS-gdbm =
WANTLIB-dbm = c m db ruby19
LIB_DEPENDS-dbm = databases/db/v4 \
lang/ruby/${REV},-main
lang/ruby/${REV},-main>=${VERSION}.${PATCHLEVEL}
RUN_DEPENDS-dbm =
.if !${FLAVOR:L:Mno_x11}
@ -59,16 +64,12 @@ CONFIGURE_ARGS+= --with-tcl-include=${PREFIX}/include/tcl8.5 \
--with-X11-dir=${X11BASE}
WANTLIB-tk = X11 c m ruby19 tcl85 tk85
LIB_DEPENDS-tk = tk->=8.5,<8.6:x11/tk/8.5 \
lang/ruby/${REV},-main
lang/ruby/${REV},-main>=${VERSION}.${PATCHLEVEL}
RUN_DEPENDS-tk =
.endif
SUBST_VARS += RUBYLIBREV
# Known threading bootstraptest failures on i386 and macppc
# Occassional threading bootstrap failure on amd64
# Known endian issues in fiddle/dl on sparc64
# Known encoding related failure in one REXML test
REGRESS_DEPENDS = ${FULLPKGNAME-main}:${BUILD_PKGPATH}
do-regress:

View File

@ -1,5 +1,5 @@
MD5 (ruby-1.9.2-p290.tar.gz) = YE2nGDmmrgK1tbXht5LV6w==
RMD160 (ruby-1.9.2-p290.tar.gz) = DJk2yiMMTkzuxfMn5UK9XMge+Yg=
SHA1 (ruby-1.9.2-p290.tar.gz) = Fvyc8iI/w0ghvEkfs4J/EcxWJ+w=
SHA256 (ruby-1.9.2-p290.tar.gz) = HMgXV1xJRNPXiVkCQyDtHVt8K0kxqFV3LaytfD9uvX4=
SIZE (ruby-1.9.2-p290.tar.gz) = 11182217
MD5 (ruby-1.9.3-p0.tar.gz) = ji/vVhhc+68p0Mgyn8d8BQ==
RMD160 (ruby-1.9.3-p0.tar.gz) = HSOFrKIMfLxONUNucVc01QK/gwg=
SHA1 (ruby-1.9.3-p0.tar.gz) = 9875rSgIofUiQnyRFkFpc7n8rxo=
SHA256 (ruby-1.9.3-p0.tar.gz) = O5EAQuNWH0KW/ZXZa/MDIuU+7PCDmS5QQqdoBpjPo04=
SIZE (ruby-1.9.3-p0.tar.gz) = 12223217

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-bootstraptest_test_thread_rb,v 1.1 2011/11/08 23:38:57 jeremy Exp $
Skip a threading test that hits an infinite loop bug.
--- bootstraptest/test_thread.rb.orig Sun Oct 30 20:22:36 2011
+++ bootstraptest/test_thread.rb Sun Oct 30 20:24:33 2011
@@ -53,7 +53,7 @@ assert_equal %q{100}, %q{
100.times{
Thread.new{loop{Thread.pass}}
}
-}
+} if false
assert_equal %q{ok}, %q{
Thread.new{
:ok

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-common_mk,v 1.1 2010/09/23 21:58:50 jeremy Exp $
--- common.mk.orig Tue Sep 7 14:45:17 2010
+++ common.mk Tue Sep 7 14:48:00 2010
@@ -126,7 +126,7 @@ BOOTSTRAPRUBY = $(BASERUBY)
COMPILE_PRELUDE = $(MINIRUBY) -I$(srcdir) $(srcdir)/tool/compile_prelude.rb
-all: main docs
+all: main docs rdoc
main: encs exts
@$(RUNCMD) $(MKMAIN_CMD) $(MAKE)

View File

@ -1,57 +1,13 @@
$OpenBSD: patch-configure,v 1.4 2011/07/19 17:08:54 jeremy Exp $
$OpenBSD: patch-configure,v 1.5 2011/11/08 23:38:57 jeremy Exp $
Fix so name, checking for DOT and DOXYGEN, and use -pthread.
Override the arch setting to remove OpenBSD version from it,
so ports don't have to be bumped when OpenBSD version changes.
--- configure.orig Fri Jul 15 06:00:12 2011
+++ configure Mon Jul 18 15:25:00 2011
@@ -5820,7 +5820,7 @@ IFS=$as_save_IFS
fi
fi
-DOT=$ac_cv_prog_DOT
+DOT=""
if test -n "$DOT"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOT" >&5
$as_echo "$DOT" >&6; }
@@ -5878,10 +5878,10 @@ yes:)
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- DOT=$ac_ct_DOT
+ DOT=""
fi
else
- DOT="$ac_cv_prog_DOT"
+ DOT=""
fi
if test -n "$ac_tool_prefix"; then
@@ -5912,7 +5912,7 @@ IFS=$as_save_IFS
fi
fi
-DOXYGEN=$ac_cv_prog_DOXYGEN
+DOXYGEN=""
if test -n "$DOXYGEN"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
$as_echo "$DOXYGEN" >&6; }
@@ -5970,10 +5970,10 @@ yes:)
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
- DOXYGEN=$ac_ct_DOXYGEN
+ DOXYGEN=""
fi
else
- DOXYGEN="$ac_cv_prog_DOXYGEN"
+ DOXYGEN=""
fi
if test x"$DOXYGEN" = x; then
@@ -14776,13 +14776,13 @@ fi
--- configure.orig Sun Oct 30 02:55:52 2011
+++ configure Sun Oct 30 19:07:09 2011
@@ -15503,13 +15503,13 @@ fi
if test x"$enable_pthread" = xyes; then
for pthread_lib in thr pthread pthreads c c_r root; do
as_ac_Lib=`$as_echo "ac_cv_lib_$pthread_lib''_pthread_kill" | $as_tr_sh`
@ -68,7 +24,7 @@ so ports don't have to be bumped when OpenBSD version changes.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -14848,7 +14848,7 @@ done
@@ -15576,7 +15576,7 @@ done
c_r) :
MAINLIBS="-pthread $MAINLIBS" ;; #(
*) :
@ -77,16 +33,16 @@ so ports don't have to be bumped when OpenBSD version changes.
esac
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Don't know how to find pthread library on your system -- thread support disabled\"" >&5
@@ -15786,7 +15786,7 @@ if test "$enable_shared" = 'yes'; then
@@ -16568,7 +16568,7 @@ case "$enable_shared" in #(
openbsd*) :
SOLIBS='$(LIBS)'
- LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR).'`expr ${MINOR} \* 10 + ${TEENY}`
+ LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.'${LIBruby19_VERSION}
+ LIBRUBY_SO='lib$(RUBY_SO_NAME).so.'${LIBruby19_VERSION}
;; #(
solaris*) :
@@ -16487,7 +16487,10 @@ _ACEOF
@@ -17390,7 +17390,10 @@ _ACEOF
_ACEOF
else

View File

@ -1,19 +0,0 @@
$OpenBSD: patch-ext_bigdecimal_bigdecimal_c,v 1.1 2011/05/25 18:20:43 jasper Exp $
Security fix for CVE-2011-0188
Ruby BigDecimal Integer Truncation Vulnerability
Fix from upstream svn:
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=30993
--- ext/bigdecimal/bigdecimal.c.orig Sat May 8 04:07:43 2010
+++ ext/bigdecimal/bigdecimal.c Wed May 25 19:50:01 2011
@@ -2123,7 +2123,7 @@ static int gnAlloc=0; /* Memory allocation counter */
VP_EXPORT void *
VpMemAlloc(U_LONG mb)
{
- void *p = xmalloc((unsigned int)mb);
+ void *p = xmalloc(mb);
if(!p) {
VpException(VP_EXCEPTION_MEMORY,"failed to allocate memory",1);
}

View File

@ -1,16 +0,0 @@
$OpenBSD: patch-ext_socket_lib_socket_rb,v 1.1 2010/11/24 21:28:04 jeremy Exp $
Fix error where Socket.udp_server_sockets without a host argument
will not include sockets for IPv6 link-local addresses.
--- ext/socket/lib/socket.rb.orig Wed Oct 20 04:03:38 2010
+++ ext/socket/lib/socket.rb Wed Oct 20 04:03:45 2010
@@ -507,7 +507,7 @@ class Socket < BasicSocket
next if !a.ipv4?
ip_list << Addrinfo.new(a.to_sockaddr, :INET, :DGRAM, 0);
}
- elsif ai.ipv6? && ai.ip_address == "::" && !ipv6_recvpktinfo
+ elsif ai.ipv6? && ai.ip_address == "::"
local_addrs.each {|a|
next if !a.ipv6?
ip_list << Addrinfo.new(a.to_sockaddr, :INET6, :DGRAM, 0);

View File

@ -1,27 +0,0 @@
$OpenBSD: patch-ext_socket_option_c,v 1.1 2010/09/23 21:58:50 jeremy Exp $
Make inspect_peercred work on OpenBSD. Backported from r29206.
--- ext/socket/option.c.orig Wed Sep 8 18:24:28 2010
+++ ext/socket/option.c Wed Sep 8 18:25:25 2010
@@ -397,12 +397,17 @@ inspect_timeval_as_interval(int level, int optname, VA
}
#if defined(SOL_SOCKET) && defined(SO_PEERCRED) /* GNU/Linux */
+#if defined(__OpenBSD__)
+#define RUBY_SOCK_PEERCRED struct sockpeercred
+#else
+#define RUBY_SOCK_PEERCRED struct ucred
+#endif
static int
inspect_peercred(int level, int optname, VALUE data, VALUE ret)
{
- if (RSTRING_LEN(data) == sizeof(struct ucred)) {
- struct ucred cred;
- memcpy(&cred, RSTRING_PTR(data), sizeof(struct ucred));
+ if (RSTRING_LEN(data) == sizeof(RUBY_SOCK_PEERCRED)) {
+ RUBY_SOCK_PEERCRED cred;
+ memcpy(&cred, RSTRING_PTR(data), sizeof(RUBY_SOCK_PEERCRED));
rb_str_catf(ret, " pid=%u euid=%u egid=%u",
(unsigned)cred.pid, (unsigned)cred.uid, (unsigned)cred.gid);
rb_str_cat2(ret, " (ucred)");

View File

@ -1,12 +1,12 @@
$OpenBSD: patch-lib_fileutils_rb,v 1.1 2010/10/12 15:39:06 jeremy Exp $
$OpenBSD: patch-lib_fileutils_rb,v 1.2 2011/11/08 23:38:57 jeremy Exp $
Make FileUtils.mkdir_p act more like mkdir(1) -p, by not attempting
to create directories that already exist. This fixes systrace
warnings when building ports.
--- lib/fileutils.rb.orig Sat Jul 24 03:38:16 2010
+++ lib/fileutils.rb Fri Oct 8 09:20:10 2010
@@ -201,7 +201,7 @@ module FileUtils
--- lib/fileutils.rb.orig Sat May 21 19:12:15 2011
+++ lib/fileutils.rb Sun Oct 30 19:07:09 2011
@@ -205,7 +205,7 @@ module FileUtils
list.map {|path| path.sub(%r</\z>, '') }.each do |path|
# optimize for the most common case
begin
@ -15,7 +15,7 @@ warnings when building ports.
next
rescue SystemCallError
next if File.directory?(path)
@@ -214,7 +214,7 @@ module FileUtils
@@ -218,7 +218,7 @@ module FileUtils
end
stack.reverse_each do |dir|
begin

View File

@ -1,17 +1,17 @@
$OpenBSD: patch-lib_rubygems_commands_install_command_rb,v 1.1 2010/09/23 21:58:50 jeremy Exp $
$OpenBSD: patch-lib_rubygems_commands_install_command_rb,v 1.2 2011/11/08 23:38:57 jeremy Exp $
Make gem binaries on ruby 1.9 use a 19 suffix, so you can have both
1.8 and 1.9 versions of the same gem installed at the same time
without conflicts.
--- lib/rubygems/commands/install_command.rb.orig Thu Apr 22 01:24:42 2010
+++ lib/rubygems/commands/install_command.rb Tue Sep 7 13:22:42 2010
--- lib/rubygems/commands/install_command.rb.orig Tue Jul 26 19:04:03 2011
+++ lib/rubygems/commands/install_command.rb Sun Oct 30 19:10:20 2011
@@ -21,7 +21,7 @@ class Gem::Commands::InstallCommand < Gem::Command
defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
:generate_rdoc => true,
:generate_ri => true,
- :format_executable => false,
+ :format_executable => true,
:test => false,
:version => Gem::Requirement.default,
})

View File

@ -1,12 +1,12 @@
$OpenBSD: patch-lib_rubygems_dependency_installer_rb,v 1.1 2010/09/23 21:58:50 jeremy Exp $
--- lib/rubygems/dependency_installer.rb.orig Thu Apr 22 01:24:42 2010
+++ lib/rubygems/dependency_installer.rb Tue Sep 7 13:13:55 2010
$OpenBSD: patch-lib_rubygems_dependency_installer_rb,v 1.2 2011/11/08 23:38:57 jeremy Exp $
--- lib/rubygems/dependency_installer.rb.orig Tue Jul 26 19:04:03 2011
+++ lib/rubygems/dependency_installer.rb Sun Oct 30 19:10:44 2011
@@ -18,7 +18,7 @@ class Gem::DependencyInstaller
:env_shebang => false,
:domain => :both, # HACK dup
:force => false,
- :format_executable => false, # HACK dup
+ :format_executable => true, # HACK dup
:env_shebang => false,
:domain => :both, # HACK dup
:force => false,
- :format_executable => false, # HACK dup
+ :format_executable => true, # HACK dup
:ignore_dependencies => false,
:prerelease => false,
:security_policy => nil, # HACK NoSecurity requires OpenSSL. AlmostNo? Low?
:prerelease => false,
:security_policy => nil, # HACK NoSecurity requires OpenSSL. AlmostNo? Low?

View File

@ -1,7 +1,7 @@
$OpenBSD: patch-random_c,v 1.1 2010/09/23 21:58:50 jeremy Exp $
--- random.c.orig Wed May 26 04:19:30 2010
+++ random.c Tue Sep 7 13:27:05 2010
@@ -480,7 +480,7 @@ fill_random_seed(unsigned int seed[DEFAULT_SEED_CNT])
$OpenBSD: patch-random_c,v 1.2 2011/11/08 23:38:57 jeremy Exp $
--- random.c.orig Wed Jul 20 15:11:56 2011
+++ random.c Sun Oct 30 19:07:09 2011
@@ -504,7 +504,7 @@ fill_random_seed(unsigned int seed[DEFAULT_SEED_CNT])
memset(seed, 0, DEFAULT_SEED_LEN);
#if USE_DEV_URANDOM

View File

@ -1,17 +1,12 @@
$OpenBSD: patch-test_ruby_test_process_rb,v 1.2 2011/07/19 17:08:54 jeremy Exp $
OpenBSD seems to receive the SIGCHILD twice. I'm not sure
if that's just how OpenBSD works, or if this is a bug in
OpenBSD or ruby.
--- test/ruby/test_process.rb.orig Sat May 28 16:31:53 2011
+++ test/ruby/test_process.rb Mon Jul 18 15:24:00 2011
@@ -1193,7 +1193,7 @@ class TestProcess < Test::Unit::TestCase
sleep 1
break unless signal_received.empty?
end
- assert_equal [true], signal_received, " [ruby-core:19744]"
+ assert_equal true, signal_received.first, " [ruby-core:19744]"
rescue NotImplementedError, ArgumentError
ensure
begin
$OpenBSD: patch-test_ruby_test_process_rb,v 1.3 2011/11/08 23:38:57 jeremy Exp $
--- test/ruby/test_process.rb.orig Wed Jul 27 17:16:58 2011
+++ test/ruby/test_process.rb Wed Jul 27 17:17:00 2011
@@ -61,7 +61,7 @@ class TestProcess < Test::Unit::TestCase
write_file 's', <<-"End"
result = 1
begin
- Process.setrlimit(Process::RLIMIT_NOFILE, 0)
+ Process.setrlimit(Process::RLIMIT_NOFILE, 1)
rescue Errno::EINVAL
result = 0
end

View File

@ -1,24 +0,0 @@
$OpenBSD: patch-test_rubygems_test_gem_dependency_installer_rb,v 1.1 2010/09/23 21:58:50 jeremy Exp $
Make the regression test suite deal with a default of format_executable=>true.
--- test/rubygems/test_gem_dependency_installer.rb.orig Wed Sep 8 15:17:52 2010
+++ test/rubygems/test_gem_dependency_installer.rb Wed Sep 8 14:49:42 2010
@@ -265,7 +265,7 @@ class TestGemDependencyInstaller < RubyGemTestCase
inst = nil
Dir.chdir @tempdir do
- inst = Gem::DependencyInstaller.new :env_shebang => true, :wrappers => true
+ inst = Gem::DependencyInstaller.new :env_shebang => true, :wrappers => true, :format_executable => false
inst.install 'a'
end
@@ -524,7 +524,7 @@ class TestGemDependencyInstaller < RubyGemTestCase
def test_install_no_wrappers
@fetcher.data['http://gems.example.com/gems/a-1.gem'] = read_binary(@a1_gem)
- inst = Gem::DependencyInstaller.new :wrappers => false
+ inst = Gem::DependencyInstaller.new :wrappers => false, :format_executable => false
inst.install 'a'
refute_match(%r|This file was generated by RubyGems.|,

View File

@ -0,0 +1,2 @@
This contains the files used by ruby's ri tool to get documentation
about classes and methods in ruby core and standard library.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
@comment $OpenBSD: PLIST-tk,v 1.1 2010/09/23 21:58:50 jeremy Exp $
@comment $OpenBSD: PLIST-tk,v 1.2 2011/11/08 23:38:57 jeremy Exp $
@option no-default-conflict
@conflict ruby-tk->=1.8,<1.9
@conflict ruby-tk->=1.9,<1.10
lib/ruby/${RUBYLIBREV}/multi-tk.rb
lib/ruby/${RUBYLIBREV}/remote-tk.rb
lib/ruby/${RUBYLIBREV}/tcltk.rb