forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
53 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST pyblake2-0.9.3.tar.gz 130641 SHA256 626448e1fe1cc01d2197118954bec9f158378577e12686d5b01979f7f0fa2212 SHA512 6336a7f7e79bd3e6ff7f8ff4d279ae170e86f1464b9fa9e7ea7f0dbbac6fcc044caf225111e065f9cd9cdeea0f81fae8d373e1f65be3e418929f53fad063205e WHIRLPOOL 0d8f2aaf35a5eb0ebdedd9219a0ee8b126c93b11ae3e406ef637d8930a34783886b212ce50a33d677b0a19289cd32f40dc3da22a9a9fec108b481268f153d45b | ||
DIST pyblake2-1.0.0.tar.gz 128016 SHA256 aa280dfee52397f3be7dfd19b84283e1e2c97917ef10cb1322d4c41b3a15a7e2 SHA512 b7117e61a138f94c03d89749215a8f9401709a9218b5333b0ea4cf34bbe5f37b0837ed734a1799b8f3f6e4df9d5dcef98ebe59747fa0ab53d87a9e9b7e6824ce WHIRLPOOL 35448a42fd2ca1a42475b841b7299203d59ce42f72104bb0707f3c464cfdce76a18f09020778b033f09a8ae36372a8efbea0717420d53a5b00476ff5c50d2e4a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} pypy ) | ||
inherit distutils-r1 flag-o-matic toolchain-funcs | ||
|
||
DESCRIPTION="BLAKE2 hash function extension module" | ||
HOMEPAGE="https://github.com/dchest/pyblake2 https://pypi.python.org/pypi/pyblake2" | ||
SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz" | ||
|
||
# pyblake2 itself allows more licenses but blake2 allows the following three | ||
LICENSE="|| ( CC0-1.0 openssl Apache-2.0 )" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~ia64 ~mips ~ppc ~ppc64 ~x86 ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" | ||
|
||
blake2_impl() { | ||
local code=' | ||
#if defined(__XOP__) | ||
HAVE_XOP | ||
#elif defined(__AVX__) | ||
HAVE_AVX | ||
#elif defined(__SSSE3__) | ||
HAVE_SSSE3 | ||
#elif defined(__SSE2__) | ||
HAVE_SSE2 | ||
#endif | ||
' | ||
local res=$($(tc-getCC) -E -P ${CFLAGS} - <<<"${code}") | ||
|
||
case ${res} in | ||
*HAVE_XOP*) echo XOP;; | ||
# this does not actually do anything but implicitly enabled SSE4.1... | ||
*HAVE_AVX*) echo AVX;; | ||
*HAVE_SSSE3*) echo SSSE3;; | ||
# note: SSE2 is 2.5x slower than pure REGS, so we ignore it | ||
#*HAVE_SSE2*) echo SSE2;; | ||
*) echo REGS;; | ||
esac | ||
} | ||
|
||
python_prepare_all() { | ||
# uncomment the implementation of choice | ||
sed -i -e "/BLAKE2_COMPRESS_$(blake2_impl)/s:^#::" setup.py || die | ||
|
||
distutils-r1_python_prepare_all | ||
} | ||
|
||
python_test() { | ||
"${EPYTHON}" test/test.py || die "Tests fail with ${EPYTHON}" | ||
} |