Skip site navigation (1)Skip section navigation (2)
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>