dev-python/xattr - 1.3.0 (guru)

Search

Install

Install this version:

emerge -a =dev-python/xattr-1.3.0

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

autounmask =dev-python/xattr-1.3.0

Or alternatively:

emerge --autounmask-write -a =dev-python/xattr-1.3.0

Package Information

Description:
Python wrapper for extended filesystem attributes
Homepage:
https://pypi.org/project/xattr/ https://github.com/xattr/xattr
License:
Apache-2.0

Ebuild Details

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

EAPI=8

DISTUTILS_USE_PEP517=setuptools
DISTUTILS_EXT=1
PYPI_VERIFY_REPO=https://github.com/xattr/xattr
PYTHON_COMPAT=( python3_{12..15} )

inherit distutils-r1 pypi

DESCRIPTION="Python wrapper for extended filesystem attributes"
HOMEPAGE="
	https://pypi.org/project/xattr/
	https://github.com/xattr/xattr
"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"

RDEPEND="
	$(python_gen_cond_dep '!dev-python/pyxattr[${PYTHON_USEDEP}]')
"
BDEPEND="
	$(python_gen_cond_dep '
		>=dev-python/cffi-1.16.0[${PYTHON_USEDEP}]
	' 'python*')
	test? ( sys-apps/attr )
"

EPYTEST_PLUGINS=()
distutils_enable_tests pytest

python_test() {
	cd "${T}" || die
	epytest "${S}"/tests
}

check_xattr() {
	touch tt || die

	setfattr -n "user.testAttr" -v "attribute value" tt || return 1
	getfattr -n "user.testAttr" tt >/dev/null || return 1

	rm -f tt
	return 0
}

src_test() {
	if ! check_xattr; then
		ewarn "Extended attributes not supported on your filesystem, skipping tests"
		return 0
	fi

	distutils-r1_src_test
}

Inherited Eclasses

Dependencies

RDEPEND

	$(python_gen_cond_dep '!dev-python/pyxattr[${PYTHON_USEDEP}]')

BDEPEND

	$(python_gen_cond_dep '
		>=dev-python/cffi-1.16.0[${PYTHON_USEDEP}]
	' 'python*')
	test? ( sys-apps/attr )