# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 USE_RUBY="ruby31 ruby32 ruby33" RUBY_FAKEGEM_BINWRAP="" RUBY_FAKEGEM_TASK_TEST="none" RUBY_FAKEGEM_DOCDIR="rdoc" RUBY_FAKEGEM_EXTRADOC="README.md" RUBY_FAKEGEM_GEMSPEC="oauth2.gemspec" inherit ruby-fakegem DESCRIPTION="Wrapper for the OAuth 2.0 protocol with a similar style to the OAuth gem" HOMEPAGE="https://gitlab.com/oauth-xx/oauth2" SRC_URI="https://gitlab.com/oauth-xx/oauth2/-/archive/v${PV}/oauth2-${PV}.tar.bz2" RUBY_S="oauth2-v${PV}-*" LICENSE="MIT" SLOT="$(ver_cut 1)" KEYWORDS="~amd64 ~arm64 ~ppc ~x86" IUSE="test" ruby_add_rdepend " || ( dev-ruby/faraday:2 dev-ruby/faraday:1 ) dev-ruby/jwt:2 >=dev-ruby/multi_xml-0.5:0 >=dev-ruby/rack-1.2:* =dev-ruby/version_gem-1.1:1 " ruby_add_bdepend "test? ( >=dev-ruby/addressable-2.3 >=dev-ruby/backports-3 >=dev-ruby/rexml-3.2:3 dev-ruby/rspec:3 dev-ruby/rspec-block_is_expected dev-ruby/rspec-pending_for dev-ruby/rspec-stubbed_env )" all_ruby_prepare() { sed \ -e '/silent/I s:^:#:' \ -e '/require.*oauth2/arequire "oauth2/version"' \ -i spec/spec_helper.rb || die sed -i -e '/yardstick/,/^end/ s:^:#:' \ -e '/bundler/I s:^:#:' Rakefile || die # Avoid spec that is too fragile in relation to ENV sed -i -e '/outputs to $stdout when OAUTH_DEBUG=true/a skip "fragile ENV stubbing"' spec/oauth2/client_spec.rb || die # Avoid specs depending on unpackaged silent_stream gem sed -e '/with warning for \(no\|too many\) token/ s/context/xcontext/' \ -e '/with keys in a different order to the lookup/ s/context/xcontext/' \ -i spec/oauth2/access_token_spec.rb || die sed -e '/when OAUTH_DEBUG=\(false\|true\)/ s/context/xcontext/' \ -e '/with extract_access_token option/ s/describe/xdescribe/' \ -i spec/oauth2/client_spec.rb || die # Avoid specs failing due to differences in errors in newer versions # of dependencies. sed -e '/when parse: :xml but response is JSON/ s/context/xcontext/' \ -i spec/oauth2/client_spec.rb || die sed -e '/with bad encoding params/ s/context/xcontext/' \ -i spec/oauth2/strategy/assertion_spec.rb || die sed -e 's/git ls-files -z/find * -print0/' \ -e "s:_relative ': './:" \ -i ${RUBY_FAKEGEM_GEMSPEC} || die } each_ruby_test() { CI=true ${RUBY} -S rspec-3 --format progress spec || die }