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}" +}