aboutsummaryrefslogtreecommitdiff
path: root/databases/libmemcached
diff options
context:
space:
mode:
authorKubilay Kocak <koobs@FreeBSD.org>2014-12-11 05:26:39 +0000
committerKubilay Kocak <koobs@FreeBSD.org>2014-12-11 05:26:39 +0000
commitb6450d4ca70121f6e8fb4c91de9eae9b6c94cd43 (patch)
treef5a000db9f0e619637a2579179a2d471d62b1c7e /databases/libmemcached
parentb1c17841e92850da1d98f87385f9013694ac5d6e (diff)
downloadports-b6450d4ca70121f6e8fb4c91de9eae9b6c94cd43.tar.gz
ports-b6450d4ca70121f6e8fb4c91de9eae9b6c94cd43.zip
databases/libmemcached: Update to 1.0.18 and much more
- Update to 1.0.18 and pkg-plist accordingly - Add LICENSE (BSD3CLAUSE) and LICENSE_FILE - Add TEST_DEPENDS and regression-test target - Perl is not required, remove USE_PERL and from USES - Split LDFLAGS from CONFIGURE_ENV, they're already set there - Add libmemcachedprotocol to CONFIGURE_ARGS (Now default: off) - Add OPTIONS for hash functions, debug and dtrace - pkg-descr: Update WWW: URL - Add patches for: * alloca.h include not found on FreeBSD * cinttypes include location * clang compatibility - Strip shared libraries manually since upstream install-strip target is fail Changes: https://launchpad.net/libmemcached/+announcements [1] https://bugs.launchpad.net/libmemcached/+bug/1245562 [2] https://bugs.launchpad.net/libmemcached/+bug/1400560 Approved by: Mikhail Tsatsenko <m.tsatsenko@gmail.com> (maintainer, via email)
Notes
Notes: svn path=/head/; revision=374511
Diffstat (limited to 'databases/libmemcached')
-rw-r--r--databases/libmemcached/Makefile51
-rw-r--r--databases/libmemcached/distinfo4
-rw-r--r--databases/libmemcached/files/patch-bug124556238
-rw-r--r--databases/libmemcached/files/patch-bug140056029
-rw-r--r--databases/libmemcached/files/patch-libmemcached_assert.hpp13
-rw-r--r--databases/libmemcached/files/patch-libtest_lite.h13
-rw-r--r--databases/libmemcached/pkg-descr2
-rw-r--r--databases/libmemcached/pkg-plist9
8 files changed, 143 insertions, 16 deletions
diff --git a/databases/libmemcached/Makefile b/databases/libmemcached/Makefile
index cd134bbd7aae..8e342cfac1c6 100644
--- a/databases/libmemcached/Makefile
+++ b/databases/libmemcached/Makefile
@@ -1,31 +1,60 @@
# $FreeBSD$
PORTNAME= libmemcached
-PORTVERSION= 1.0.7
-PORTREVISION= 4
+PORTVERSION= 1.0.18
CATEGORIES= databases
MASTER_SITES= http://launchpad.net/${PORTNAME}/1.0/${PORTVERSION}/+download/
MAINTAINER= m.tsatsenko@gmail.com
COMMENT= C and C++ client library to the memcached server
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/COPYING
+
LIB_DEPENDS?= libevent.so:${PORTSDIR}/devel/libevent2
+TEST_DEPENDS= memcached:${PORTSDIR}/databases/memcached
-USES= execinfo gmake pathfix pkgconfig perl5 libtool
-USE_PERL5= build
+USES= autoreconf execinfo gmake pathfix pkgconfig libtool
USE_LDCONFIG= yes
+
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --without-memcached
-CONFIGURE_ENV+= LDFLAGS="-L${LOCALBASE}/lib -lexecinfo"
-CXXFLAGS+= -D__STDC_CONSTANT_MACROS
+CONFIGURE_ARGS= --without-memcached \
+ --enable-libmemcachedprotocol
-OPTIONS_DEFINE= SASL
+LDFLAGS+= -L${LOCALBASE}/lib -lexecinfo
+CXXFLAGS+= -D__STDC_CONSTANT_MACROS
+OPTIONS_DEFINE= DEBUG DTRACE MEMASLAP SASL
+OPTIONS_DEFAULT= MEMASLAP SASL MURMUR FNV64
+OPTIONS_GROUP= HASH
+OPTIONS_GROUP_HASH= FNV64 HSIEH MURMUR
+
+DTRACE_DESC= Enable DTrace support
+MEMASLAP_DESC= Load generation and benchmark tool
+FNV64_DESC= Enable fnv64 hashing
+HSIEH_DESC= Enable hsieh hashing
+MURMUR_DESC= Enable murmur hashing
+
+DEBUG_CONFIGURE_ENABLE= debug
+DTRACE_CONFIGURE_ENABLE= dtrace
+MEMASLAP_CONFIGURE_ENABLE= memaslap
+FNV64_CONFIGURE_ENABLE= fnv64_hash
+HSIEH_CONFIGURE_ENABLE= hsieh_hash
+MURMUR_CONFIGURE_ENABLE= murmur_hash
+
+SASL_CONFIGURE_ENABLE= sasl
SASL_LIB_DEPENDS= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
+PATHFIX_MAKEFILEIN= include.am
+
post-patch:
- @${REINPLACE_CMD} -e 's|^pkgconfigdir.*|pkgconfigdir = $${PREFIX}/libdata/pkgconfig|' \
- -e '/^LDFLAGS *=/ s/$$/ $${LTLIBSASL2}/' \
- ${WRKSRC}/Makefile.in ${WRKSRC}/support/include.am
+ @${REINPLACE_CMD} -e '/^LDFLAGS *=/ s/$$/ $${LTLIBSASL2}/' \
+ ${WRKSRC}/Makefile.in
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so.*
+
+regression-test: build
+ @cd ${WRKSRC} && ${GMAKE} check
.include <bsd.port.mk>
diff --git a/databases/libmemcached/distinfo b/databases/libmemcached/distinfo
index 0232fedddf33..240b9b4527c6 100644
--- a/databases/libmemcached/distinfo
+++ b/databases/libmemcached/distinfo
@@ -1,2 +1,2 @@
-SHA256 (libmemcached-1.0.7.tar.gz) = 3efa86c9733eaad55d7119cb16769424e2aa6c22b3392e8f973946fce6678d81
-SIZE (libmemcached-1.0.7.tar.gz) = 1077060
+SHA256 (libmemcached-1.0.18.tar.gz) = e22c0bb032fde08f53de9ffbc5a128233041d9f33b5de022c0978a2149885f82
+SIZE (libmemcached-1.0.18.tar.gz) = 1039649
diff --git a/databases/libmemcached/files/patch-bug1245562 b/databases/libmemcached/files/patch-bug1245562
new file mode 100644
index 000000000000..a0b146e5b72e
--- /dev/null
+++ b/databases/libmemcached/files/patch-bug1245562
@@ -0,0 +1,38 @@
+diff --git a/clients/memflush.cc b/clients/memflush.cc
+index 8bd0dbf..cdba743 100644
+--- clients/memflush.cc
++++ clients/memflush.cc
+@@ -39,7 +39,7 @@ int main(int argc, char *argv[])
+ {
+ options_parse(argc, argv);
+
+- if (opt_servers == false)
++ if (opt_servers == NULL)
+ {
+ char *temp;
+
+@@ -48,7 +48,7 @@ int main(int argc, char *argv[])
+ opt_servers= strdup(temp);
+ }
+
+- if (opt_servers == false)
++ if (opt_servers == NULL)
+ {
+ std::cerr << "No Servers provided" << std::endl;
+ exit(EXIT_FAILURE);
+diff --git a/libmemcached-1.0/memcached.h b/libmemcached-1.0/memcached.h
+index bc16e73..dcee395 100644
+--- libmemcached-1.0/memcached.h
++++ libmemcached-1.0/memcached.h
+@@ -43,7 +43,11 @@
+ #endif
+
+ #ifdef __cplusplus
++#ifdef _LIBCPP_VERSION
+ # include <cinttypes>
++#else
++# include <tr1/cinttypes>
++#endif
+ # include <cstddef>
+ # include <cstdlib>
+ #else
diff --git a/databases/libmemcached/files/patch-bug1400560 b/databases/libmemcached/files/patch-bug1400560
new file mode 100644
index 000000000000..6dbab3180a3e
--- /dev/null
+++ b/databases/libmemcached/files/patch-bug1400560
@@ -0,0 +1,29 @@
+Fixed a bug that caused configure to disobey the enable/disable debug flag. The debug flag will default to disabled if not specified.
+diff -ru libmemcached-1.0.18-orig/m4/ax_debug.m4 libmemcached-1.0.18/m4/ax_debug.m4
+--- m4/ax_debug.m4 2014-11-05 14:43:53.720284916 -0600
++++ m4/ax_debug.m4 2014-11-19 14:23:19.512482198 -0600
+@@ -49,16 +49,18 @@
+ [AC_PREREQ([2.63])dnl
+ AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+- [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])],
+- [ax_enable_debug=yes
++ [Add debug code/turns off optimizations (yes|no) @<:@default=no@:>@])])
++ AS_IF([test "x$enable_debug" = "xyes"], [
++ ax_enable_debug=yes
+ AC_DEFINE([DEBUG],[1],[Define to 1 to enable debugging code.])
+ AX_CHECK_LIBRARY([MCHECK],[mcheck.h],[mcheck],[AX_APPEND_LINK_FLAGS([-lmcheck])])
+ AX_ADD_AM_MACRO([--debug],[AM_YFLAGS])
+- AX_ADD_AM_MACRO([-D_GLIBCXX_DEBUG],[AM_CPPFLAGS])],
+- [ax_enable_debug=no
++ AX_ADD_AM_MACRO([-D_GLIBCXX_DEBUG],[AM_CPPFLAGS])
++ ], [
++ ax_enable_debug=no
+ AC_SUBST([MCHECK])
+- AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])])
+-
++ AC_DEFINE([DEBUG],[0],[Define to 1 to enable debugging code.])
++ ])
+ AC_MSG_CHECKING([for debug])
+ AC_MSG_RESULT([$ax_enable_debug])
+ AM_CONDITIONAL([DEBUG],[test "x${ax_enable_debug}" = "xyes"])])
diff --git a/databases/libmemcached/files/patch-libmemcached_assert.hpp b/databases/libmemcached/files/patch-libmemcached_assert.hpp
new file mode 100644
index 000000000000..83a464c748e3
--- /dev/null
+++ b/databases/libmemcached/files/patch-libmemcached_assert.hpp
@@ -0,0 +1,13 @@
+--- libmemcached/assert.hpp.orig 2014-12-10 05:16:11 UTC
++++ libmemcached/assert.hpp
+@@ -51,8 +51,10 @@
+ # ifdef _WIN32
+ # include <malloc.h>
+ # else
++#ifdef HAVE_ALLOCA_H
+ # include <alloca.h>
+ # endif
++# endif
+
+ #ifdef __cplusplus
+ # include <cstdarg>
diff --git a/databases/libmemcached/files/patch-libtest_lite.h b/databases/libmemcached/files/patch-libtest_lite.h
new file mode 100644
index 000000000000..01a2641c3ea1
--- /dev/null
+++ b/databases/libmemcached/files/patch-libtest_lite.h
@@ -0,0 +1,13 @@
+--- libtest/lite.h.orig 2014-12-09 03:34:21 UTC
++++ libtest/lite.h
+@@ -54,8 +54,10 @@
+ #if defined(WIN32)
+ # include <malloc.h>
+ #else
++#ifdef HAVE_ALLOCA_H
+ # include <alloca.h>
+ #endif
++#endif
+
+ #ifndef __PRETTY_FUNCTION__
+ # define __PRETTY_FUNCTION__ __func__
diff --git a/databases/libmemcached/pkg-descr b/databases/libmemcached/pkg-descr
index 47bd9c83467c..60077900c936 100644
--- a/databases/libmemcached/pkg-descr
+++ b/databases/libmemcached/pkg-descr
@@ -20,4 +20,4 @@ memcp - Copy files to a memached server.
memstat - Dump the stats of your servers to standard output
memslap - Generate testing loads on a memcached cluster
-WWW: http://tangent.org/552/libmemcached.html
+WWW: http://libmemcached.org
diff --git a/databases/libmemcached/pkg-plist b/databases/libmemcached/pkg-plist
index 660d6e49d371..bade4cfa1585 100644
--- a/databases/libmemcached/pkg-plist
+++ b/databases/libmemcached/pkg-plist
@@ -103,8 +103,8 @@ lib/libhashkit.so.2
lib/libhashkit.so.2.0.0
lib/libmemcached.a
lib/libmemcached.so
-lib/libmemcached.so.10
-lib/libmemcached.so.10.0.0
+lib/libmemcached.so.11
+lib/libmemcached.so.11.0.0
lib/libmemcachedprotocol.a
lib/libmemcachedprotocol.so
lib/libmemcachedprotocol.so.0
@@ -120,10 +120,14 @@ man/man1/memcat.1.gz
man/man1/memcp.1.gz
man/man1/memdump.1.gz
man/man1/memerror.1.gz
+man/man1/memexist.1.gz
man/man1/memflush.1.gz
+man/man1/memparse.1.gz
+man/man1/memping.1.gz
man/man1/memrm.1.gz
man/man1/memslap.1.gz
man/man1/memstat.1.gz
+man/man1/memtouch.1.gz
man/man3/hashkit_clone.3.gz
man/man3/hashkit_crc32.3.gz
man/man3/hashkit_create.3.gz
@@ -227,3 +231,4 @@ man/man3/memcached_touch.3.gz
man/man3/memcached_touch_by_key.3.gz
man/man3/memcached_verbosity.3.gz
man/man3/memcached_version.3.gz
+share/aclocal/ax_libmemcached.m4