summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2023-08-15 16:12:58 +0200
committerHans de Graaff <graaff@gentoo.org>2023-08-15 19:29:54 +0200
commit087698fcf25a983b5f65567dca33e90cd7d67ded (patch)
tree76dfd09dbb47ec56073bb44cd027d8f6778f9077
parentapp-admin/augeas: stabilize 1.14.1 for amd64, ppc, ppc64, sparc, x86 (diff)
downloadgentoo-087698fcf25a983b5f65567dca33e90cd7d67ded.tar.gz
gentoo-087698fcf25a983b5f65567dca33e90cd7d67ded.tar.bz2
gentoo-087698fcf25a983b5f65567dca33e90cd7d67ded.zip
dev-ruby/rack: install rackup as rackup-2
This will allow parallel installation with rack 3 rackup. Signed-off-by: Hans de Graaff <graaff@gentoo.org>
-rw-r--r--dev-ruby/rack/rack-2.2.7-r1.ebuild60
1 files changed, 60 insertions, 0 deletions
diff --git a/dev-ruby/rack/rack-2.2.7-r1.ebuild b/dev-ruby/rack/rack-2.2.7-r1.ebuild
new file mode 100644
index 000000000000..af653a639958
--- /dev/null
+++ b/dev-ruby/rack/rack-2.2.7-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+USE_RUBY="ruby30 ruby31 ruby32"
+
+RUBY_FAKEGEM_DOCDIR="doc"
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.rdoc SPEC.rdoc"
+
+RUBY_FAKEGEM_GEMSPEC="rack.gemspec"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A modular Ruby webserver interface"
+HOMEPAGE="https://github.com/rack/rack"
+SRC_URI="https://github.com/rack/rack/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(ver_cut 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE=""
+
+ruby_add_rdepend "virtual/ruby-ssl"
+
+ruby_add_bdepend "test? (
+ dev-ruby/minitest:5
+ dev-ruby/minitest-global_expectations
+ || ( dev-ruby/psych:5 dev-ruby/psych:0 )
+ dev-ruby/webrick
+)"
+
+# 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.
+
+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
+
+ # Avoid development dependency
+ sed -i -e '/minitest-sprint/ s:^:#:' -e "s:require_relative ':require './:" rack.gemspec || die
+
+ # Avoid test failing due to security version number usage
+ sed -i -e '/support -v option to get version/askip "broken with security version number"' test/spec_server.rb || die
+
+ # Rename rackup command and force gem version to allow rack 2.x applications to work
+ mv bin/rackup bin/rackup-2 || die
+ sed -i -e '4igem "rack", "~> 2.2.0"' bin/rackup-2
+}
+
+each_ruby_test() {
+ ${RUBY} -Ilib:test:. -e "require 'test/gemloader.rb'; Dir['test/spec_*.rb'].each{|f| require f}" || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ einfo "The rackup command is installed as 'rackup-2' to allow parallel installation with rack 3"
+}