# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5
USE_RUBY="ruby19 ruby20 ruby21"

RUBY_FAKEGEM_TASK_DOC=""

RUBY_FAKEGEM_GEMSPEC="sprockets.gemspec"

RUBY_FAKEGEM_BINWRAP=""

inherit ruby-fakegem versionator

DESCRIPTION="Ruby library for compiling and serving web assets"
HOMEPAGE="https://github.com/sstephenson/sprockets"
SRC_URI="https://github.com/sstephenson/sprockets/archive/v${PV}.tar.gz -> ${P}-git.tgz"

LICENSE="MIT"
SLOT="$(get_version_component_range 1-2)"
KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 amd64-linux x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"

IUSE=""

ruby_add_rdepend "
	>=dev-ruby/hike-1.2:0
	=dev-ruby/multi_json-1*
	=dev-ruby/rack-1*
	=dev-ruby/tilt-1* >=dev-ruby/tilt-1.3.1"

ruby_add_bdepend "test? (
		dev-ruby/json
		dev-ruby/rack-test
		=dev-ruby/coffee-script-2*
		dev-ruby/execjs:1
	)"

all_ruby_prepare() {
	# Avoid tests for template types that we currently don't package:
	# eco and ejs.
	sed -i -e '/eco templates/,/end/ s:^:#:' \
		-e '/ejs templates/,/end/ s:^:#:' test/test_environment.rb || die

	# Avoid failing tests. These no longer fail in upstream HEAD and we
	# did not run tests before at all so its not a regression.
	rm test/test_asset.rb test/test_server.rb || die

	# Ignore failing tests with sprockets 2.2.1. These pass with the
	# latest versions but we need to put in this old version to support
	# Rails 3.2.9.
	sed -i -e '/depedencies are cached/,/end/ s:^:#:' test/test_caching.rb || die
	sed -i -e '/remove old asset/,/^  end/ s:^:#:' test/test_manifest.rb || die

	# Fix missing json include
	sed -i -e '5irequire "json"' test/sprockets_test.rb || die

	# Avoid test depending on specific execjs version
	sed -i -e '/bundled asset cached if theres an error building it/askip "gentoo"' test/test_environment.rb || die

	# Avoid test failing due to encoding specifics and available locales.
	sed -i -e '/read ASCII asset/askip "gentoo"' test/test_encoding.rb || die
}