proj/gentoo: Initial commit

This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.

This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.

Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
This commit is contained in:
Robin H. Johnson
2015-08-08 13:49:04 -07:00
commit 56bd759df1
97532 changed files with 3536859 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST Whirlpool-0.3.tar.gz 34508 SHA256 27702b350b0cb6ea944cbe048419b48e0a66186fd89e0ef1b293d92dbd05f551 SHA512 d9fed84ff0af885534e70f537c0c17f19ad46d31b2b1d77749328e6cba37a805bb8e178539d09a479b0d7a7e93d11f69858db5b3fdc6c3fad9a89fc727004770 WHIRLPOOL 6c25f8fbeec916e65b594da51a28cabbc6a982e82eea3a0d76e71b8a9b46d98cef0f8d733e5c43d0716f878c9a86177918ebba6612d4007777362e53956604ca

View File

@@ -0,0 +1,96 @@
import unittest
import whirlpool
from binascii import b2a_hex
results = {
'empty' : '19fa61d75522a4669b44e39c1d2e1726c530232130d407f89afee0964997f7a73e83be698b288febcf88e3e03c4f0757ea8964e59b63d93708b138cc42a66eb3',
'tqbfjotld' : 'b97de512e91e3828b40d2b0fdce9ceb3c4a71f9bea8d88e75c4fa854df36725fd2b52eb6544edcacd6f8beddfea403cb55ae31f03ad62a5ef54e42ee82c3fb35',
'tqbfjotle' : 'c27ba124205f72e6847f3e19834f925cc666d0974167af915bb462420ed40cc50900d85a1f923219d832357750492d5c143011a76988344c2635e69d06f2d38c',
'tqbf' : '317edc3c5172ea5987902aa9c4f1defedf4d5aa59209bdf7574cc6da0039852c24b8da70ecb07997ff83e86d32d2851215d3dcbd6bb9736bdef21c349d483e6d',
}
class TestWhirlpool(unittest.TestCase):
def test_hash_empty(self):
self.assertEqual(b2a_hex(whirlpool.hash('')), results['empty'])
def test_hash_fox(self):
self.assertEqual(
b2a_hex(whirlpool.hash('The quick brown fox jumps over the lazy dog')),
results['tqbfjotld'])
self.assertEqual(
b2a_hex(whirlpool.hash('The quick brown fox jumps over the lazy eog')),
results['tqbfjotle'])
def test_new_empty(self):
wp = whirlpool.new()
self.assertEqual(b2a_hex(wp.digest()), results['empty'])
self.assertEqual(wp.hexdigest(), results['empty'])
def test_new_fox(self):
wp1 = whirlpool.new('The quick brown fox jumps over the lazy dog')
self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
wp2 = whirlpool.new('The quick brown fox jumps over the lazy eog')
self.assertEqual(b2a_hex(wp2.digest()), results['tqbfjotle'])
self.assertEqual(wp2.hexdigest(), results['tqbfjotle'])
def test_update_copy(self):
wp1 = whirlpool.new()
wp2 = wp1.copy()
wp1.update('The quick brown fox')
wp3 = wp1.copy()
self.assertEqual(b2a_hex(wp1.digest()), results['tqbf'])
self.assertEqual(wp1.hexdigest(), results['tqbf'])
self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
self.assertEqual(wp2.hexdigest(), results['empty'])
self.assertEqual(b2a_hex(wp3.digest()), results['tqbf'])
self.assertEqual(wp3.hexdigest(), results['tqbf'])
wp1.update(' jumps over the lazy dog')
self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
self.assertEqual(wp2.hexdigest(), results['empty'])
self.assertEqual(b2a_hex(wp3.digest()), results['tqbf'])
self.assertEqual(wp3.hexdigest(), results['tqbf'])
wp3.update(' jumps over the lazy eog')
self.assertEqual(b2a_hex(wp1.digest()), results['tqbfjotld'])
self.assertEqual(wp1.hexdigest(), results['tqbfjotld'])
self.assertEqual(b2a_hex(wp2.digest()), results['empty'])
self.assertEqual(wp2.hexdigest(), results['empty'])
self.assertEqual(b2a_hex(wp3.digest()), results['tqbfjotle'])
self.assertEqual(wp3.hexdigest(), results['tqbfjotle'])
def test_digest_size(self):
wp = whirlpool.new()
self.assertEqual(wp.digest_size, 64)
with self.assertRaisesRegexp(AttributeError,
'digest_size.*not writable'):
wp.digest_size = 32
def test_block_size(self):
wp = whirlpool.new()
self.assertEqual(wp.block_size, 64)
with self.assertRaisesRegexp(AttributeError,
'block_size.*not writable'):
wp.block_size = 32
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>python</herd>
<maintainer>
<email>jlec@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="pypi">Whirlpool</remote-id>
<remote-id type="github">radiosilence/python-whirlpool</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,38 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit distutils-r1
MY_PN="Whirlpool"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Bindings for whirlpool hash reference implementation"
HOMEPAGE="https://pypi.python.org/pypi/Whirlpool https://github.com/radiosilence/python-whirlpool"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
SLOT="0"
LICENSE="public-domain"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RDEPEND=""
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]"
S="${WORKDIR}"/${MY_P}
python_prepare_all() {
sed \
-e "/data_files/s:whirlpool:share/whirlpool:g" \
-i setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
${PYTHON} "${FILESDIR}"/tests.py || die
}