summaryrefslogtreecommitdiff
path: root/dev-python/reflink
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/reflink')
-rw-r--r--dev-python/reflink/Manifest1
-rw-r--r--dev-python/reflink/metadata.xml16
-rw-r--r--dev-python/reflink/reflink-0.2.1-r1.ebuild47
3 files changed, 64 insertions, 0 deletions
diff --git a/dev-python/reflink/Manifest b/dev-python/reflink/Manifest
new file mode 100644
index 000000000000..962a554aedba
--- /dev/null
+++ b/dev-python/reflink/Manifest
@@ -0,0 +1 @@
+DIST reflink-0.2.1.tar.gz 14638 BLAKE2B a6449ebb27619ead9ff8452df6c48f3617e5f06eb347fbbe14ab00b9a43c01de8e101466288ac6fb73602165d4d4e9315f941c2f28dffe245ed2c39a10a61cf1 SHA512 5995ed787bda93cb46d99a603110768087420edd72c01d5f3f7f08a3f8f63b4629b900a3c173dd7f3119a892ac19ab1a9c3000ddd83810b22a52dfb5fb892a28
diff --git a/dev-python/reflink/metadata.xml b/dev-python/reflink/metadata.xml
new file mode 100644
index 000000000000..a093d3d44d63
--- /dev/null
+++ b/dev-python/reflink/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>gyakovlev@gentoo.org</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <longdescription lang="en">
+ Python wrapper around the reflink system calls.
+ Btrfs, XFS, OCFS2 reflink support, Apple macOS APFS clonefile support.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">reflink</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-python/reflink/reflink-0.2.1-r1.ebuild b/dev-python/reflink/reflink-0.2.1-r1.ebuild
new file mode 100644
index 000000000000..ab5936518e0f
--- /dev/null
+++ b/dev-python/reflink/reflink-0.2.1-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_IN_SOURCE_BUILD=1
+
+inherit distutils-r1
+
+DESCRIPTION="Python wrapper around the reflink system calls"
+HOMEPAGE="https://gitlab.com/rubdos/pyreflink"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+RDEPEND="virtual/python-cffi[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="${RDEPEND}
+ test? ( sys-fs/btrfs-progs )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e 's|'\''pytest-runner'\'',\?||' -i setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local notestmsg="Tests need FEATURES='-usersandbox -userpriv -sandbox'"
+ if [[ ${EUID} != 0 ]]; then
+ ewarn "${notestmsg}"
+ elif
+ has sandbox ${FEATURES}; then
+ ewarn "${notestmsg}"
+ else
+ pushd "${BUILD_DIR}"/lib >/dev/null || die
+ # module import will fail with any other directory structure
+ cp -rv "${S}"/tests ./ || die
+ pytest -vv || die "Tests fail with ${EPYTHON}"
+ popd >/dev/null || die
+ fi
+}