81 lines
2.1 KiB
Bash
81 lines
2.1 KiB
Bash
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI=5
|
|
USE_RUBY="ruby20 ruby21"
|
|
|
|
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
|
# functional testing crashes Ruby from within Portage, but works
|
|
# outside of it, needs to be investigated thoroughly, but at least
|
|
# unit testing works.
|
|
RUBY_FAKEGEM_RECIPE_TEST="rspec"
|
|
|
|
RUBY_FAKEGEM_EXTRADOC="README.md CHANGELOG.md"
|
|
|
|
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
|
|
|
|
GITHUB_USER="${PN}"
|
|
GITHUB_PROJECT="${PN}"
|
|
|
|
inherit ruby-fakegem
|
|
|
|
DESCRIPTION="ODM (Object Document Mapper) Framework for MongoDB"
|
|
HOMEPAGE="http://two.mongoid.org/"
|
|
SRC_URI="https://github.com/${GITHUB_USER}/${GITHUB_PROJECT}/archive/v${PV}.tar.gz -> ${GITHUB_PROJECT}-${PV}.tar.gz"
|
|
LICENSE="MIT"
|
|
|
|
SLOT="0"
|
|
KEYWORDS="~amd64"
|
|
IUSE="test"
|
|
|
|
ruby_add_rdepend "
|
|
>=dev-ruby/activemodel-3.1 =dev-ruby/activemodel-3*
|
|
>=dev-ruby/mongo-1.9:0
|
|
>=dev-ruby/tzinfo-0.3.22:0
|
|
"
|
|
|
|
ruby_add_bdepend "
|
|
test? (
|
|
dev-ruby/bundler
|
|
dev-ruby/ammeter
|
|
dev-ruby/mocha:0.11
|
|
dev-ruby/rdoc
|
|
dev-ruby/rspec
|
|
dev-util/watchr
|
|
)"
|
|
|
|
DEPEND+=" test? ( dev-db/mongodb )"
|
|
|
|
all_ruby_prepare() {
|
|
# Remove unsupported development dependencies and fix versions.
|
|
sed -i -e '/\(guard-rspec\|rb-fsevent\)/ s:^:#:' \
|
|
-e '/mocha/ s/= 0.11/~> 0.11.0/' mongoid.gemspec || die
|
|
|
|
# Avoid specs tied to localhost
|
|
rm spec/functional/mongoid/config/{database,replset_database}_spec.rb || die
|
|
|
|
# Avoid some failing specs that should be investigated later
|
|
sed -i -e '/sets the capped size/,/end/ s:^:#:' spec/functional/mongoid/collection_spec.rb || die
|
|
sed -i -e '/.from_hash/,/^ end/ s:^:#:' spec/functional/mongoid/config_spec.rb || die
|
|
rm spec/functional/mongoid/persistence_spec.rb || die
|
|
}
|
|
|
|
each_ruby_test() {
|
|
mkdir "${T}/mongodb_$(basename $RUBY)"
|
|
mongod --port 27017 --dbpath "${T}/mongodb_$(basename $RUBY)" \
|
|
--noprealloc --noauth --nohttpinterface --nounixsocket --nojournal \
|
|
--bind_ip 127.255.255.254 &
|
|
mongod_pid=$!
|
|
failed=0
|
|
|
|
sleep 2
|
|
|
|
export MONGOID_SPEC_HOST="127.255.255.254"
|
|
export MONGOID_SPEC_PORT="27017"
|
|
|
|
${RUBY} -S bundle exec rspec-2 --format progress spec || failed=1
|
|
kill "${mongod_pid}"
|
|
|
|
[[ "${failed}" == "1" ]] && die "tests failed"
|
|
}
|