# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_USE_PEP517=setuptools
DISTUTILS_SINGLE_IMPL=1
PYTHON_COMPAT=( python3_{12..14} )

inherit distutils-r1 linux-info

DESCRIPTION="Helper tool for developing and building postmarketOS"
HOMEPAGE="https://postmarketos.org/"
SRC_URI="https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/archive/${PV}/${P}.tar.bz2"

LICENSE="GPL-3"
SLOT="0"

# According to upstream README either x86, amd64 or arm64 are required. I
# wrote down all other arches because if I just did -* without adding x86 and
# arm64 keywords it would seem like the package only works on amd64, but I can't
# keyword x86 and arm64 because I can't test these.
KEYWORDS="-alpha ~amd64 -arm -hppa -ppc -ppc64 -riscv -sparc"
RESTRICT="mirror"

RDEPEND="
	dev-vcs/git
	sys-fs/multipath-tools
"

# test_pkgrepo.py is disabled because it requires the pmaports repository (containing
# postmarketOS APKBUILDs) to be cloned at runtime.
EPYTEST_DESELECT=(
	"test/core/test_pkgrepo.py"
)
EPYTEST_PLUGINS=()
distutils_enable_tests pytest

pkg_pretend() {
	if kernel_is -lt 3 17 0; then
		eerror "pmbootstrap requires Linux 3.17 or greater."
		die
	fi
}

# Without this, emerge errors with an "EPYTHON not set" error.
pkg_setup() {
	python-single-r1_pkg_setup
}
