2023-04-29 20:00:53 +00:00

80 lines
2.1 KiB
Plaintext

# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ruby-pg_query
_gemname=pg_query
# Keep in mind the aport libpg_query when bumping.
pkgver=4.2.0
pkgrel=0
pkgdesc="PostgreSQL query parsing and normalization library for Ruby"
url="https://github.com/pganalyze/pg_query"
# x86, armhf, armv7: fingerprint feature is broken on 32-bit
# s390x: Failing tests
# riscv64 blocked by libpg_query
arch="all !x86 !armhf !armv7 !s390x !riscv64"
license="BSD-3-Clause"
depends="ruby ruby-google-protobuf>=3.15.5"
checkdepends="ruby-rspec"
makedepends="
libpg_query-dev
protoc
ruby-dev
xxhash-dev
"
source="https://github.com/pganalyze/pg_query/archive/v$pkgver/$pkgname-$pkgver.tar.gz
unbundle-deps.patch
"
builddir="$srcdir/$_gemname-$pkgver"
prepare() {
default_prepare
# Remove bundled dependencies.
cd ext/pg_query
rm protobuf-c.c xxhash.c src_*.c src_*.h
find . -name 'pg_query*' ! -name 'pg_query_ruby.*' -delete
rm -Rf include
}
build() {
# Regenerate Ruby source from pg_query.proto provided by libpg_query
# package - to be sure that we use correct version.
protoc --proto_path=/usr/include/pg_query \
--ruby_out=lib/pg_query \
/usr/include/pg_query/pg_query.proto
gem build $_gemname.gemspec
gem install \
--local \
--install-dir dist \
--ignore-dependencies \
--no-document \
--verbose \
$_gemname
# Needed for running tests.
cp -l dist/extensions/*/*/$_gemname-*/$_gemname/*.so lib/$_gemname/
}
check() {
rspec --format d
}
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 Rakefile *.md
}
sha512sums="
4ae900a42e5dba16f4f369580e747e50f4e8ea48f3e945120820679e8ea3eed19e70cc4928e09dcc71cacd495027415ccd72eedaf56d40247f45a76c1967c90e ruby-pg_query-4.2.0.tar.gz
b11b3bc49bca5d068d8bf995c9531b40a983ae72292daac7c2ef7a8b5f3ad3ddeab18001be7963d721d98733f1c460b773110a66da472d5a629813b96e0dce24 unbundle-deps.patch
"