diff options
author | Thomas Sachau <tommy@gentoo.org> | 2012-02-08 19:53:55 +0000 |
---|---|---|
committer | Thomas Sachau <tommy@gentoo.org> | 2012-02-08 19:53:55 +0000 |
commit | 029c38c68177524a7079de7e476a2cb6c48396a8 (patch) | |
tree | eb8b2fa347e3996ccbcfaaa814e5c52e55a879c9 /dev-libs/eina | |
parent | Marked ~hppa (bug #399649). (diff) | |
download | gentoo-2-029c38c68177524a7079de7e476a2cb6c48396a8.tar.gz gentoo-2-029c38c68177524a7079de7e476a2cb6c48396a8.tar.bz2 gentoo-2-029c38c68177524a7079de7e476a2cb6c48396a8.zip |
Version bump, drop old
(Portage version: 2.2.0_alpha85-r1/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/eina')
-rw-r--r-- | dev-libs/eina/ChangeLog | 10 | ||||
-rw-r--r-- | dev-libs/eina/eina-1.1.0.ebuild (renamed from dev-libs/eina/eina-1.0.0.ebuild) | 10 | ||||
-rw-r--r-- | dev-libs/eina/files/city.h | 96 |
3 files changed, 112 insertions, 4 deletions
diff --git a/dev-libs/eina/ChangeLog b/dev-libs/eina/ChangeLog index a61bc4b67b6d..f255fbf785c2 100644 --- a/dev-libs/eina/ChangeLog +++ b/dev-libs/eina/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-libs/eina -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/eina/ChangeLog,v 1.5 2011/05/29 16:02:24 tommy Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/eina/ChangeLog,v 1.6 2012/02/08 19:53:55 tommy Exp $ + +*eina-1.1.0 (08 Feb 2012) + + 08 Feb 2012; Thomas Sachau (Tommy[D]) <tommy@gentoo.org> -eina-1.0.0.ebuild, + +eina-1.1.0.ebuild, +files/city.h: + Version bump, drop old *eina-1.0.1 (29 May 2011) diff --git a/dev-libs/eina/eina-1.0.0.ebuild b/dev-libs/eina/eina-1.1.0.ebuild index 7109ef10a959..972eb52edb8d 100644 --- a/dev-libs/eina/eina-1.0.0.ebuild +++ b/dev-libs/eina/eina-1.1.0.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/eina/eina-1.0.0.ebuild,v 1.1 2011/01/30 14:10:16 tommy Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/eina/eina-1.1.0.ebuild,v 1.1 2012/02/08 19:53:55 tommy Exp $ EAPI="2" @@ -24,6 +24,12 @@ DEPEND="${RDEPEND} dev-util/lcov )" +src_prepare() { + cp "${FILESDIR}"/city.h src/tests/ || die + + enlightenment_src_prepare +} + src_configure() { local MODULE_ARGUMENT="static" if use debug ; then diff --git a/dev-libs/eina/files/city.h b/dev-libs/eina/files/city.h new file mode 100644 index 000000000000..a9c297fee7ec --- /dev/null +++ b/dev-libs/eina/files/city.h @@ -0,0 +1,96 @@ +// Copyright (c) 2011 Google, Inc. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// +// CityHash Version 1, by Geoff Pike and Jyrki Alakuijala +// +// This file provides a few functions for hashing strings. On x86-64 +// hardware in 2011, CityHash64() is faster than other high-quality +// hash functions, such as Murmur. This is largely due to higher +// instruction-level parallelism. CityHash64() and CityHash128() also perform +// well on hash-quality tests. +// +// CityHash128() is optimized for relatively long strings and returns +// a 128-bit hash. For strings more than about 2000 bytes it can be +// faster than CityHash64(). +// +// Functions in the CityHash family are not suitable for cryptography. +// +// WARNING: This code has not been tested on big-endian platforms! +// It is known to work well on little-endian platforms that have a small penalty +// for unaligned reads, such as current Intel and AMD moderate-to-high-end CPUs. +// +// By the way, for some hash functions, given strings a and b, the hash +// of a+b is easily derived from the hashes of a and b. This property +// doesn't hold for any hash functions in this file. + +#ifndef CITY_HASH_H_ +#define CITY_HASH_H_ + +#include <stdlib.h> // for size_t. +#include <stdint.h> +#include <utility> + +typedef uint8_t uint8; +typedef uint32_t uint32; +typedef uint64_t uint64; +typedef std::pair<uint64, uint64> uint128; + +#ifdef __cplusplus +extern "C" { +#endif + +inline uint64 Uint128Low64(const uint128& x) { return x.first; } +inline uint64 Uint128High64(const uint128& x) { return x.second; } + +// Hash function for a byte array. +uint64 CityHash64(const char *buf, size_t len); +// Hash function for a byte array. For convenience, a 64-bit seed is also +// hashed into the result. +uint64 CityHash64WithSeed(const char *buf, size_t len, uint64 seed); + +// Hash function for a byte array. For convenience, two seeds are also +// hashed into the result. +uint64 CityHash64WithSeeds(const char *buf, size_t len, + uint64 seed0, uint64 seed1); + +// Hash function for a byte array. +uint128 CityHash128(const char *s, size_t len); + +// Hash function for a byte array. For convenience, a 128-bit seed is also +// hashed into the result. +uint128 CityHash128WithSeed(const char *s, size_t len, uint128 seed); + +// Hash 128 input bits down to 64 bits of output. +// This is intended to be a reasonably good hash function. +inline uint64 Hash128to64(const uint128& x) { + // Murmur-inspired hashing. + const uint64 kMul = 0x9ddfea08eb382d69ULL; + uint64 a = (Uint128Low64(x) ^ Uint128High64(x)) * kMul; + a ^= (a >> 47); + uint64 b = (Uint128High64(x) ^ a) * kMul; + b ^= (b >> 47); + b *= kMul; + return b; +} + +#ifdef __cplusplus +} +#endif +#endif // CITY_HASH_H_ |