app-misc/qdrant - 1.19.1 (stuff)

Search

Install

Install this version:

emerge -a =app-misc/qdrant-1.19.1

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =app-misc/qdrant-1.19.1

Or alternatively:

emerge --autounmask-write -a =app-misc/qdrant-1.19.1

Package Information

Description:
High-performance vector database and vector similarity search engine
Homepage:
https://qdrant.tech/ https://github.com/qdrant/qdrant
License:
Apache-2.0

Ebuild Details

Version EAPI Keywords Slot
1.19.1 8 ~amd64 ~arm64 0
View Raw Ebuild
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

RUST_MIN_VER="1.97.0"

inherit cargo systemd

DESCRIPTION="High-performance vector database and vector similarity search engine"
HOMEPAGE="
	https://qdrant.tech/
	https://github.com/qdrant/qdrant
"
SRC_URI="https://github.com/qdrant/qdrant/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="openrc systemd"

# Cargo.lock includes pinned git-only raft-rs and tonic revisions, requiring
# live network fetching. # verified 2026-09-04
PROPERTIES="live"
RESTRICT="network-sandbox test"

RDEPEND="
	acct-group/qdrant
	acct-user/qdrant
"
DEPEND="${RDEPEND}"

src_unpack() {
	default
}

src_compile() {
	export CARGO_HOME="${T}/cargo"
	# Fat LTO exhausts common arm64 builders; Thin retains cross-crate optimization.
	if [[ ${ARCH} == arm64 ]]; then
		export CARGO_PROFILE_RELEASE_LTO="thin"
	fi
	# --locked fixes the graph while RESTRICT permits its network fetches.
	cargo build --release --locked --bin qdrant \
		|| die "cargo build failed"
}

src_install() {
	dobin target/release/qdrant

	# Move mutable data under /var and bind to loopback. Anchors verified because
	# sed silently accepts no matches. # verified 2026-09-04
	sed -e 's#\./storage#/var/lib/qdrant/storage#' \
		-e 's#\./snapshots#/var/lib/qdrant/snapshots#' \
		-e 's#host: 0\.0\.0\.0#host: 127.0.0.1#' \
		config/config.yaml > "${T}/config.yaml" || die
	insinto /etc/qdrant
	newins "${T}/config.yaml" config.yaml

	# The separately released web UI is not bundled; REST/gRPC work without it.

	keepdir /var/lib/qdrant/storage /var/lib/qdrant/snapshots /var/log/qdrant
	fowners -R qdrant:qdrant /var/lib/qdrant /var/log/qdrant
	fperms 0750 /var/lib/qdrant /var/log/qdrant

	if use openrc; then
		newinitd "${FILESDIR}/qdrant.initd" qdrant
		newconfd "${FILESDIR}/qdrant.confd" qdrant
	fi
	if use systemd; then
		systemd_dounit "${FILESDIR}/qdrant.service"
	fi

	dodoc README.md
}

pkg_postinst() {
	elog "Qdrant config:   ${EROOT}/etc/qdrant/config.yaml (bound to 127.0.0.1)"
	elog "Qdrant data:     ${EROOT}/var/lib/qdrant"
	elog "REST API:        http://127.0.0.1:6333"
	elog "gRPC API:        127.0.0.1:6334"
	elog
	elog "Start it with:   rc-service qdrant start   (or: systemctl start qdrant)"
}

USE Flags

Manage flags for this package: euse -i <flag> -p app-misc/qdrant | euse -E <flag> -p app-misc/qdrant | euse -D <flag> -p app-misc/qdrant

Global/Standard Flags

Inherited Eclasses

Dependencies

DEPEND

	acct-group/qdrant
	acct-user/qdrant

RDEPEND

	acct-group/qdrant
	acct-user/qdrant

Manifest for 1.19.1

Type File Size Source URLs
DIST qdrant-1.19.1.gh.tar.gz 6721783 bytes https://github.com/qdrant/qdrant/archive/refs/tags/v1.19.1.tar.gz