1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-13 03:09:51 +03:00
aports/community/postgresql-pg_graphql/APKBUILD

66 lines
1.9 KiB
Text

# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=postgresql-pg_graphql
_projname=pg_graphql
pkgver=1.5.11
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)
arch="all !ppc64le !riscv64 !s390x"
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="
338344c30ea5fe194a09cc7b9daa798a823d9a40008dc1fd5eb2ad4c9b89c01f67d9c499f5df1c0a7d360d12e274dc540fd85de02708fa90aa4a0a2fed77f8b1 pg_graphql-1.5.11.tar.gz
"