commit:     79aa89ff22755b5b4c9f43bdd3d0bcd3210e45b4
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 11 07:06:13 2016 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Fri Mar 11 07:06:42 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79aa89ff

dev-ruby/rack: add ruby23

Backport patch from upstream 2.0.0.alpha for compatibility
with ruby23.

Package-Manager: portage-2.2.26

 .../rack/files/rack-1.6-rewindable-ruby23.patch    | 38 ++++++++++++++++++
 dev-ruby/rack/rack-1.6.4-r1.ebuild                 | 46 ++++++++++++++++++++++
 2 files changed, 84 insertions(+)

diff --git a/dev-ruby/rack/files/rack-1.6-rewindable-ruby23.patch 
b/dev-ruby/rack/files/rack-1.6-rewindable-ruby23.patch
new file mode 100644
index 0000000..9d36a73
--- /dev/null
+++ b/dev-ruby/rack/files/rack-1.6-rewindable-ruby23.patch
@@ -0,0 +1,38 @@
+From 11b5a15dd1c8a41d87eb73df7bb99a3affecd787 Mon Sep 17 00:00:00 2001
+From: deepj <deepjungle.m...@gmail.com>
+Date: Mon, 25 May 2015 22:41:31 +0200
+Subject: [PATCH] Clean up Rack::Rewindable
+
+---
+ lib/rack/rewindable_input.rb | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/lib/rack/rewindable_input.rb b/lib/rack/rewindable_input.rb
+index 64efdda..dd6b784 100644
+--- a/lib/rack/rewindable_input.rb
++++ b/lib/rack/rewindable_input.rb
+@@ -57,15 +57,6 @@ def close
+ 
+     private
+ 
+-    # Ruby's Tempfile class has a bug. Subclass it and fix it.
+-    class Tempfile < ::Tempfile
+-      def _close
+-        @tmpfile.close if @tmpfile
+-        @data[1] = nil if @data
+-        @tmpfile = nil
+-      end
+-    end
+-
+     def make_rewindable
+       # Buffer all data into a tempfile. Since this tempfile is private to 
this
+       # RewindableInput object, we chmod it so that nobody else can read or 
write
+@@ -77,8 +68,6 @@ def make_rewindable
+       @rewindable_io.set_encoding(Encoding::BINARY) if 
@rewindable_io.respond_to?(:set_encoding)
+       @rewindable_io.binmode
+       if filesystem_has_posix_semantics?
+-        # Use ::File.unlink as 1.9.1 Tempfile has a bug where unlink closes 
the file!
+-        ::File.unlink @rewindable_io.path
+         raise 'Unlink failed. IO closed.' if @rewindable_io.closed?
+         @unlinked = true
+       end

diff --git a/dev-ruby/rack/rack-1.6.4-r1.ebuild 
b/dev-ruby/rack/rack-1.6.4-r1.ebuild
new file mode 100644
index 0000000..ebfd709
--- /dev/null
+++ b/dev-ruby/rack/rack-1.6.4-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+USE_RUBY="ruby20 ruby21 ruby22 ruby23"
+
+RUBY_FAKEGEM_DOCDIR="doc"
+RUBY_FAKEGEM_EXTRADOC="HISTORY.md KNOWN-ISSUES README.rdoc SPEC"
+
+inherit ruby-fakegem eutils versionator
+
+DESCRIPTION="A modular Ruby webserver interface"
+HOMEPAGE="https://rack.github.com/";
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris 
~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RUBY_PATCHES=( ${PN}-1.2.1-gentoo.patch ${PN}-1.6-rewindable-ruby23.patch )
+
+ruby_add_rdepend "virtual/ruby-ssl"
+
+# The gem has automagic dependencies over mongrel, ruby-openid,
+# memcache-client, thin, mongrel and camping; not sure if we should
+# make them dependencies at all.
+ruby_add_bdepend "test? ( dev-ruby/bacon )"
+
+# Block against versions in older slots that also try to install a binary.
+RDEPEND="${RDEPEND} !<dev-ruby/rack-1.4.5-r1:1.4 !<dev-ruby/rack-1.5.2-r4:1.5"
+
+all_ruby_prepare() {
+       # The build system tries to generate the ChangeLog from git. Create
+       # an empty file to avoid a needless dependency on git.
+       touch ChangeLog || die
+}
+
+each_ruby_test() {
+       # Since the Rakefile calls specrb directly rather than loading it, we
+       # cannot use it to launch the tests or only the currently-selected
+       # RUBY interpreter will be tested.
+       ${RUBY} -S bacon -Ilib -w -a \
+               -q -t 
'^(?!Rack::Handler|Rack::Adapter|Rack::Session::Memcache|Rack::Server)' \
+               || die "test failed for ${RUBY}"
+}

Reply via email to