aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2008-12-24 07:02:09 +0800
committeramdmi3 <amdmi3@FreeBSD.org>2008-12-24 07:02:09 +0800
commit2bb82c39ffdbe67abd8b4394ac57742e815dd1df (patch)
treed473fb68e15cab6877a03cbd1a28c0b3f2392889 /devel
parentf06b025187b5ab96cc17606eadbd2ebcfc19eca9 (diff)
downloadfreebsd-ports-gnome-2bb82c39ffdbe67abd8b4394ac57742e815dd1df.tar.gz
freebsd-ports-gnome-2bb82c39ffdbe67abd8b4394ac57742e815dd1df.tar.zst
freebsd-ports-gnome-2bb82c39ffdbe67abd8b4394ac57742e815dd1df.zip
Implements consistent hashing that can be used when the number of
server nodes can increase or decrease (like in memcached). The hashing ring is built using the same algorithm as libketama. Consistent hashing is a scheme that provides a hash table functionality in a way that the adding or removing of one slot does not significantly change the mapping of keys to slots. WWW: http://pypi.python.org/pypi/hash_ring PR: 129890 Submitted by: Yi-Jheng Lin <yzlin at cs dot nctu dot edu dot tw>
Diffstat (limited to 'devel')
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-hashring/Makefile26
-rw-r--r--devel/py-hashring/distinfo3
-rw-r--r--devel/py-hashring/files/patch-setup.py11
-rw-r--r--devel/py-hashring/pkg-descr9
5 files changed, 50 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index e2aedf133d48..943637803679 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -2190,6 +2190,7 @@
SUBDIR += py-gitpython
SUBDIR += py-gobject
SUBDIR += py-grouch
+ SUBDIR += py-hashring
SUBDIR += py-icalendar
SUBDIR += py-ice
SUBDIR += py-icu
diff --git a/devel/py-hashring/Makefile b/devel/py-hashring/Makefile
new file mode 100644
index 000000000000..6af6a2524a15
--- /dev/null
+++ b/devel/py-hashring/Makefile
@@ -0,0 +1,26 @@
+# New ports collection makefile for: py-hashring
+# Date created: 2008-12-24
+# Whom: Yi-Jheng Lin <yzlin@cs.nctu.edu.tw>
+#
+# $FreeBSD$
+#
+
+PORTNAME= hashring
+PORTVERSION= 1.1
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= hash_ring-${PORTVERSION}
+
+MAINTAINER= yzlin@cs.nctu.edu.tw
+COMMENT= An implementation of consistent hashing in Python
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}memcached>=0:${PORTSDIR}/databases/py-memcached
+
+USE_PYTHON= yes
+USE_PYDISTUTILS= easy_install
+PYDISTUTILS_PKGNAME= hash_ring
+
+PLIST_FILES= %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
+
+.include <bsd.port.mk>
diff --git a/devel/py-hashring/distinfo b/devel/py-hashring/distinfo
new file mode 100644
index 000000000000..6a0928671661
--- /dev/null
+++ b/devel/py-hashring/distinfo
@@ -0,0 +1,3 @@
+MD5 (hash_ring-1.1.tar.gz) = e059a1ddca398bb24c33621b4f44269b
+SHA256 (hash_ring-1.1.tar.gz) = b444dea3927f5abe5a470f726d27d90d9b712e6981b9b3f3cfd4bb183a425fa5
+SIZE (hash_ring-1.1.tar.gz) = 4043
diff --git a/devel/py-hashring/files/patch-setup.py b/devel/py-hashring/files/patch-setup.py
new file mode 100644
index 000000000000..d76fa5aaa441
--- /dev/null
+++ b/devel/py-hashring/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2008-12-24 05:04:05.000000000 +0800
++++ setup.py 2008-12-24 05:04:21.000000000 +0800
+@@ -6,8 +6,6 @@
+ # your option) any later version.
+
+ import os
+-import ez_setup
+-ez_setup.use_setuptools()
+
+ from setuptools import setup
+
diff --git a/devel/py-hashring/pkg-descr b/devel/py-hashring/pkg-descr
new file mode 100644
index 000000000000..e82e6a96469d
--- /dev/null
+++ b/devel/py-hashring/pkg-descr
@@ -0,0 +1,9 @@
+Implements consistent hashing that can be used when the number of
+server nodes can increase or decrease (like in memcached). The
+hashing ring is built using the same algorithm as libketama.
+
+Consistent hashing is a scheme that provides a hash table functionality
+in a way that the adding or removing of one slot does not significantly
+change the mapping of keys to slots.
+
+WWW: http://pypi.python.org/pypi/hash_ring