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

# Autogenerated by pycargoebuild 0.13.4

EAPI=8

RUST_MIN_VER="1.84.0"

inherit cargo

DESCRIPTION="Jujutsu - an experimental version control system"
HOMEPAGE="https://github.com/jj-vcs/jj"
SRC_URI="
	https://github.com/jj-vcs/jj/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
	https://files.demize.dev/gentoo/${CATEGORY}/${PN}/${P}-crates.tar.xz
"

LICENSE="Apache-2.0"
# Dependent crate licenses
LICENSE+="
	Apache-2.0 BSD MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016 WTFPL-2 ZLIB
"
SLOT="0"
KEYWORDS="~amd64 ~arm64"

IUSE="
	+git2
"

BDEPEND="
	virtual/pkgconfig
"
DEPEND="
	git2? (
		>=dev-libs/libgit2-1.9.0:0/1.9
		dev-libs/openssl:=
		net-libs/libssh2:=
	)
"
RDEPEND="
	${DEPEND}
	dev-vcs/git
"

QA_FLAGS_IGNORED="usr/bin/${PN}"

pkg_setup() {
	export LIBGIT2_NO_VENDOR=1
	export LIBSSH2_SYS_USE_PKG_CONFIG=1
	export OPENSSL_NO_VENDOR=1
	export PKG_CONFIG_ALLOW_CROSS=1
	rust_pkg_setup
}

src_configure() {
	local myfeatures=(
		$(usev git2)
		watchman
		git
	)
	cargo_src_configure --no-default-features
}

src_install() {
	cargo_src_install --path cli
}

pkg_postinst() {
	if use git2; then
		ewarn "Support for USE=git2 has been deprecated and will be removed in jj 0.30."
		ewarn "Please report any remaining issues you have with the subprocessing path."
	fi
}