diff options
author | glarkin <glarkin@FreeBSD.org> | 2013-07-18 03:27:53 +0800 |
---|---|---|
committer | glarkin <glarkin@FreeBSD.org> | 2013-07-18 03:27:53 +0800 |
commit | 16d861cdc6cb87ae879a5625ebaa4b21aad2703b (patch) | |
tree | 10af22a5258fec74507b19ef43678971506e3554 | |
parent | 2d0085d807fb5456b458081a58d3e6f88c2c0430 (diff) | |
download | freebsd-ports-gnome-16d861cdc6cb87ae879a5625ebaa4b21aad2703b.tar.gz freebsd-ports-gnome-16d861cdc6cb87ae879a5625ebaa4b21aad2703b.tar.zst freebsd-ports-gnome-16d861cdc6cb87ae879a5625ebaa4b21aad2703b.zip |
Gearman provides a generic framework to farm out work to other
machines or dispatch function calls to machines that are better suited
to do the work. It allows you to do work in parallel, to load balance
processing, and to call functions between languages. It can be used in
a variety of applications, from high-availability web sites to the
transport for database replication.
WWW: http://www.gearman.org/
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/gearmand-devel/Makefile | 289 | ||||
-rw-r--r-- | devel/gearmand-devel/distinfo | 2 | ||||
-rw-r--r-- | devel/gearmand-devel/files/gearmand.in | 53 | ||||
-rw-r--r-- | devel/gearmand-devel/files/patch-configure | 40 | ||||
-rw-r--r-- | devel/gearmand-devel/files/patch-libgearman-server__log.cc | 11 | ||||
-rw-r--r-- | devel/gearmand-devel/files/patch-libtest__lite.h | 11 | ||||
-rw-r--r-- | devel/gearmand-devel/pkg-descr | 8 | ||||
-rw-r--r-- | devel/gearmand-devel/pkg-plist | 50 |
9 files changed, 465 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index 7d61a952e847..c10da978d0aa 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -534,6 +534,7 @@ SUBDIR += geany-plugins SUBDIR += geany-plugins-l10n SUBDIR += gearmand + SUBDIR += gearmand-devel SUBDIR += gecode SUBDIR += generate SUBDIR += generatorrunner diff --git a/devel/gearmand-devel/Makefile b/devel/gearmand-devel/Makefile new file mode 100644 index 000000000000..075a16807e46 --- /dev/null +++ b/devel/gearmand-devel/Makefile @@ -0,0 +1,289 @@ +# Created by: Gea-Suan Lin <gslin@gslin.org> +# $FreeBSD$ + +PORTNAME= gearmand +PORTVERSION= 1.1.8 +CATEGORIES= devel +MASTER_SITES= http://launchpad.net/gearmand/1.2/${PORTVERSION}/+download/ + +MAINTAINER= glarkin@FreeBSD.org +COMMENT= Gearman C Server and Library + +BUILD_DEPENDS= boost-libs>=0:${PORTSDIR}/devel/boost-libs \ + libexecinfo>=0:${PORTSDIR}/devel/libexecinfo \ + ${PYTHON_PKGNAMEPREFIX}sphinx>=0:${PORTSDIR}/textproc/py-sphinx +LIB_DEPENDS= event:${PORTSDIR}/devel/libevent \ + uuid:${PORTSDIR}/misc/e2fsprogs-libuuid \ + execinfo:${PORTSDIR}/devel/libexecinfo + +CONFLICTS= p5-Gearman-Server-1.* gearmand-1.0.* + +.if defined(MAINTAINER_MODE) && ${MAINTAINER_MODE:Myes} +UID_FILES= ../../UIDs +GID_FILES= ../../GIDs +.if !exists(${UID_FILES}) || !exists(${GID_FILES}) +.error ${UID_FILES} or ${GID_FILES} does not exist - please check +.endif +.endif + +USERS= gearmand +GROUPS= gearmand + +FETCH_ARGS= -pRr +USE_PERL5_BUILD=yes +GNU_CONFIGURE= yes +USE_GMAKE= yes +USES= pathfix +USE_LDCONFIG= yes +USE_PYTHON_BUILD=yes +USE_RC_SUBR= gearmand +SUB_LIST+= USERS=${USERS} GROUPS=${GROUPS} + +CONFIGURE_ARGS+=--with-lib-prefix=${LOCALBASE} --with-boost=${LOCALBASE} \ + --localstatedir=/var/db/${PORTNAME} --enable-static +CPPFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib -lexecinfo + +OPTIONS_DEFINE= DRIZZLE MEMCACHED PGSQL SQLITE MYSQL HIREDIS TOKYOCAB +OPTIONS_DEFAULT=SQLITE + +DRIZZLE_DESC= Enable Drizzle support for persistent queue +MEMCACHED_DESC= Enable memcached support for persistent queue +MYSQL_DESC= Enable MySQL support for persistent queue +PGSQL_DESC= Enable PostgreSQL support for persistent queue +SQLITE_DESC= Enable SQLite support for persistent queue +HIREDIS_DESC= Enable Hiredis support for persistent queue +TOKYOCAB_DESC= Enable Tokyo Cabinet support for persistent queue + +MAN1= gearadmin.1 \ + gearman.1 +MAN3= gearman_actions_t.3 \ + gearman_allocator_t.3 \ + gearman_argument_make.3 \ + gearman_argument_t.3 \ + gearman_bugreport.3 \ + gearman_client_add_options.3 \ + gearman_client_add_server.3 \ + gearman_client_add_servers.3 \ + gearman_client_add_task.3 \ + gearman_client_add_task_background.3 \ + gearman_client_add_task_high.3 \ + gearman_client_add_task_high_background.3 \ + gearman_client_add_task_low.3 \ + gearman_client_add_task_low_background.3 \ + gearman_client_add_task_status.3 \ + gearman_client_clear_fn.3 \ + gearman_client_clone.3 \ + gearman_client_context.3 \ + gearman_client_create.3 \ + gearman_client_do.3 \ + gearman_client_do_background.3 \ + gearman_client_do_high.3 \ + gearman_client_do_high_background.3 \ + gearman_client_do_job_handle.3 \ + gearman_client_do_low.3 \ + gearman_client_do_low_background.3 \ + gearman_client_do_status.3 \ + gearman_client_echo.3 \ + gearman_client_errno.3 \ + gearman_client_error.3 \ + gearman_client_free.3 \ + gearman_client_has_option.3 \ + gearman_client_job_status.3 \ + gearman_client_options.3 \ + gearman_client_options_t.3 \ + gearman_client_remove_options.3 \ + gearman_client_remove_servers.3 \ + gearman_client_run_tasks.3 \ + gearman_client_set_complete_fn.3 \ + gearman_client_set_context.3 \ + gearman_client_set_created_fn.3 \ + gearman_client_set_data_fn.3 \ + gearman_client_set_exception_fn.3 \ + gearman_client_set_fail_fn.3 \ + gearman_client_set_log_fn.3 \ + gearman_client_set_memory_allocators.3 \ + gearman_client_set_namespace.3 \ + gearman_client_set_options.3 \ + gearman_client_set_status_fn.3 \ + gearman_client_set_task_context_free_fn.3 \ + gearman_client_set_timeout.3 \ + gearman_client_set_warning_fn.3 \ + gearman_client_set_workload_fn.3 \ + gearman_client_set_workload_free_fn.3 \ + gearman_client_set_workload_malloc_fn.3 \ + gearman_client_st.3 \ + gearman_client_task_free_all.3 \ + gearman_client_timeout.3 \ + gearman_client_wait.3 \ + gearman_continue.3 \ + gearman_execute.3 \ + gearman_failed.3 \ + gearman_job_free.3 \ + gearman_job_free_all.3 \ + gearman_job_function_name.3 \ + gearman_job_handle.3 \ + gearman_job_handle_t.3 \ + gearman_job_send_complete.3 \ + gearman_job_send_data.3 \ + gearman_job_send_exception.3 \ + gearman_job_send_fail.3 \ + gearman_job_send_status.3 \ + gearman_job_send_warning.3 \ + gearman_job_st.3 \ + gearman_job_take_workload.3 \ + gearman_job_unique.3 \ + gearman_job_workload.3 \ + gearman_job_workload_size.3 \ + gearman_log_fn.3 \ + gearman_parse_servers.3 \ + gearman_result_boolean.3 \ + gearman_result_integer.3 \ + gearman_result_is_null.3 \ + gearman_result_size.3 \ + gearman_result_store_integer.3 \ + gearman_result_store_string.3 \ + gearman_result_store_value.3 \ + gearman_result_string.3 \ + gearman_return_t.3 \ + gearman_strerror.3 \ + gearman_string_t.3 \ + gearman_success.3 \ + gearman_task_attr_init.3 \ + gearman_task_attr_init_background.3 \ + gearman_task_attr_init_epoch.3 \ + gearman_task_attr_t.3 \ + gearman_task_context.3 \ + gearman_task_data.3 \ + gearman_task_data_size.3 \ + gearman_task_denominator.3 \ + gearman_task_error.3 \ + gearman_task_free.3 \ + gearman_task_function_name.3 \ + gearman_task_give_workload.3 \ + gearman_task_is_known.3 \ + gearman_task_is_running.3 \ + gearman_task_job_handle.3 \ + gearman_task_numerator.3 \ + gearman_task_recv_data.3 \ + gearman_task_return.3 \ + gearman_task_send_workload.3 \ + gearman_task_set_context.3 \ + gearman_task_st.3 \ + gearman_task_take_data.3 \ + gearman_task_unique.3 \ + gearman_verbose_name.3 \ + gearman_verbose_t.3 \ + gearman_version.3 \ + gearman_worker_add_function.3 \ + gearman_worker_add_options.3 \ + gearman_worker_add_server.3 \ + gearman_worker_add_servers.3 \ + gearman_worker_clone.3 \ + gearman_worker_context.3 \ + gearman_worker_create.3 \ + gearman_worker_define_function.3 \ + gearman_worker_echo.3 \ + gearman_worker_errno.3 \ + gearman_worker_error.3 \ + gearman_worker_free.3 \ + gearman_worker_function_exist.3 \ + gearman_worker_grab_job.3 \ + gearman_worker_options.3 \ + gearman_worker_register.3 \ + gearman_worker_remove_options.3 \ + gearman_worker_remove_servers.3 \ + gearman_worker_set_context.3 \ + gearman_worker_set_identifier.3 \ + gearman_worker_set_log_fn.3 \ + gearman_worker_set_memory_allocators.3 \ + gearman_worker_set_namespace.3 \ + gearman_worker_set_options.3 \ + gearman_worker_set_timeout.3 \ + gearman_worker_set_workload_free_fn.3 \ + gearman_worker_set_workload_malloc_fn.3 \ + gearman_worker_st.3 \ + gearman_worker_timeout.3 \ + gearman_worker_unregister.3 \ + gearman_worker_unregister_all.3 \ + gearman_worker_wait.3 \ + gearman_worker_work.3 \ + libgearman.3 +MAN8= gearmand.8 + +.include <bsd.port.options.mk> + +# Workaround for missing sigignore that wasn't introduced until +# FreeBSD 8.0 +.if ${OSVERSION} < 800041 +BROKEN= Does not compile without POSIX spawn() support +.endif + +.if ${PORT_OPTIONS:MDRIZZLE} +LIB_DEPENDS+= drizzle:${PORTSDIR}/databases/libdrizzle +CONFIGURE_ARGS+= --enable-libdrizzle +.else +CONFIGURE_ARGS+= --disable-libdrizzle +.endif + +.if ${PORT_OPTIONS:MMEMCACHED} +LIB_DEPENDS+= memcached:${PORTSDIR}/databases/libmemcached +BUILD_DEPENDS+= memcached>=0:${PORTSDIR}/databases/memcached +CONFIGURE_ARGS+= --enable-libmemcached +# This hack is required for the test programs invoked by configure, +# in the event that libmemcached was compiled with SASL support. +.if exists(${LOCALBASE}/lib/libsasl.so) +LDFLAGS+= -L${LOCALBASE}/lib -lsasl +CONFIGURE_ARGS+= --with-memcached-sasl=${LOCALBASE}/bin/memcached +.elif exists(${LOCALBASE}/lib/libsasl2.a) +LDFLAGS+= -L${LOCALBASE}/lib -lsasl2 +CONFIGURE_ARGS+= --with-memcached-sasl=${LOCALBASE}/bin/memcached +.else +LDFLAGS+= -L${LOCALBASE}/lib +CONFIGURE_ARGS+= --with-memcached=${LOCALBASE}/bin/memcached +.endif +.else +CONFIGURE_ARGS+= --disable-libmemcached +.endif + +.if ${PORT_OPTIONS:MMYSQL} +USE_MYSQL= yes +CONFIGURE_ARGS+= --with-mysql=yes +.else +CONFIGURE_ARGS+= --with-mysql=no +.endif + +.if ${PORT_OPTIONS:MPGSQL} +USE_PGSQL= yes +CONFIGURE_ARGS+= --enable-libpq +.else +CONFIGURE_ARGS+= --disable-libpq +.endif + +.if ${PORT_OPTIONS:MSQLITE} +BUILD_DEPENDS+= sqlite3>=3.0.0:${PORTSDIR}/databases/sqlite3 +LIB_DEPENDS+= sqlite3:${PORTSDIR}/databases/sqlite3 +CONFIGURE_ARGS+= --with-sqlite3=${LOCALBASE} +.else +CONFIGURE_ARGS+= --without-sqlite3 +.endif + +.if ${PORT_OPTIONS:MTOKYOCAB} +LIB_DEPENDS+= tokyocabinet:${PORTSDIR}/databases/tokyocabinet +CONFIGURE_ARGS+= --enable-libtokyocabinet +CONFIGURE_ENV+= LIBTOKYOCABINET_CPPFLAGS=-I${LOCALBASE}/include \ + LIBTOKYOCABINET_LDFLAGS=-L${LOCALBASE}/lib +.else +CONFIGURE_ARGS+= --disable-libtokyocabinet +.endif + +.if ${PORT_OPTIONS:MHIREDIS} +LIB_DEPENDS+= hiredis:${PORTSDIR}/databases/hiredis +CONFIGURE_ARGS+= --enable-hires +CONFIGURE_ENV+= LIBHIREDIS_CPPFLAGS=-I${LOCALBASE}/include/hiredis \ + LIBHIREDIS_LDFLAGS=-L${LOCALBASE}/lib +.else +CONFIGURE_ARGS+= --disable-hires +.endif + +.include <bsd.port.mk> diff --git a/devel/gearmand-devel/distinfo b/devel/gearmand-devel/distinfo new file mode 100644 index 000000000000..65648834f6e2 --- /dev/null +++ b/devel/gearmand-devel/distinfo @@ -0,0 +1,2 @@ +SHA256 (gearmand-1.1.8.tar.gz) = 6967cbf5a2002cfe02bcf19cf28e3da6c297236b9e17a8423b96c1a107c911ef +SIZE (gearmand-1.1.8.tar.gz) = 966354 diff --git a/devel/gearmand-devel/files/gearmand.in b/devel/gearmand-devel/files/gearmand.in new file mode 100644 index 000000000000..a9c4b3f18391 --- /dev/null +++ b/devel/gearmand-devel/files/gearmand.in @@ -0,0 +1,53 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: gearmand +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# gearmand_enable (bool): Set to NO by default. +# Set it to YES to enable gearmand. +# gearmand_log_level (value): Set to WARNING by default. Other options are: +# FATAL, ALERT, CRITICAL, ERROR, WARNING, +# NOTICE, INFO, and DEBUG +# gearmand_flags (value): Include other command-line arguments with +# this variable. +# gearmand_user (value): Set to %%USERS%% by default. +# gearmand_group (value): Set to %%GROUPS%% by default. + +. /etc/rc.subr + +name=gearmand +rcvar=gearmand_enable + +load_rc_config $name + +gearmand_prestart() +{ + install -d -o ${gearmand_user} -g ${gearmand_group} -m 755 ${_piddir} + install -d -o ${gearmand_user} -g ${gearmand_group} -m 755 ${_logdir} + install -d -o ${gearmand_user} -g ${gearmand_group} -m 755 ${_statedir} +} + +: ${gearmand_enable:="NO"} +: ${gearmand_log_level="WARNING"} +: ${gearmand_user="%%USERS%%"} +: ${gearmand_group="%%GROUPS%%"} + +command=%%PREFIX%%/sbin/${name} +_piddir=/var/run/${name} +pidfile=${_piddir}/${name}.pid +_logdir=/var/log/${name} +logfile=${_logdir}/${name}.log +_statedir=/var/db/${name} + +command_args="-d --verbose ${gearmand_log_level} -l ${logfile} -P ${pidfile}" + +start_precmd="${name}_prestart" + +run_rc_command "$1" diff --git a/devel/gearmand-devel/files/patch-configure b/devel/gearmand-devel/files/patch-configure new file mode 100644 index 000000000000..49219c48fe3f --- /dev/null +++ b/devel/gearmand-devel/files/patch-configure @@ -0,0 +1,40 @@ +--- ./configure.orig 2013-06-06 19:06:29.000000000 -0400 ++++ ./configure 2013-07-17 14:33:54.000000000 -0400 +@@ -17976,7 +17976,7 @@ + done + test -n "$CURL_CONFIG" || CURL_CONFIG="no" + +- if test "$CURL_CONFIG" == "no"; then : ++ if test "$CURL_CONFIG" = "no"; then : + + : + +@@ -17986,7 +17986,7 @@ + + else + +- if test x"" == x; then : ++ if test x"" = x; then : + + CURL_CFLAGS="`$CURL_CONFIG $curl_config_args --cflags`" + +@@ -17996,7 +17996,7 @@ + + fi + +- if test x"" == x; then : ++ if test x"" = x; then : + + CURL_LIBS="`$CURL_CONFIG $curl_config_args --libs`" + +@@ -23954,8 +23954,8 @@ + LIBS="$PTHREAD_LIBS" + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compile='$CC -c $CFLAGS $CPPFLAGS -Werror conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS -Werror $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext diff --git a/devel/gearmand-devel/files/patch-libgearman-server__log.cc b/devel/gearmand-devel/files/patch-libgearman-server__log.cc new file mode 100644 index 000000000000..0846700dbe28 --- /dev/null +++ b/devel/gearmand-devel/files/patch-libgearman-server__log.cc @@ -0,0 +1,11 @@ +--- ./libgearman-server/log.cc.orig 2013-06-05 15:55:41.000000000 -0400 ++++ ./libgearman-server/log.cc 2013-07-17 14:33:54.000000000 -0400 +@@ -56,6 +56,8 @@ + + #ifdef _WIN32 + # include <malloc.h> ++#elif defined(__FreeBSD__) ++# include <stdlib.h> + #else + # include <alloca.h> + #endif diff --git a/devel/gearmand-devel/files/patch-libtest__lite.h b/devel/gearmand-devel/files/patch-libtest__lite.h new file mode 100644 index 000000000000..00fbdce7edde --- /dev/null +++ b/devel/gearmand-devel/files/patch-libtest__lite.h @@ -0,0 +1,11 @@ +--- ./libtest/lite.h.orig 2013-07-17 14:36:43.000000000 -0400 ++++ ./libtest/lite.h 2013-07-17 14:37:02.000000000 -0400 +@@ -53,6 +53,8 @@ + + #if defined(WIN32) + # include <malloc.h> ++#elif defined(__FreeBSD__) ++# include <stdlib.h> + #else + # include <alloca.h> + #endif diff --git a/devel/gearmand-devel/pkg-descr b/devel/gearmand-devel/pkg-descr new file mode 100644 index 000000000000..b06b0524b611 --- /dev/null +++ b/devel/gearmand-devel/pkg-descr @@ -0,0 +1,8 @@ +Gearman provides a generic framework to farm out work to other +machines or dispatch function calls to machines that are better suited +to do the work. It allows you to do work in parallel, to load balance +processing, and to call functions between languages. It can be used in +a variety of applications, from high-availability web sites to the +transport for database replication. + +WWW: http://www.gearman.org/ diff --git a/devel/gearmand-devel/pkg-plist b/devel/gearmand-devel/pkg-plist new file mode 100644 index 000000000000..2761df95af88 --- /dev/null +++ b/devel/gearmand-devel/pkg-plist @@ -0,0 +1,50 @@ +bin/gearadmin +bin/gearman +include/libgearman-1.0/actions.h +include/libgearman-1.0/aggregator.h +include/libgearman-1.0/allocator.h +include/libgearman-1.0/argument.h +include/libgearman-1.0/cancel.h +include/libgearman-1.0/client.h +include/libgearman-1.0/client_callbacks.h +include/libgearman-1.0/configure.h +include/libgearman-1.0/connection.h +include/libgearman-1.0/constants.h +include/libgearman-1.0/core.h +include/libgearman-1.0/execute.h +include/libgearman-1.0/function.h +include/libgearman-1.0/gearman.h +include/libgearman-1.0/interface/client.h +include/libgearman-1.0/interface/status.h +include/libgearman-1.0/interface/task.h +include/libgearman-1.0/interface/worker.h +include/libgearman-1.0/job.h +include/libgearman-1.0/job_handle.h +include/libgearman-1.0/kill.h +include/libgearman-1.0/limits.h +include/libgearman-1.0/ostream.hpp +include/libgearman-1.0/parse.h +include/libgearman-1.0/priority.h +include/libgearman-1.0/protocol.h +include/libgearman-1.0/result.h +include/libgearman-1.0/return.h +include/libgearman-1.0/signal.h +include/libgearman-1.0/status.h +include/libgearman-1.0/strerror.h +include/libgearman-1.0/string.h +include/libgearman-1.0/task.h +include/libgearman-1.0/task_attr.h +include/libgearman-1.0/util.h +include/libgearman-1.0/version.h +include/libgearman-1.0/visibility.h +include/libgearman-1.0/worker.h +include/libgearman/gearman.h +lib/libgearman.a +lib/libgearman.la +lib/libgearman.so +lib/libgearman.so.8 +libdata/pkgconfig/gearmand.pc +sbin/gearmand +@dirrm include/libgearman-1.0/interface +@dirrm include/libgearman-1.0 +@dirrm include/libgearman |