ports/166538: New port: www/mod_spdy
Masaki TAGAWA
masaki at club.kyutech.ac.jp
Sat Mar 31 17:50:13 UTC 2012
>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 at 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 at 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:
More information about the freebsd-ports-bugs
mailing list