blob: 00e135d57227ad152797c695840aa94e1c76e7ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby31"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
RUBY_FAKEGEM_RECIPE_DOC="none"
RUBY_FAKEGEM_EXTRADOC="README.md"
RUBY_FAKEGEM_EXTRAINSTALL="spec"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
inherit ruby-fakegem
DESCRIPTION="HTTP/REST API client library with pluggable components"
HOMEPAGE="https://github.com/lostisland/faraday"
SRC_URI="https://github.com/lostisland/faraday/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="$(ver_cut 1)"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
DEPEND+=" test? ( sys-process/lsof )"
ruby_add_rdepend "
dev-ruby/faraday-httpclient:1
dev-ruby/faraday-multipart:1
dev-ruby/faraday-net_http_persistent:1
dev-ruby/faraday-net_http:1
dev-ruby/faraday-patron:1
dev-ruby/faraday-rack:1
dev-ruby/faraday-retry:1
>=dev-ruby/multipart-post-1.2.0 <dev-ruby/multipart-post-3
>=dev-ruby/ruby2_keywords-0.0.4
"
ruby_add_bdepend "test? (
>=dev-ruby/test-unit-2.4
>=dev-ruby/connection_pool-2.2.2
dev-ruby/patron
dev-ruby/rack
>=dev-ruby/rack-test-0.6
dev-ruby/webmock
)"
all_ruby_prepare() {
# Remove bundler support.
rm Gemfile || die
sed -i -e '/[Bb]undler/d ; 1irequire "yaml"' Rakefile || die
sed -i -e '/bundler/,/^fi/ s:^:#:' script/test || die
# Avoid loading all lib files since some of them require unpackaged dependencies.
sed -e '/[Cc]overall/ s:^:#:' \
-e '/lib\/\*\*/ s:^:#:' \
-e '/simplecov/ s:^:#:' \
-e '/SimpleCov/,/end/ s:^:#:' \
-e '/pry/ s:^:#:' \
-e '3igem "faraday-net_http", "~> 1.0"; gem "faraday-net_http_persistent", "~> 1.0"' \
-i spec/spec_helper.rb || die
sed -e '/git ls-files/ s:^:#:' \
-e "s:_relative ': './:" \
-i ${RUBY_FAKEGEM_GEMSPEC} || die
# Avoid multipart tests that require an unpackaged dependency
# that appears to be no longer maintained.
rm -f spec/faraday/request/multipart_spec.rb || die
sed -e '/multipart_parser/ s:^:#:' \
-i spec/support/helper_methods.rb || die
# Explicitly require the JSON code, these requires are probably
# implicit in other code that we remove.
sed -e '3irequire "faraday/request/json"' -i spec/faraday/request/json_spec.rb || die
sed -e '3irequire "faraday/response/json"' -i spec/faraday/response/json_spec.rb || die
# Remove specs for unpackaged adapters
rm -f spec/faraday/adapter/{em_http,em_synchrony,excon,httpclient,typhoeus}_spec.rb || die
# Remove unpackaged adapters. These packages where part of earlier
# faraday versions but since we do not package their dependencies
# they never worked on a pure Gentoo install. We are taking this
# approach so we can add ruby32 compatibility to faraday:1 for
# those adapters that we do support.
sed -e '/require.*\(em_http\|em_synchrony\|excon\)/ s:^:#:' \
-i lib/faraday.rb || die
sed -e '/\(em_http\|em_synchrony\|excon\)/ s:^:#:' \
-i ${RUBY_FAKEGEM_GEMSPEC} || die
# Make this adapter optional since it comes with a long list of
# dependencies.
if ! has_version "dev-ruby/typhoeus:1" ; then
rm -f spec/faraday/adapter/typhoeus_spec.rb || die
fi
# Avoid a spec that gets tripped up by recent rack encoding changes.
sed -e '/encodes rack compat/ s/it/xit/' -i spec/faraday/params_encoders/nested_spec.rb || die
}
each_ruby_prepare() {
# Make sure the test scripts use the right ruby interpreter
sed -i -e 's:ruby:'${RUBY}':' script/* || die
}
each_ruby_test() {
MT_NO_PLUGINS=true each_fakegem_test
# Sleep some time to allow the sinatra test server to die
einfo "Waiting for test server to stop"
sleep 10
}
|