# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ruby3.0-rugged
_gemname=rugged
pkgver=1.6.3
pkgrel=1
pkgdesc="Ruby bindings to libgit2"
url="https://github.com/libgit2/rugged"
arch="all"
license="MIT"
checkdepends="
	git
	libgit2-tests
	ruby3.0-minitest
	ruby3.0-rake
	ruby3.0-rake-compiler
	"
makedepends="
	libgit2-dev>=${pkgver%.*}
	ruby3.0
	ruby3.0-dev
	"
source="$_gemname-$pkgver.tar.gz::https://github.com/libgit2/$_gemname/archive/v$pkgver.tar.gz
	fix-extconf-version-check.patch
	libgit2-fixture-dir.patch
	libgit2-1.7.patch
	skip-test_discover_false.patch
	skip-test_read_global_config_file.patch
	skip-online-tests.patch
	"
builddir="$srcdir/$_gemname-$pkgver"
# Rugged::ConfigError: repository path '/tmp/' is not owned by current user
# requires tmp persmissions on host
options="!check"

build() {
	gem build $_gemname.gemspec

	RUGGED_USE_SYSTEM_LIBRARIES=1 gem install --local \
		--install-dir dist \
		--ignore-dependencies \
		--no-document \
		--verbose \
		$_gemname

	# Needed for tests.
	cp -l dist/extensions/*/*/$_gemname-*/$_gemname/*.so lib/$_gemname/
}

check() {
	rake test LIBGIT2_FIXTURE_DIR="/usr/src/libgit2/tests/resources"
}

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

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

	# Remove unnecessary and duplicated files.
	rm -f "$gemdir"/extensions/*/*/$_gemname-*/mkmf.log
	cd "$gemdir"/gems/$_gemname-$pkgver
	rm -rf ext/ lib/$_gemname/*.so LICENSE* README*
}

sha512sums="
4d54b5df04382628aff7e1abbf5fbd9730564c9bcb4e17da34ac59578b306db567b15151629a10c4a6d8174a31cd8be03c27ff0d1514cb19de237e773f4b64ce  rugged-1.6.3.tar.gz
0e55aff667175496e9df1920c6d49042077196aa992a729323628224e7930a6f976bcbfae70d2af733a043c173e8cd5f571606f0b898b008472b40fcefe6b425  fix-extconf-version-check.patch
0c749aeb8d6a29aed51737bab09c7b0a6669ac691461758c856ede5d8510ad6edfa284cddd1b54982bf614a45ba817b70e838e071889a9b05e1b0580111ec826  libgit2-fixture-dir.patch
bcf7b554390fb2b1ef9043f8c934ae51a299f223ec1d7826dcb8eed078961cd084c05148c84142d60cc0a3213653bd416af1fbb09bfa5b26c9ce87fca79f6a18  libgit2-1.7.patch
33464eeefc7669fe3bf5f47c4016cacdcba4f7455ed22b441383b49721870072b5095dbb68832cdb933a7659a415476db64b579a98c888b83900d092bb8b54be  skip-test_discover_false.patch
b9e028f18830e447773e895046eb03489e94bb5a76fede51f93545ed67f7249ed8f37ed4bb832eb68a2db281ff3e2b84dab8b72bb21eea4b835b0f1ce23943c3  skip-test_read_global_config_file.patch
5f0ad88eb7ac8c69605c43712e046efd47b727f48e98ee4047be850da4fea48c11fc2a383c791810a1bc81c08ca00428d4906c1af02a0d0da6e1ffbd4723b8f3  skip-online-tests.patch
"
