1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-22 20:41:26 +00:00

CityHash provides hash functions for strings. The functions mix the

input bits thoroughly but are not suitable for cryptography.  See
"Hash Quality," below, for details on how CityHash was tested and so on.

Functions by CityHash:

- CityHash32() returns a 32-bit hash.
- CityHash64() and similar return a 64-bit hash.
- CityHash128() and similar return a 128-bit hash and are tuned for
strings of at least a few hundred bytes.  Depending on your compiler
and hardware, it's likely faster than CityHash64() on sufficiently long
strings.  It's slower than necessary on shorter strings, but we expect
that case to be relatively unimportant.
- CityHashCrc128() and similar are variants of CityHash128() that depend
on _mm_crc32_u64(), an intrinsic that compiles to a CRC32 instruction
on some CPUs.  However, none of the functions we provide are CRCs.
- CityHashCrc256() is a variant of CityHashCrc128() that also depends
on _mm_crc32_u64().  It returns a 256-bit hash.

All members of the CityHash family were designed with heavy reliance
on previous work by Austin Appleby, Bob Jenkins, and others.
For example, CityHash32 has many similarities with Murmur3a.

WWW: http://code.google.com/p/cityhash/

PR:		ports/174793
Submitted by:	Gvozdikov Veniamin <g.veniamin@googlemail.com>
This commit is contained in:
Martin Wilke 2013-02-10 14:30:35 +00:00
parent addffaaa75
commit e3076d0e12
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=312029
6 changed files with 68 additions and 0 deletions

View File

@ -201,6 +201,7 @@
SUBDIR += checkheaders
SUBDIR += chrpath
SUBDIR += cil
SUBDIR += cityhash
SUBDIR += cl-alexandria
SUBDIR += cl-alexandria-clisp
SUBDIR += cl-alexandria-sbcl

17
devel/cityhash/Makefile Normal file
View File

@ -0,0 +1,17 @@
# Created by: Gvozdikov Veniamin <g.veniamin@googlemail.com>
# $FreeBSD$
PORTNAME= cityhash
PORTVERSION= 1.1.0
CATEGORIES= devel
MASTER_SITES= GOOGLE_CODE
MAINTAINER= g.veniamin@googlemail.com
COMMENT= Family of hash functions
LICENSE= MIT
GNU_CONFIGURE= yes
USE_LDCONFIG= yes
.include <bsd.port.mk>

2
devel/cityhash/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (cityhash-1.1.0.tar.gz) = 0d07c13c6caf7c798856efa76df7dd2a8d24539240449538316ba4c3bd084679
SIZE (cityhash-1.1.0.tar.gz) = 355571

View File

@ -0,0 +1,15 @@
--- src/city.cc.orig 2012-12-24 12:40:59.863562632 +0400
+++ src/city.cc 2012-12-24 12:48:07.077276386 +0400
@@ -60,6 +60,12 @@
#define bswap_32(x) OSSwapInt32(x)
#define bswap_64(x) OSSwapInt64(x)
+#elif defined __FreeBSD__
+
+#include <sys/endian.h>
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
+
#else
#include <byteswap.h>

24
devel/cityhash/pkg-descr Normal file
View File

@ -0,0 +1,24 @@
CityHash provides hash functions for strings. The functions mix the
input bits thoroughly but are not suitable for cryptography. See
"Hash Quality," below, for details on how CityHash was tested and so on.
Functions by CityHash:
- CityHash32() returns a 32-bit hash.
- CityHash64() and similar return a 64-bit hash.
- CityHash128() and similar return a 128-bit hash and are tuned for
strings of at least a few hundred bytes. Depending on your compiler
and hardware, it's likely faster than CityHash64() on sufficiently long
strings. It's slower than necessary on shorter strings, but we expect
that case to be relatively unimportant.
- CityHashCrc128() and similar are variants of CityHash128() that depend
on _mm_crc32_u64(), an intrinsic that compiles to a CRC32 instruction
on some CPUs. However, none of the functions we provide are CRCs.
- CityHashCrc256() is a variant of CityHashCrc128() that also depends
on _mm_crc32_u64(). It returns a 256-bit hash.
All members of the CityHash family were designed with heavy reliance
on previous work by Austin Appleby, Bob Jenkins, and others.
For example, CityHash32 has many similarities with Murmur3a.
WWW: http://code.google.com/p/cityhash/

9
devel/cityhash/pkg-plist Normal file
View File

@ -0,0 +1,9 @@
include/city.h
lib/libcityhash.a
lib/libcityhash.la
lib/libcityhash.so
lib/libcityhash.so.0
%%DOCSDIR%%/COPYING
%%DOCSDIR%%/NEWS
%%DOCSDIR%%/README
@dirrm %%DOCSDIR%%