# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ruby-debug
_gemname=debug
# Keep version in sync with "Bundled gems" (https://stdgems.org) for the
# packaged Ruby version.
pkgver=1.9.2
pkgrel=0
pkgdesc="Debugging functionality for Ruby"
url="https://github.com/ruby/debug"
arch="all"
license="BSD-2-Clause AND Ruby"
depends="ruby"
checkdepends="
	ruby-rake
	ruby-test-unit
	ruby-test-unit-rr
	"
makedepends="ruby-dev ruby-rdoc"
subpackages="$pkgname-doc"
source="https://github.com/ruby/debug/archive/v$pkgver/$_gemname-$pkgver.tar.gz
	gemspec.patch
	"
builddir="$srcdir/$_gemname-$pkgver"

case "$CARCH" in
	# XXX: Tests are flaky on riscv64.
	riscv64) options="!check";;
esac

prepare() {
	default_prepare
	sed -i '/require .bundler/d' Rakefile
}

build() {
	gem build $_gemname.gemspec

	gem install \
		--local \
		--install-dir dist \
		--bindir dist/bin \
		--ignore-dependencies \
		--document ri \
		--verbose \
		$_gemname
}

check() {
	export RUBY_DEBUG_TEST_NO_REMOTE=1
	# XXX: This test fails on GitLab CI, but passes locally.
	export TESTOPTS="--ignore-name=/^test_list_socks$/"

	GEM_PATH='dist' rake test
}

package() {
	local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"

	cd "$builddir"/dist

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

	mkdir -p "$pkgdir"/usr/bin
	cp -r bin/* "$pkgdir"/usr/bin/

	# Remove unnecessary files and rubbish...
	find "$gemdir"/extensions/ -name mkmf.log -delete

	cd "$gemdir"/gems/$_gemname-$pkgver
	rm -r ext/
}

doc() {
	pkgdesc="$pkgdesc (ri docs)"

	amove "$(ruby -e 'puts Gem.default_dir')"/doc
}

sha512sums="
b65e7952f0020f79481273175abc382827283f667c52a29eee4f77303368e65ff71c517f8cd278b011ae81c335281d4303ab83e6c5d5c71cab9784cee56b8c63  debug-1.9.2.tar.gz
7d08028768c0a5024b32d1254f131204610db68f4ecbd72cca0677f499c5e426fba079e65a127453ca1d9685b094cb8feeddaa27bce72821e03a73e3f2bf5244  gemspec.patch
"
