Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Apr 2012 02:40:32 +0900 (JST)
From:      Masaki TAGAWA <masaki@club.kyutech.ac.jp>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/166538: New port: www/mod_spdy
Message-ID:  <201203311740.q2VHeWBC010812@sakura.mochipon.com>
Resent-Message-ID: <201203311750.q2VHoDY2074703@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         166538
>Category:       ports
>Synopsis:       New port: www/mod_spdy
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Mar 31 17:50:12 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Masaki TAGAWA
>Release:        FreeBSD 9.0-RELEASE amd64
>Organization:
Kyushu Institute of Technology
>Environment:
System: FreeBSD sakura.mochipon.com 9.0-RELEASE FreeBSD 9.0-RELEASE #1: Sat Mar 31 12:00:48 JST 2012 root@sakura.mochipon.com:/usr/obj/usr/src/sys/SAKURA-VPS amd64
>Description:
mod_spdy is an Apache 2.x filter module that provides SPDY support in the
Apache HTTPD web server. Because mod_spdy is an Apache module, it can be
loaded into currently deployed Apache HTTPD 2.x web servers using mod_so.
This module is still an early beta and is not yet suitable for production
environments.
>How-To-Repeat:
>Fix:
--- mod_spdy.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	mod_spdy
#	mod_spdy/Makefile
#	mod_spdy/pkg-plist
#	mod_spdy/distinfo
#	mod_spdy/files
#	mod_spdy/files/patch-apache_spdy_stream_task_factory.cc
#	mod_spdy/files/patch-python_arch.sh
#	mod_spdy/files/patch-apache_spdy_session_io.cc
#	mod_spdy/files/patch-build_modssl_with_npn.sh
#	mod_spdy/files/patch-python_arch2.sh
#	mod_spdy/files/patch-common.h
#	mod_spdy/files/patch-make.py
#	mod_spdy/files/patch-pthread_shared_mem.cc
#	mod_spdy/files/patch-spdy_protocol_test.cc
#	mod_spdy/files/patch-base.gypi
#	mod_spdy/files/patch-mod_spdy.cc
#	mod_spdy/files/patch-stack_trace_posix.cc
#	mod_spdy/pkg-message
#	mod_spdy/pkg-descr
#
echo c - mod_spdy
mkdir -p mod_spdy > /dev/null 2>&1
echo x - mod_spdy/Makefile
sed 's/^X//' >mod_spdy/Makefile << 'b7959958d3e08f7d47d6236cf1248c2d'
X# New ports collection makefile for:	mod_spdy
X# Date created:        1 April 2012
X# Whom:                Masaki TAGAWA
X#
X# $FreeBSD$
X#
X
XPORTNAME=	mod_spdy
XPORTVERSION=	0.9.1.1
XPORTREVISION=	1
XPORTEPOCH=	1
XCATEGORIES=	www
XMASTER_SITES=	http://www.club.kyutech.ac.jp/~masaki/ports/
XDISTNAME=	mod_spdy_source_${PORTVERSION}
X
XMAINTAINER=	masaki@club.kyutech.ac.jp
XCOMMENT=	A SPDY module for the Apache HTTP server v2.2
X
XBUILD_DEPENDS=	bash:${PORTSDIR}/shells/bash \
X		greadlink:${PORTSDIR}/sysutils/coreutils \
X		svn:${PORTSDIR}/devel/subversion \
X		flock:${PORTSDIR}/sysutils/flock
XLIB_DEPENDS=	execinfo.1:${PORTSDIR}/devel/libexecinfo
X
XUSE_XZ=		yes
XUSE_BINUTILS=	yes
XUSE_APACHE=	22+
XUSE_PYTHON=	2.6+
XUSE_GMAKE=	yes
XMAKE_JOBS_SAFE=	yes
XONLY_FOR_ARCHS=	amd64 i386
XLDFLAGS+=	-L${LOCALBASE}/lib
XMAKE_ENV+=	BUILDTYPE=Release
XWRKSRC=		${WRKDIR}/${PORTNAME}_source_${PORTVERSION}/mod_spdy/src
XGYP_DEFINES+=	\
X		use_system_apache_dev=1 \
X		use_system_zlib=1 \
X		system_include_path_httpd=${LOCALBASE}/include/apache22 \
X		system_include_path_apr=${LOCALBASE}/include/apr-1 \
X		system_include_path_aprutil=${LOCALBASE}/include/apr-1 \
X		system_include_path_execinfo=${LOCALBASE}/include \
X		include_dirs=${LOCALBASE}/include
XOPTIONS=	MOD_SSL "Install mod_ssl with NPN support" On
X
X.if defined(WITH_MOD_SSL)
XPLIST_SUB+=	MOD_SSL=""
X.else
XPLIST_SUB+=	MOD_SSL="@comment "
X.endif
X
X.include <bsd.port.pre.mk>
X
Xpost-patch:
X	@${REINPLACE_CMD} -e "s,%%LOCALBASE%%,${LOCALBASE},g" \
X		${WRKSRC}/base/base.gypi
X	@${REINPLACE_CMD} -e 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|' \
X		${WRKSRC}/build_modssl_with_npn.sh
X
Xpre-install:
X.if defined(WITH_MOD_SSL)
X	@cd ${WRKSRC} && \
X		${WRKSRC}/build_modssl_with_npn.sh
X	@if [ -f ${PREFIX}/${APACHEMODDIR}/mod_ssl.so ]; then \
X		${CP} -p ${PREFIX}/${APACHEMODDIR}/mod_ssl.so ${PREFIX}/${APACHEMODDIR}/mod_ssl.so.bak ; \
X	fi
X	@${INSTALL} ${WRKSRC}/mod_ssl.so ${PREFIX}/${APACHEMODDIR}/mod_ssl.so
X.endif
X
Xdo-configure:
X	@cd ${WRKSRC} && \
X		GYP_DEFINES="${GYP_DEFINES}" ${PYTHON_CMD} \
X			../../depot_tools/gclient.py runhooks
X
Xdo-install:
X	@cd ${WRKSRC} && \
X		${INSTALL} out/Release/libmod_spdy.so ${PREFIX}/${APACHEMODDIR}/mod_spdy.so
X
Xpost-install:
X	@${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.post.mk>
b7959958d3e08f7d47d6236cf1248c2d
echo x - mod_spdy/pkg-plist
sed 's/^X//' >mod_spdy/pkg-plist << 'a36fe375bf7faa62826f333b64cb87d8'
X%%APACHEMODDIR%%/mod_spdy.so
X%%MOD_SSL%%@exec if [ -f %%APACHEMODDIR%%/mod_ssl.so ] ; then cp %%APACHEMODDIR%%/mod_ssl.so %%APACHEMODDIR%%/mod_ssl.so.bak; fi
X%%MOD_SSL%%%%APACHEMODDIR%%/mod_ssl.so
a36fe375bf7faa62826f333b64cb87d8
echo x - mod_spdy/distinfo
sed 's/^X//' >mod_spdy/distinfo << '83ea993a804b62b7e07afb3120cb494e'
XSHA256 (mod_spdy_source_0.9.1.1.tar.xz) = 434443a51931b4c8b9e3786ca5d02aca7644423e88c282c948eadedcaa028438
XSIZE (mod_spdy_source_0.9.1.1.tar.xz) = 5009472
83ea993a804b62b7e07afb3120cb494e
echo c - mod_spdy/files
mkdir -p mod_spdy/files > /dev/null 2>&1
echo x - mod_spdy/files/patch-apache_spdy_stream_task_factory.cc
sed 's/^X//' >mod_spdy/files/patch-apache_spdy_stream_task_factory.cc << 'db48e7c91d911a0e7f2894b3250583cf'
X--- mod_spdy/apache/apache_spdy_stream_task_factory.cc.org	2012-03-31 16:28:56.491796000 +0900
X+++ mod_spdy/apache/apache_spdy_stream_task_factory.cc	2012-03-31 20:46:51.134788973 +0900
X@@ -25,6 +25,9 @@
X 
X #include "apr_buckets.h"
X #include "apr_network_io.h"
X+// When HAVE_SYSLOG is defined, apache http_log.h will include syslog.h, which
X+// #defined LOG_* as numbers. This conflicts with what we are using those here.
X+#undef HAVE_SYSLOG
X #include "http_log.h"
X #include "util_filter.h"
X 
db48e7c91d911a0e7f2894b3250583cf
echo x - mod_spdy/files/patch-python_arch.sh
sed 's/^X//' >mod_spdy/files/patch-python_arch.sh << 'a51a3cd63308af84f5725f8008c0f70b'
X--- build/linux/python_arch.sh.org	2012-03-31 16:29:00.054773000 +0900
X+++ build/linux/python_arch.sh	2012-03-31 17:00:09.262802125 +0900
X@@ -10,7 +10,15 @@
X #  python_arch.sh /path/to/sysroot/usr/lib/libpython2.4.so.1.0
X #
X 
X-python=$(readlink -f "$1")
X+UNAME=`uname`
X+
X+# FreeBSD readlink lacks -f support before 9.0
X+if [ ${UNAME} = "FreeBSD" ]; then
X+  python=$(greadlink -f "$1")
X+else
X+  python=$(readlink -f "$1")
X+fi
X+
X if [ ! -r "$python" ]; then
X   echo unknown
X   exit 0
a51a3cd63308af84f5725f8008c0f70b
echo x - mod_spdy/files/patch-apache_spdy_session_io.cc
sed 's/^X//' >mod_spdy/files/patch-apache_spdy_session_io.cc << 'ff8fabe2556280e8431acaa7284cf7b0'
X--- mod_spdy/apache/apache_spdy_session_io.cc.org	2012-03-31 16:28:56.502800000 +0900
X+++ mod_spdy/apache/apache_spdy_session_io.cc	2012-03-31 20:46:33.033900102 +0900
X@@ -15,6 +15,9 @@
X #include "mod_spdy/apache/apache_spdy_session_io.h"
X 
X #include "apr_buckets.h"
X+// When HAVE_SYSLOG is defined, apache http_log.h will include syslog.h, which
X+// #defined LOG_* as numbers. This conflicts with what we are using those here.
X+#undef HAVE_SYSLOG
X #include "http_log.h"
X #include "util_filter.h"
X 
ff8fabe2556280e8431acaa7284cf7b0
echo x - mod_spdy/files/patch-build_modssl_with_npn.sh
sed 's/^X//' >mod_spdy/files/patch-build_modssl_with_npn.sh << 'e4b7ee50705ed1154103d36fd3d96036'
X--- build_modssl_with_npn.sh.org	2012-03-31 16:28:55.660831000 +0900
X+++ build_modssl_with_npn.sh	2012-03-31 21:14:56.155134872 +0900
X@@ -33,7 +33,7 @@
X fi
X 
X if [ -z "$BUILDROOT" ]; then
X-  BUILDROOT=$(mktemp -d)
X+  BUILDROOT=$(mktemp -d temp)
X   REMOVE_BUILDROOT=1
X else
X   REMOVE_BUILDROOT=0
X@@ -72,7 +72,7 @@
X   if [ ! -f "$PROGRESS_DIR/$2.downloaded" ]; then
X     echo "Downloading $1"
X     curl -f -# "$1" -o $2 || do_cleanup
X-    if [[ $(md5sum $2 | cut -d\  -f1) != $3 ]]; then
X+    if [[ $(md5 $2 | cut -d\  -f4) != $3 ]]; then
X       echo "md5sum mismatch for $2"
X       do_cleanup
X     fi
X@@ -105,9 +105,6 @@
X OPENSSL_INST_ROOT=${OPENSSL_SRC_ROOT}_install
X APACHE_HTTPD_SRC_ROOT=${APACHE_HTTPD_SRC_TGZ%.tar.gz}
X 
X-OPENSSL_BUILDLOG=$(mktemp -p /tmp openssl_buildlog.XXXXXXXXXX)
X-APACHE_HTTPD_BUILDLOG=$(mktemp -p /tmp httpd_buildlog.XXXXXXXXXX)
X-
X cp $APACHE_HTTPD_MODSSL_NPN_PATCH_PATH $BUILDROOT/$APACHE_HTTPD_MODSSL_NPN_PATCH
X 
X pushd $BUILDROOT >/dev/null
X@@ -140,9 +137,9 @@
X if [ ! -f "$PROGRESS_DIR/openssl_configured" ]; then
X   pushd $OPENSSL_SRC_ROOT >/dev/null
X   echo -n "Configuring OpenSSL ... "
X-  ./config no-shared -fPIC --openssldir=$BUILDROOT/$OPENSSL_INST_ROOT >> $OPENSSL_BUILDLOG
X+  ./config no-shared -fPIC --openssldir=$BUILDROOT/$OPENSSL_INST_ROOT
X   if [ $? -ne 0 ]; then
X-    echo "Failed. Build log at $OPENSSL_BUILDLOG."
X+    echo "Failed at configuring OpenSSL."
X     do_cleanup
X   fi
X   echo "done"
X@@ -155,9 +152,9 @@
X if [ ! -f "$PROGRESS_DIR/openssl_built" ]; then
X   pushd $OPENSSL_SRC_ROOT >/dev/null
X   echo -n "Building OpenSSL (this may take a while) ... "
X-  make install >> $OPENSSL_BUILDLOG 2>&1
X+  make install
X   if [ $? -ne 0 ]; then
X-    echo "Failed. Build log at $OPENSSL_BUILDLOG."
X+    echo "Failed at building OpenSSL."
X     do_cleanup
X   fi
X   echo "done"
X@@ -167,7 +164,6 @@
X   echo "Already built OpenSSL."
X fi
X 
X-rm -f "$OPENSSL_BUILDLOG"
X 
X echo ""
X 
X@@ -185,11 +181,11 @@
X   # not only libraries in Libs, but also those in Libs.private:
X   mv configure configure.bak
X   sed 's/--libs-only-l openssl/--libs-only-l --static openssl/' configure.bak > configure
X-  chmod --reference=configure.bak configure
X+  chmod 755 configure
X 
X-  ./configure --enable-ssl=shared --with-ssl=$BUILDROOT/$OPENSSL_INST_ROOT >> $APACHE_HTTPD_BUILDLOG
X+  ./configure --enable-ssl=shared --with-ssl=$BUILDROOT/$OPENSSL_INST_ROOT
X   if [ $? -ne 0 ]; then
X-    echo "Failed. Build log at $APACHE_HTTPD_BUILDLOG."
X+    echo "Failed at configuring Apache mod_ssl."
X     do_cleanup
X   fi
X   echo "done"
X@@ -202,9 +198,9 @@
X if [ ! -f "$PROGRESS_DIR/modssl_built" ]; then
X   pushd $APACHE_HTTPD_SRC_ROOT >/dev/null
X   echo -n "Building Apache mod_ssl (this may take a while) ... "
X-  make >> $APACHE_HTTPD_BUILDLOG 2>&1
X+  make
X   if [ $? -ne 0 ]; then
X-    echo "Failed. Build log at $APACHE_HTTPD_BUILDLOG."
X+    echo "Failed at building Apache mod_ssl."
X     do_cleanup
X   fi
X   echo "done"
X@@ -214,8 +210,6 @@
X   echo "Already built Apache mod_ssl."
X fi
X 
X-rm -f "$APACHE_HTTPD_BUILDLOG"
X-
X popd >/dev/null  # $BUILDROOT
X 
X MODSSL_SO_SRCPATH=$(find $BUILDROOT/$APACHE_HTTPD_SRC_ROOT -name mod_ssl.so)
e4b7ee50705ed1154103d36fd3d96036
echo x - mod_spdy/files/patch-python_arch2.sh
sed 's/^X//' >mod_spdy/files/patch-python_arch2.sh << '1d3db43fc1e9af536ccd9b6e85702ca7'
X--- third_party/chromium/src/build/linux/python_arch.sh.org	2012-03-31 16:29:02.968788000 +0900
X+++ third_party/chromium/src/build/linux/python_arch.sh	2012-03-31 17:00:18.892838462 +0900
X@@ -10,7 +10,15 @@
X #  python_arch.sh /path/to/sysroot/usr/lib/libpython2.4.so.1.0
X #
X 
X-python=$(readlink -f "$1")
X+UNAME=`uname`
X+
X+# FreeBSD readlink lacks -f support before 9.0
X+if [ "${UNAME}" = "FreeBSD" ]; then
X+  python=$(greadlink -f "$1")
X+else
X+  python=$(readlink -f "$1")
X+fi
X+
X if [ ! -r "$python" ]; then
X   echo unknown
X   exit 0
1d3db43fc1e9af536ccd9b6e85702ca7
echo x - mod_spdy/files/patch-common.h
sed 's/^X//' >mod_spdy/files/patch-common.h << 'd7f6400295f47b30ae353ddf21f37ef2'
X--- third_party/protobuf/src/google/protobuf/stubs/common.h	2012-03-31 16:29:08.772785000 +0900
X+++ third_party/protobuf/src/google/protobuf/stubs/common.h	2012-03-31 16:59:06.012795843 +0900
X@@ -47,6 +47,10 @@
X #elif !defined(_MSC_VER)
X #include <stdint.h>
X #endif
X+#if defined(__FreeBSD__)
X+#undef major
X+#undef minor
X+#endif
X 
X #if defined(_MSC_VER) && defined(_CPPUNWIND)
X   #define PROTOBUF_USE_EXCEPTIONS
d7f6400295f47b30ae353ddf21f37ef2
echo x - mod_spdy/files/patch-make.py
sed 's/^X//' >mod_spdy/files/patch-make.py << 'e48de82b702484107171b5c7893feb8e'
X--- tools/gyp/pylib/gyp/generator/make.py.org	2012-03-31 16:29:12.063738000 +0900
X+++ tools/gyp/pylib/gyp/generator/make.py	2012-03-31 16:59:21.541770196 +0900
X@@ -129,11 +129,11 @@
X # in gyp's make.py where ARFLAGS.host etc. is computed.
X # TODO(evan): move all cross-compilation logic to gyp-time so we don't need
X # to replicate this environment fallback in make as well.
X-CC.host ?= gcc
X+CC.host ?= cc
X CFLAGS.host ?=
X-CXX.host ?= g++
X+CXX.host ?= c++
X CXXFLAGS.host ?=
X-LINK.host ?= g++
X+LINK.host ?= c++
X LDFLAGS.host ?=
X AR.host ?= ar
X ARFLAGS.host := %(ARFLAGS.host)s
e48de82b702484107171b5c7893feb8e
echo x - mod_spdy/files/patch-pthread_shared_mem.cc
sed 's/^X//' >mod_spdy/files/patch-pthread_shared_mem.cc << '57570ed2e816266a00d7c5316a0a5ffe'
X--- net/instaweb/util/pthread_shared_mem.cc.org	2012-03-31 16:29:02.678813000 +0900
X+++ net/instaweb/util/pthread_shared_mem.cc	2012-03-31 16:59:45.750779463 +0900
X@@ -24,6 +24,9 @@
X #include <cstddef>
X #include <map>
X #include <utility>
X+#if defined(__FreeBSD__)
X+#include <semaphore.h>
X+#endif
X #include "net/instaweb/util/public/abstract_shared_mem.h"
X #include "net/instaweb/util/public/abstract_mutex.h"
X #include "net/instaweb/util/public/basictypes.h"
X@@ -70,13 +73,45 @@
X   DISALLOW_COPY_AND_ASSIGN(PthreadSharedMemMutex);
X };
X 
X+#if defined(__FreeBSD__)
X+// Some OSs does not support PTHREAD_PROCESS_SHARED attribute. (ex. FreeBSD < 9R, MacOS)
X+// FreeBSD lacks PTHREAD_PROCESS_SHARED support before 9.0R, so we use a semaphore
X+// instead. But nested locking is not supported.
X+class SemSharedMemMutex : public AbstractMutex {
X+ public:
X+  explicit SemSharedMemMutex(sem_t* sem)
X+      : sem_(sem) {}
X+
X+  virtual void Lock() {
X+    sem_wait(sem_);
X+  }
X+
X+  virtual void Unlock() {
X+    sem_post(sem_);
X+  }
X+
X+private:
X+  sem_t* sem_;
X+  DISALLOW_COPY_AND_ASSIGN(SemSharedMemMutex);
X+};
X+#endif
X+
X class PthreadSharedMemSegment : public AbstractSharedMemSegment {
X  public:
X   // We will be representing memory mapped in the [base, base + size) range.
X+#if defined(__FreeBSD__)
X+  PthreadSharedMemSegment(char* base, size_t size, MessageHandler* handler, const char* name)
X+      : base_(base),
X+        size_(size),
X+        sem_(NULL) {
X+    std::sprintf(name_, "/%s_sem", name);
X+  }
X+#else
X   PthreadSharedMemSegment(char* base, size_t size, MessageHandler* handler)
X       : base_(base),
X         size_(size) {
X   }
X+#endif
X 
X   virtual ~PthreadSharedMemSegment() {
X   }
X@@ -86,10 +121,18 @@
X   }
X 
X   virtual size_t SharedMutexSize() const {
X+#if defined(__FreeBSD__)
X+    return 0;
X+#else
X     return sizeof(pthread_mutex_t);
X+#endif
X   }
X 
X   virtual bool InitializeSharedMutex(size_t offset, MessageHandler* handler) {
X+#if defined(__FreeBSD__)
X+    sem_ = sem_open(name_, O_CREAT, 0755, 1);
X+    return sem_ ? true : false;
X+#else
X     pthread_mutexattr_t attr;
X     if (pthread_mutexattr_init(&attr) != 0) {
X       handler->Message(kError, "pthread_mutexattr_init failed with errno:%d",
X@@ -113,19 +156,32 @@
X 
X     pthread_mutexattr_destroy(&attr);
X     return true;
X+#endif
X   }
X 
X   virtual AbstractMutex* AttachToSharedMutex(size_t offset) {
X+#if defined(__FreeBSD__)
X+    sem_ = sem_open(name_, O_EXCL);
X+    return new SemSharedMemMutex(sem_);
X+#else
X     return new PthreadSharedMemMutex(MutexPtr(offset));
X+#endif
X   }
X 
X  private:
X+#if defined(__FreeBSD__)
X+#else
X   pthread_mutex_t* MutexPtr(size_t offset) {
X     return reinterpret_cast<pthread_mutex_t*>(base_ + offset);
X   }
X+#endif
X 
X   char* const base_;
X   const size_t size_;
X+#if defined(__FreeBSD__)
X+  char name_[256];
X+  sem_t* sem_;
X+#endif
X 
X   DISALLOW_COPY_AND_ASSIGN(PthreadSharedMemSegment);
X };
X@@ -143,7 +199,11 @@
X }
X 
X size_t PthreadSharedMem::SharedMutexSize() const {
X+#if defined(__FreeBSD__)
X+  return 0;
X+#else
X   return sizeof(pthread_mutex_t);
X+#endif
X }
X 
X AbstractSharedMemSegment* PthreadSharedMem::CreateSegment(
X@@ -167,7 +227,11 @@
X   SegmentBaseMap* bases = AcquireSegmentBases();
X   (*bases)[name] = base;
X   UnlockSegmentBases();
X+#if defined(__FreeBSD__)
X+  return new PthreadSharedMemSegment(base, size, handler, name.c_str());
X+#else
X   return new PthreadSharedMemSegment(base, size, handler);
X+#endif
X }
X 
X AbstractSharedMemSegment* PthreadSharedMem::AttachToSegment(
X@@ -182,7 +246,11 @@
X   }
X   char* base = i->second;
X   UnlockSegmentBases();
X+#if defined(__FreeBSD__)
X+  return new PthreadSharedMemSegment(base, size, handler, name.c_str());
X+#else
X   return new PthreadSharedMemSegment(base, size, handler);
X+#endif
X }
X 
X void PthreadSharedMem::DestroySegment(const GoogleString& name,
57570ed2e816266a00d7c5316a0a5ffe
echo x - mod_spdy/files/patch-spdy_protocol_test.cc
sed 's/^X//' >mod_spdy/files/patch-spdy_protocol_test.cc << '967a2dfb237c9cb8063b354d88549e49'
X--- net/spdy/spdy_protocol_test.cc.org	2012-03-31 16:28:55.670784000 +0900
X+++ net/spdy/spdy_protocol_test.cc	2012-03-31 20:49:17.303795861 +0900
X@@ -239,13 +239,13 @@
X   frame.set_stream_id(0);
X   // TODO(mbelshe):  implement EXPECT_DEBUG_DEATH on windows.
X #ifndef WIN32
X-  EXPECT_DEBUG_DEATH(frame.set_stream_id(~0), "");
X+  EXPECT_DEATH_IF_SUPPORTED(frame.set_stream_id(~0), "");
X #endif
X   EXPECT_FALSE(frame.is_control_frame());
X 
X   frame.set_flags(0);
X #ifndef WIN32
X-  EXPECT_DEBUG_DEATH(frame.set_length(~0), "");
X+  EXPECT_DEATH_IF_SUPPORTED(frame.set_length(~0), "");
X #endif
X   EXPECT_EQ(0, frame.flags());
X }
967a2dfb237c9cb8063b354d88549e49
echo x - mod_spdy/files/patch-base.gypi
sed 's/^X//' >mod_spdy/files/patch-base.gypi << 'fb1e7d92284299ee16e7310fc79fd4e6'
X--- base/base.gypi.org	2012-03-31 16:28:56.347804000 +0900
X+++ base/base.gypi	2012-03-31 17:03:22.470770534 +0900
X@@ -7,6 +7,7 @@
X     'variables': {
X       'base_target': 0,
X       'chromium_root': '<(DEPTH)/third_party/chromium/src',
X+      'system_include_path_execinfo%': '%%LOCALBASE%%/include',
X     },
X     'target_conditions': [
X       # This part is shared between the targets defined below. Only files and
X@@ -107,6 +108,7 @@
X         'include_dirs': [
X           '<(chromium_root)',
X           '<(DEPTH)',
X+          '<(system_include_path_execinfo)',
X         ],
X         # These warnings are needed for the files in third_party\dmg_fp.
X         'msvs_disabled_warnings': [
fb1e7d92284299ee16e7310fc79fd4e6
echo x - mod_spdy/files/patch-mod_spdy.cc
sed 's/^X//' >mod_spdy/files/patch-mod_spdy.cc << '5c235e4cde6995cc72672734db3cf1d0'
X--- mod_spdy/mod_spdy.cc.org	2012-03-31 16:28:56.745777000 +0900
X+++ mod_spdy/mod_spdy.cc	2012-03-31 20:48:01.337782696 +0900
X@@ -22,6 +22,9 @@
X #include "httpd.h"
X #include "http_connection.h"
X #include "http_config.h"
X+// When HAVE_SYSLOG is defined, apache http_log.h will include syslog.h, which
X+// #defined LOG_* as numbers. This conflicts with what we are using those here.
X+#undef HAVE_SYSLOG
X #include "http_log.h"
X #include "http_protocol.h"
X #include "http_request.h"
5c235e4cde6995cc72672734db3cf1d0
echo x - mod_spdy/files/patch-stack_trace_posix.cc
sed 's/^X//' >mod_spdy/files/patch-stack_trace_posix.cc << '9ec172ee38bc14f5e4281c1fa1812be7'
X--- third_party/chromium/src/base/debug/stack_trace_posix.cc.org	2012-03-31 16:29:07.080777000 +0900
X+++ third_party/chromium/src/base/debug/stack_trace_posix.cc	2012-03-31 17:00:32.436774287 +0900
X@@ -127,7 +127,7 @@
X       trace_strings->push_back(base::StringPrintf("%p", trace[i]));
X     }
X   }
X-#else
X+#elif defined(OS_LINUX)
X   scoped_ptr_malloc<char*> trace_symbols(backtrace_symbols(trace, size));
X   if (trace_symbols.get()) {
X     for (int i = 0; i < size; ++i) {
X@@ -156,10 +156,13 @@
X     count_ = 0;
X     return;
X   }
X-#endif
X+#elif defined(OS_LINUX)
X   // Though the backtrace API man page does not list any possible negative
X   // return values, we take no chance.
X   count_ = std::max(backtrace(trace_, arraysize(trace_)), 0);
X+#else
X+  count_ = 0;
X+#endif
X }
X 
X void StackTrace::PrintBacktrace() const {
9ec172ee38bc14f5e4281c1fa1812be7
echo x - mod_spdy/pkg-message
sed 's/^X//' >mod_spdy/pkg-message << '73a19fc7b2e4df097498694f33857a72'
X----------------------------------------------------------------------
XTo enable mod_spdy, add these lines:
X
XLoadModule spdy_module  libexec/apache22/mod_spdy.so
X<IfModule spdy_module>
XSpdyEnabled on
X</IfModule>
X
Xto etc/apache22/httpd.conf
X----------------------------------------------------------------------
73a19fc7b2e4df097498694f33857a72
echo x - mod_spdy/pkg-descr
sed 's/^X//' >mod_spdy/pkg-descr << '61da0c7636cb0ffd18b7132b5bbcb498'
Xmod_spdy is an Apache 2.x filter module that provides SPDY support in the
XApache HTTPD web server. Because mod_spdy is an Apache module, it can be
Xloaded into currently deployed Apache HTTPD 2.x web servers using mod_so.
XThis module is still an early beta and is not yet suitable for production
Xenvironments.
X
X
XWWW:	http://code.google.com/p/mod-spdy/
61da0c7636cb0ffd18b7132b5bbcb498
exit
--- mod_spdy.shar ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203311740.q2VHeWBC010812>