Apocrypha

vectorchord-0.5.3phackerlay

# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

POSTGRES_COMPAT=( {16..18} ) # config section below
POSTGRES_USEDEP="server"

CRATES="
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]+wasi-0.2.4
	[email protected]+wasi-0.2.4
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
	[email protected]
"

inherit postgres-multi autotools cargo

DESCRIPTION="Scalable, fast, and disk-friendly vector search in Postgres, the successor of pgvecto.rs"
HOMEPAGE="
	https://docs.vectorchord.ai/vectorchord/getting-started/overview.html
	https://github.com/tensorchord/VectorChord
"
SRC_URI="
	https://github.com/tensorchord/VectorChord/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
	${CARGO_CRATE_URIS}
"

LICENSE="AGPL-3"
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-3.0 ZLIB"

RDEPEND="
	${POSTGRES_DEP}
	dev-db/pgvector
"

BDEPEND="
	dev-util/cargo-pgrx
"

DEPEND="
	${BDEPEND}
	${RDEPEND}
"

SLOT="0"
KEYWORDS="~amd64"

RUST_REQ_USE="rustfmt"
RUST_MIN_VER="1.85.0"

S=${WORKDIR}/VectorChord-${PV}
export PGRX_HOME=${WORKDIR}/pgrx_home

pkg_setup() {
	postgres-multi_pkg_setup
	rust_pkg_setup

	init() {
		cargo pgrx init --pg${PG_SLOT}=/usr/bin/pg_config${PG_SLOT} || die
		chown portage: ${S}-${PG_SLOT}
	}

	postgres-multi_foreach init
}

src_configure() {
	cargo_src_configure
}

src_compile() {
	compile() {
		cd ${S}-${PG_SLOT}/VectorChord-${PV}
		make build || die
	}
	postgres-multi_foreach compile
}

src_install() {
	install() {
		cd ${S}-${PG_SLOT}/VectorChord-${PV}
		DESTDIR=${D} make install || die
	}
	postgres-multi_foreach install
}