Date: Wed, 18 Jul 2012 14:21:51 +0000 (UTC) From: Martin Matuska <mm@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r301099 - in head/ftp: . curl-hiphop curl-hiphop/files Message-ID: <201207181421.q6IELpUo079229@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mm Date: Wed Jul 18 14:21:51 2012 New Revision: 301099 URL: http://svn.freebsd.org/changeset/ports/301099 Log: This is a static version of the libcurl library for use with lang/hiphop-php WWW: https://github.com/facebook/hiphop-php/wiki/ Added: head/ftp/curl-hiphop/ head/ftp/curl-hiphop/Makefile (contents, props changed) head/ftp/curl-hiphop/files/ head/ftp/curl-hiphop/files/extra-patch-hiphop (contents, props changed) head/ftp/curl-hiphop/pkg-descr (contents, props changed) head/ftp/curl-hiphop/pkg-plist (contents, props changed) Modified: head/ftp/Makefile Modified: head/ftp/Makefile ============================================================================== --- head/ftp/Makefile Wed Jul 18 14:06:27 2012 (r301098) +++ head/ftp/Makefile Wed Jul 18 14:21:51 2012 (r301099) @@ -13,6 +13,7 @@ SUBDIR += cftp SUBDIR += cmdftp SUBDIR += curl + SUBDIR += curl-hiphop SUBDIR += curlpp SUBDIR += dmachine SUBDIR += fget Added: head/ftp/curl-hiphop/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ftp/curl-hiphop/Makefile Wed Jul 18 14:21:51 2012 (r301099) @@ -0,0 +1,33 @@ +# New ports collection makefile for: curl-hiphop +# Date created: 16 July 2012 +# Whom: Martin Matuska <mm@FreeBSd.org> +# +# $FreeBSD$ +# + +PKGNAMESUFFIX= -hiphop + +MAINTAINER= mm@FreeBSD.org +COMMENT= Static libcurl with custom patches for HipHop + +BUILDING_HIPHOP= yes + +HIPHOP_DIR= share/hiphop-php +EXTRA_PATCHES= ${.CURDIR}/files/extra-patch-hiphop +GNU_CONFIGURE_PREFIX= ${PREFIX}/${HIPHOP_DIR}/ext +CONFIGURE_ARGS+= --disable-shared --enable-static +PLIST_SUB+= HIPHOP_DIR="${HIPHOP_DIR}" +LATEST_LINK= curl-hiphop +PLIST= ${.CURDIR}/pkg-plist +DESCR= ${.CURDIR}/pkg-descr + +MASTERDIR= ${.CURDIR}/../curl + +do-install: +.for dir in include lib + @cd ${WRKSRC}/${dir} && \ + ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} \ + ${MAKE_ARGS} ${INSTALL_TARGET} +.endfor + +.include "${MASTERDIR}/Makefile" Added: head/ftp/curl-hiphop/files/extra-patch-hiphop ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ftp/curl-hiphop/files/extra-patch-hiphop Wed Jul 18 14:21:51 2012 (r301099) @@ -0,0 +1,106 @@ +--- include/curl/multi.h.orig 20 May 2008 10:21:50 -0000 1.45 ++++ include/curl/multi.h 29 Jan 2010 23:45:18 -0000 +@@ -135,6 +135,19 @@ + int *max_fd); + + /* ++ * Name: curl_multi_select() ++ * ++ * Desc: Calls select() or poll() internally so app can call ++ * curl_multi_perform() as soon as one of them is ready. This is to ++ * fix FD_SETSIZE problem curl_multi_fdset() has. ++ * ++ * Returns: CURLMcode type, general multi error code. ++ */ ++CURL_EXTERN CURLMcode curl_multi_select(CURLM *multi_handle, ++ int timeout_ms, ++ int *ret); ++ ++ /* + * Name: curl_multi_perform() + * + * Desc: When the app thinks there's data available for curl it calls this + +--- lib/multi.c.orig 2012-01-23 16:31:30.000000000 +0100 ++++ lib/multi.c 2012-07-13 13:50:34.314507221 +0200 +@@ -941,6 +941,80 @@ + return CURLM_OK; + } + ++CURLMcode curl_multi_select(CURLM *multi_handle, int timeout_ms, int *ret) { ++ struct Curl_multi *multi=(struct Curl_multi *)multi_handle; ++ struct Curl_one_easy *easy; ++ curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE]; ++ int bitmap; ++ int i; ++ unsigned int nfds = 0; ++ struct pollfd *ufds; ++ int nret = -1; ++ ++ if(!GOOD_MULTI_HANDLE(multi)) ++ return CURLM_BAD_HANDLE; ++ ++ easy=multi->easy.next; ++ while(easy != &multi->easy) { ++ bitmap = multi_getsock(easy, sockbunch, MAX_SOCKSPEREASYHANDLE); ++ ++ for(i=0; i< MAX_SOCKSPEREASYHANDLE; i++) { ++ curl_socket_t s = CURL_SOCKET_BAD; ++ ++ if(bitmap & GETSOCK_READSOCK(i)) { ++ ++nfds; ++ s = sockbunch[i]; ++ } ++ if(bitmap & GETSOCK_WRITESOCK(i)) { ++ ++nfds; ++ s = sockbunch[i]; ++ } ++ if(s == CURL_SOCKET_BAD) { ++ break; ++ } ++ } ++ ++ easy = easy->next; /* check next handle */ ++ } ++ ++ ufds = (struct pollfd *)malloc(nfds * sizeof(struct pollfd)); ++ nfds = 0; ++ ++ easy=multi->easy.next; ++ while(easy != &multi->easy) { ++ bitmap = multi_getsock(easy, sockbunch, MAX_SOCKSPEREASYHANDLE); ++ ++ for(i=0; i< MAX_SOCKSPEREASYHANDLE; i++) { ++ curl_socket_t s = CURL_SOCKET_BAD; ++ ++ if(bitmap & GETSOCK_READSOCK(i)) { ++ ufds[nfds].fd = sockbunch[i]; ++ ufds[nfds].events = POLLIN; ++ ++nfds; ++ s = sockbunch[i]; ++ } ++ if(bitmap & GETSOCK_WRITESOCK(i)) { ++ ufds[nfds].fd = sockbunch[i]; ++ ufds[nfds].events = POLLOUT; ++ ++nfds; ++ s = sockbunch[i]; ++ } ++ if(s == CURL_SOCKET_BAD) { ++ break; ++ } ++ } ++ ++ easy = easy->next; /* check next handle */ ++ } ++ ++ nret = Curl_poll(ufds, nfds, timeout_ms); ++ free(ufds); ++ if (ret) { ++ *ret = nret; ++ } ++ return CURLM_OK; ++} ++ + static CURLMcode multi_runsingle(struct Curl_multi *multi, + struct timeval now, + struct Curl_one_easy *easy) Added: head/ftp/curl-hiphop/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ftp/curl-hiphop/pkg-descr Wed Jul 18 14:21:51 2012 (r301099) @@ -0,0 +1,3 @@ +This is a static version of the libcurl library for use with lang/hiphop-php + +WWW: https://github.com/facebook/hiphop-php/wiki/ Added: head/ftp/curl-hiphop/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/ftp/curl-hiphop/pkg-plist Wed Jul 18 14:21:51 2012 (r301099) @@ -0,0 +1,16 @@ +%%HIPHOP_DIR%%/ext/include/curl/curl.h +%%HIPHOP_DIR%%/ext/include/curl/curlbuild.h +%%HIPHOP_DIR%%/ext/include/curl/curlrules.h +%%HIPHOP_DIR%%/ext/include/curl/curlver.h +%%HIPHOP_DIR%%/ext/include/curl/easy.h +%%HIPHOP_DIR%%/ext/include/curl/mprintf.h +%%HIPHOP_DIR%%/ext/include/curl/multi.h +%%HIPHOP_DIR%%/ext/include/curl/stdcheaders.h +%%HIPHOP_DIR%%/ext/include/curl/typecheck-gcc.h +@dirrm %%HIPHOP_DIR%%/ext/include/curl +%%HIPHOP_DIR%%/ext/lib/libcurl.a +%%HIPHOP_DIR%%/ext/lib/libcurl.la +@dirrmtry %%HIPHOP_DIR%%/ext/include +@dirrmtry %%HIPHOP_DIR%%/ext/lib +@dirrmtry %%HIPHOP_DIR%%/ext +@dirrmtry %%HIPHOP_DIR%% \ No newline at end of file
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207181421.q6IELpUo079229>