# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_EXT=1 DISTUTILS_USE_PEP517=maturin PYTHON_COMPAT=( python3_{10..13} pypy3 ) CRATES=" autocfg@1.3.0 bitflags@1.3.2 bitflags@2.6.0 cc@1.0.96 cfg-if@1.0.0 crossbeam-channel@0.5.12 crossbeam-utils@0.8.19 filetime@0.2.24 fsevent-sys@4.1.0 heck@0.5.0 indoc@2.0.5 inotify-sys@0.1.5 inotify@0.10.2 instant@0.1.13 kqueue-sys@1.0.4 kqueue@1.0.8 libc@0.2.154 libredox@0.1.3 log@0.4.22 memoffset@0.9.1 mio@0.8.11 once_cell@1.19.0 portable-atomic@1.6.0 proc-macro2@1.0.81 pyo3-build-config@0.23.1 pyo3-ffi@0.23.1 pyo3-macros-backend@0.23.1 pyo3-macros@0.23.1 pyo3@0.23.1 python3-dll-a@0.2.10 quote@1.0.36 redox_syscall@0.5.3 same-file@1.0.6 syn@2.0.60 target-lexicon@0.12.14 unicode-ident@1.0.12 unindent@0.2.3 walkdir@2.5.0 wasi@0.11.0+wasi-snapshot-preview1 winapi-util@0.1.9 windows-sys@0.48.0 windows-sys@0.52.0 windows-sys@0.59.0 windows-targets@0.48.5 windows-targets@0.52.6 windows_aarch64_gnullvm@0.48.5 windows_aarch64_gnullvm@0.52.6 windows_aarch64_msvc@0.48.5 windows_aarch64_msvc@0.52.6 windows_i686_gnu@0.48.5 windows_i686_gnu@0.52.6 windows_i686_gnullvm@0.52.6 windows_i686_msvc@0.48.5 windows_i686_msvc@0.52.6 windows_x86_64_gnu@0.48.5 windows_x86_64_gnu@0.52.6 windows_x86_64_gnullvm@0.48.5 windows_x86_64_gnullvm@0.52.6 windows_x86_64_msvc@0.48.5 windows_x86_64_msvc@0.52.6 " declare -A GIT_CRATES=( [notify-types]='https://github.com/samuelcolvin/notify;0f87ab12707d231fa44180454d59478d3992eb59;notify-%commit%/notify-types' [notify]='https://github.com/samuelcolvin/notify;0f87ab12707d231fa44180454d59478d3992eb59;notify-%commit%/notify' ) inherit cargo distutils-r1 DESCRIPTION="Simple, modern file watching and code reload in Python" HOMEPAGE=" https://pypi.org/project/watchfiles/ https://github.com/samuelcolvin/watchfiles/ " SRC_URI=" https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz ${CARGO_CRATE_URIS} " LICENSE="MIT" # Dependent crate licenses LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD ISC MIT Unicode-DFS-2016" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" RDEPEND=" >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}] " BDEPEND=" dev-python/setuptools-rust[${PYTHON_USEDEP}] test? ( dev-python/dirty-equals[${PYTHON_USEDEP}] dev-python/pytest-mock[${PYTHON_USEDEP}] dev-python/pytest-timeout[${PYTHON_USEDEP}] ) " # enjoy Rust QA_FLAGS_IGNORED=".*/_rust_notify.*" distutils_enable_tests pytest src_prepare() { distutils-r1_src_prepare # fix version number sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 } python_test() { local EPYTEST_DESELECT=( # test broken with new anyio # https://github.com/samuelcolvin/watchfiles/issues/254 tests/test_watch.py::test_awatch_interrupt_raise ) rm -rf watchfiles || die epytest }