# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
setvar pkgname = 'ruby-mathematical'
setvar _gemname = ${pkgname#ruby-}
setvar pkgver = '1.6.11'
setvar pkgrel = '0'
setvar pkgdesc = ""Convert mathematical equations to SVGs, PNGs, or MathML""
setvar url = ""https://www.gjtorikian.com/mathematical/""
setvar arch = ""all""
setvar license = ""MIT""
setvar depends = ""ruby ruby-enum""
setvar makedepends = ""cmake lasem-dev mtex2mml-dev ruby-dev""
setvar checkdepends = ""mtex2mml-fixtures ruby-io-console ruby-irb ruby-minitest
	ruby-nokogiri ruby-rake""
setvar source = ""$pkgname-$pkgver.tar.gz::https://github.com/gjtorikian/$_gemname/archive/v$pkgver.tar.gz
	use-system-mtex2mml-fixtures.patch""
setvar builddir = ""$srcdir/$_gemname-$pkgver""

proc prepare {
	default_prepare

	# Don't load bundler, it messes with GEM_PATH.
	sed -i "/^require\s*[\"']bundler\/setup/d" test/test_helper.rb

	# Some tests in this file are unstable (randomly fails).
	# https://github.com/gjtorikian/mathematical/issues/73
	rm test/mathematical/delimiters_test.rb
}

proc build {
	cd $builddir

	gem build $_gemname.gemspec
	gem install --local \
		--install-dir dist \
		--ignore-dependencies \
		--no-document \
		--verbose \
		$_gemname -- \
			--use-system-lasem \
			--use-system-mtex2MML
}

proc check {
	local dev_deps
	cd $builddir

	# Install missing development dependencies needed and used only for running
	# tests. We can't install them easily with bundler, because there's
	# no way how to force it to NOT update already satisifed dependencies.
	# We can't install them directly with gem either, because there's no
	# way how to force it to instally only dependencies, not the gem itself.
	setvar dev_deps = $(gem install --explain --development --minimal-deps $_gemname-$pkgver.gem \
		| head -n -1 | sed -En 's/-([^-]+)$/:\1/p')
	gem install --instal-dir=.gem --conservative $dev_deps'

	GEM_PATH='dist:.gem'' ruby -S rake test
}

proc package {
	local gemdir="$pkgdir/$(ruby -rubygems -e 'puts Gem.default_dir')"
	cd "$builddir"/dist

	mkdir -p $gemdir
	cp -r extensions gems specifications "$gemdir"/

	# Remove unnecessary files and rubbish...
	find "$gemdir"/extensions/ -name mkmf.log -delete
	cd "$gemdir"/gems/$_gemname-$pkgver
	rm -r ext/ test/ Rakefile *.md *.txt || true
}

setvar sha512sums = ""d5f5d4768a3b21eaebe5b3c43541ed330eeb9ae4748d583367bf276f0532df9017f6c81793bc3315f459af8bfabd71269955ac2ad0c32b8c15d16dbbdce97ac0  ruby-mathematical-1.6.11.tar.gz
35c691b2006e6c0bac26ebb0adac5ffa99fbc37100c94d5978508b91b3df84544e4fc8fa38b5de01ae0fcc644c1eeb97b6129f59b4488b467c1ded468277c400  use-system-mtex2mml-fixtures.patch""