summaryrefslogtreecommitdiff
path: root/dev-python/crc32c
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-28 17:40:55 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-28 17:40:55 +0000
commit8294b197c0de9084d8ac8510382353ea4c177b87 (patch)
tree588533368704fdb760c55c9d15e246a827bc3e3d /dev-python/crc32c
parent73c06e01ebc820f47f0140310b8a096e9d20877b (diff)
gentoo auto-resync : 28:02:2024 - 17:40:54
Diffstat (limited to 'dev-python/crc32c')
-rw-r--r--dev-python/crc32c/Manifest3
-rw-r--r--dev-python/crc32c/crc32c-2.4.ebuild46
-rw-r--r--dev-python/crc32c/metadata.xml11
3 files changed, 60 insertions, 0 deletions
diff --git a/dev-python/crc32c/Manifest b/dev-python/crc32c/Manifest
new file mode 100644
index 000000000000..1ef4d65a2c90
--- /dev/null
+++ b/dev-python/crc32c/Manifest
@@ -0,0 +1,3 @@
+DIST crc32c-2.4.tar.gz 38272 BLAKE2B 1273f62794bd646e983737d922c4e1320a4519856b1cedf2d1d1f9b1e47fc767e248b6e00ada48e8f245e47fc18619327e9a8cfa5d88a0569c467ca6147a1974 SHA512 d747dee42184ff025dd6fd7334b65e5caba4066a055943a783b951d09e09339694072ea552aa95579f03a85a7bdb2eb4a8d12dc9a17f0f83d84c0fde534b36cb
+EBUILD crc32c-2.4.ebuild 1159 BLAKE2B 6245dac547a4b16283b297502d91276b8514d1ae5c2e37fad638a94fa713e9f9e2ff82fc41b1b6d6f41d9400f83ccc35a918c59969a84fad0511335bdfc73cf7 SHA512 512a3f1c61a65ee7bb42f6f48b1c0895eca16baca45edf0796908fbf8bf8bec06ab1df46f170d831d6c1a7a405271ed3c8a29ee93f21127b75aeba96726f09c1
+MISC metadata.xml 340 BLAKE2B 51d7b138caeb04c73b96d68973194bee9c7af76811fa6c886c5aa80415624d00adee76c4187f52bcc740a5f0fafbebd2b9207c5dac3ab191799598c2d5aa275d SHA512 b6c86d6aacc37c0c1fac0382407b9d8821a939e322281192254d95d1b066088268730f1ad7031b3ce9e9aa324db412a0a8ed060ab75d23155e2e682c6d80a93c
diff --git a/dev-python/crc32c/crc32c-2.4.ebuild b/dev-python/crc32c/crc32c-2.4.ebuild
new file mode 100644
index 000000000000..ff64329bc4ad
--- /dev/null
+++ b/dev-python/crc32c/crc32c-2.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CRC32c algorithm in hardware and software"
+HOMEPAGE="
+ https://github.com/ICRAR/crc32c/
+ https://pypi.org/project/crc32c/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64"
+# NB: these don't affect the build, they are only used for tests
+IUSE="cpu_flags_arm_crc32 cpu_flags_x86_sse4_2"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x CRC32C_SW_MODE
+
+ # force = run "software" code (i.e. unoptimized)
+ # none = run "hardware" code (i.e. SSE4.2 / ARMv8 CRC32)
+ for CRC32C_SW_MODE in none force; do
+ if [[ ${CRC32C_SW_MODE} == none ]]; then
+ if ! use cpu_flags_arm_crc32 && ! use cpu_flags_x86_sse4_2; then
+ continue
+ fi
+
+ # the test suite just skips all tests, so double-check
+ "${EPYTHON}" -c "import crc32c" ||
+ die "Importing crc32c failed (accelerated code path broken?)"
+ fi
+
+ einfo "Testing with CRC32C_SW_MODE=${CRC32C_SW_MODE}"
+ epytest
+ done
+}
diff --git a/dev-python/crc32c/metadata.xml b/dev-python/crc32c/metadata.xml
new file mode 100644
index 000000000000..a5c4dec1ece1
--- /dev/null
+++ b/dev-python/crc32c/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ICRAR/crc32c</remote-id>
+ <remote-id type="pypi">crc32c</remote-id>
+ </upstream>
+</pkgmetadata>