Bug 174793 - [new port]: devel/cityhash Family of hash functions
Summary: [new port]: devel/cityhash Family of hash functions
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-29 08:00 UTC by Veniamin
Modified: 2013-02-10 14:40 UTC (History)
0 users

See Also:


Attachments
file.shar (3.37 KB, text/plain)
2012-12-29 08:00 UTC, Veniamin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Veniamin 2012-12-29 08:00:00 UTC
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.
Comment 1 Martin Wilke freebsd_committer freebsd_triage 2013-02-10 14:30:16 UTC
State Changed
From-To: open->closed

New port added. Thanks!
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-02-10 14:30:45 UTC
Author: miwi
Date: Sun Feb 10 14:30:35 2013
New Revision: 312029
URL: http://svnweb.freebsd.org/changeset/ports/312029

Log:
  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>

Added:
  head/devel/cityhash/
  head/devel/cityhash/Makefile   (contents, props changed)
  head/devel/cityhash/distinfo   (contents, props changed)
  head/devel/cityhash/files/
  head/devel/cityhash/files/patch-src_city.cc   (contents, props changed)
  head/devel/cityhash/pkg-descr   (contents, props changed)
  head/devel/cityhash/pkg-plist   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Sun Feb 10 14:28:53 2013	(r312028)
+++ head/devel/Makefile	Sun Feb 10 14:30:35 2013	(r312029)
@@ -201,6 +201,7 @@
     SUBDIR += checkheaders
     SUBDIR += chrpath
     SUBDIR += cil
+    SUBDIR += cityhash
     SUBDIR += cl-alexandria
     SUBDIR += cl-alexandria-clisp
     SUBDIR += cl-alexandria-sbcl

Added: head/devel/cityhash/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cityhash/Makefile	Sun Feb 10 14:30:35 2013	(r312029)
@@ -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>

Added: head/devel/cityhash/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cityhash/distinfo	Sun Feb 10 14:30:35 2013	(r312029)
@@ -0,0 +1,2 @@
+SHA256 (cityhash-1.1.0.tar.gz) = 0d07c13c6caf7c798856efa76df7dd2a8d24539240449538316ba4c3bd084679
+SIZE (cityhash-1.1.0.tar.gz) = 355571

Added: head/devel/cityhash/files/patch-src_city.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cityhash/files/patch-src_city.cc	Sun Feb 10 14:30:35 2013	(r312029)
@@ -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>

Added: head/devel/cityhash/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cityhash/pkg-descr	Sun Feb 10 14:30:35 2013	(r312029)
@@ -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/

Added: head/devel/cityhash/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cityhash/pkg-plist	Sun Feb 10 14:30:35 2013	(r312029)
@@ -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%%
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"