56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# Copyright 1999-2025 Gentoo Authors
 | 
						|
# Distributed under the terms of the GNU General Public License v2
 | 
						|
 | 
						|
EAPI=8
 | 
						|
 | 
						|
DISTUTILS_USE_PEP517=hatchling
 | 
						|
PYTHON_COMPAT=( python3_{11..13} )
 | 
						|
 | 
						|
inherit distutils-r1 pypi
 | 
						|
 | 
						|
DESCRIPTION="Python bindings for libmongocrypt"
 | 
						|
HOMEPAGE="
 | 
						|
	https://github.com/mongodb/libmongocrypt/
 | 
						|
	https://pypi.org/project/pymongocrypt
 | 
						|
"
 | 
						|
 | 
						|
LICENSE="Apache-2.0"
 | 
						|
SLOT="0"
 | 
						|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
 | 
						|
 | 
						|
RDEPEND="
 | 
						|
	>=dev-libs/libmongocrypt-1.14.1
 | 
						|
	dev-python/cffi[${PYTHON_USEDEP}]
 | 
						|
	dev-python/cryptography[${PYTHON_USEDEP}]
 | 
						|
	dev-python/packaging[${PYTHON_USEDEP}]
 | 
						|
	dev-python/httpx[${PYTHON_USEDEP}]
 | 
						|
 | 
						|
"
 | 
						|
BDEPEND="
 | 
						|
	test? (
 | 
						|
		dev-python/pymongo[${PYTHON_USEDEP}]
 | 
						|
		dev-python/pymongo-auth-aws[${PYTHON_USEDEP}]
 | 
						|
		dev-python/respx[${PYTHON_USEDEP}]
 | 
						|
		dev-python/unasync[${PYTHON_USEDEP}]
 | 
						|
	)
 | 
						|
"
 | 
						|
 | 
						|
distutils_enable_tests pytest
 | 
						|
 | 
						|
src_prepare() {
 | 
						|
	distutils-r1_src_prepare
 | 
						|
	# we do not want hatch-requirements-txt and its ton of NIH deps
 | 
						|
	sed -i -e '/requirements/d' pyproject.toml || die
 | 
						|
}
 | 
						|
 | 
						|
python_test() {
 | 
						|
	local EPYTEST_DESELECT=(
 | 
						|
		# slow
 | 
						|
		test/performance/perf_test.py::TestBulkDecryption::runTest
 | 
						|
		# needs mongodb-enterprise-6+ (crypt_shared)
 | 
						|
		test/test_mongocrypt.py::TestMongoCryptCallback::test_crypt_shared
 | 
						|
		test/test_mongocrypt.py::TestAsyncMongoCryptCallback::test_crypt_shared
 | 
						|
	)
 | 
						|
	epytest
 | 
						|
}
 |