# Contributor: Jakub Jirutka # Maintainer: Jakub Jirutka pkgname=postgresql-pg_graphql _projname=pg_graphql pkgver=1.5.9 pkgrel=0 pkgdesc="GraphQL support for PostgreSQL" url="https://supabase.github.io/pg_graphql/" # ppc64le,riscv64,s390x: fails to build due to ring crate (https://github.com/pgcentralfoundation/pgrx/pull/1442) # loongarch64: fails to build cargo-pgrx arch="all !ppc64le !riscv64 !s390x !loongarch64" license="Apache-2.0" makedepends=" cargo chrpath clang-dev jq openssl-dev postgresql postgresql-dev rustfmt " source="https://github.com/supabase/pg_graphql/archive/v$pkgver/$_projname-$pkgver.tar.gz" builddir="$srcdir/$_projname-$pkgver" # check: tests tries to write to /usr/lib/... # net: fetches crates in build phase options="!check net" export PGRX_HOME="$srcdir/.pgrx" prepare() { default_prepare cargo fetch --target="$CTARGET" --locked } build() { local pgver="$(pg_config --major-version)" # We must install it this way because cargo-pgrx and pgrx dependency # versions in the project must be identical. :( local pgrx_ver; pgrx_ver="$(cargo metadata --locked --format-version 1 \ | jq -r '.packages[] | select(.name == "pgrx") | .version')" # Use dev profile to speed-up compilation. cargo install --locked --profile dev --bins --root target/tools "cargo-pgrx@$pgrx_ver" export PATH="$PWD/target/tools/bin:$PATH" cargo pgrx init --pg$pgver="$(which pg_config)" cargo pgrx package --verbose --out-dir="target/release/dist" # Remove RPATH. # NOTE: CARGO_PROFILE_RELEASE_RPATH=false doesn't work here. chrpath -d target/release/dist/usr/lib/postgresql*/*.so } package() { depends="postgresql$(pg_config --major-version)" mkdir -p "$pkgdir" cp -r target/release/dist/* "$pkgdir"/ } sha512sums=" 94af4a0d50256c5f737a73763d30ea904d3749edf47f4009deb639e1d8986bb8c775be44b265a613d74f20ce9dda95edc8fd6372122a2a25e1c13fc236bf9936 pg_graphql-1.5.9.tar.gz "