aboutsummaryrefslogtreecommitdiffstats
path: root/www/mod_pagespeed
diff options
context:
space:
mode:
authorswills <swills@FreeBSD.org>2012-08-14 07:46:32 +0800
committerswills <swills@FreeBSD.org>2012-08-14 07:46:32 +0800
commitda0373dc1fa3aa74abc6c87db9f94d09b109754d (patch)
tree8351a68b18136041d8ed44eb45de83259b1ac176 /www/mod_pagespeed
parent279e94e40273130b0e3a951ade836f80b931a32d (diff)
downloadfreebsd-ports-gnome-da0373dc1fa3aa74abc6c87db9f94d09b109754d.tar.gz
freebsd-ports-gnome-da0373dc1fa3aa74abc6c87db9f94d09b109754d.tar.zst
freebsd-ports-gnome-da0373dc1fa3aa74abc6c87db9f94d09b109754d.zip
- Update to 0.10.22.4
Diffstat (limited to 'www/mod_pagespeed')
-rw-r--r--www/mod_pagespeed/Makefile38
-rw-r--r--www/mod_pagespeed/distinfo4
-rw-r--r--www/mod_pagespeed/files/patch-base.gypi16
-rw-r--r--www/mod_pagespeed/files/patch-build-common.gypi37
-rw-r--r--www/mod_pagespeed/files/patch-common.py11
-rw-r--r--www/mod_pagespeed/files/patch-file_path.cc50
-rw-r--r--www/mod_pagespeed/files/patch-gyptest.py11
-rw-r--r--www/mod_pagespeed/files/patch-instaweb_core.gyp8
-rw-r--r--www/mod_pagespeed/files/patch-libjpeg_jpeglib.h11
-rw-r--r--www/mod_pagespeed/files/patch-make.py16
-rw-r--r--www/mod_pagespeed/files/patch-message_handler_test.cc11
-rw-r--r--www/mod_pagespeed/files/patch-parser.cc43
12 files changed, 216 insertions, 40 deletions
diff --git a/www/mod_pagespeed/Makefile b/www/mod_pagespeed/Makefile
index 9f8ed2312db6..1f93773293a8 100644
--- a/www/mod_pagespeed/Makefile
+++ b/www/mod_pagespeed/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= mod_pagespeed
-PORTVERSION= 0.10.21.2
-PORTREVISION= 3
+PORTVERSION= 0.10.22.4
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_LOCAL}
@@ -23,10 +22,10 @@ BUILD_DEPENDS= bash:${PORTSDIR}/shells/bash \
svn:${PORTSDIR}/devel/subversion \
flock:${PORTSDIR}/sysutils/flock
LIB_DEPENDS= png15:${PORTSDIR}/graphics/png \
- jpeg.11:${PORTSDIR}/graphics/jpeg \
- icutu.48:${PORTSDIR}/devel/icu \
- opencv_legacy.2:${PORTSDIR}/graphics/opencv \
- execinfo.1:${PORTSDIR}/devel/libexecinfo
+ jpeg:${PORTSDIR}/graphics/jpeg \
+ icutu:${PORTSDIR}/devel/icu \
+ opencv_legacy:${PORTSDIR}/graphics/opencv \
+ execinfo:${PORTSDIR}/devel/libexecinfo
USE_XZ= yes
USE_BINUTILS= yes
@@ -34,6 +33,11 @@ USE_APACHE= 22+
USE_PYTHON= 2.6+
USE_GMAKE= yes
MAKE_JOBS_SAFE= yes
+
+# debugging
+#MAKE_ENV+= V=1
+#MAKE_JOBS_UNSAFE= yes
+
ONLY_FOR_ARCHS= amd64 i386
LDFLAGS+= -L${LOCALBASE}/lib
PLIST_SUB= WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
@@ -46,27 +50,45 @@ GYP_DEFINES+= \
use_system_zlib=1 \
use_system_icu=1 \
use_system_opencv=1 \
- system_include_path_httpd=${LOCALBASE}/include/apache22 \
+ target_arch=${ARCH} \
system_include_path_apr=${LOCALBASE}/include/apr-1 \
system_include_path_aprutil=${LOCALBASE}/include/apr-1 \
+ system_include_path_httpd=${LOCALBASE}/include/apache22 \
system_include_path_execinfo=${LOCALBASE}/include \
system_include_path_icu=${LOCALBASE}/include \
include_dirs=${LOCALBASE}/include
.include <bsd.port.pre.mk>
+# testing
+#USE_GCC= 4.6+
+#.if ${OSVERSION} > 1000000
+#CC= clang
+#CXX= clang++
+#GYP_DEFINES+= clang=1
+#.endif
+
.if ${OSVERSION} < 802517 || ${OSVERSION} < 900502
EXTRA_PATCHES= ${FILESDIR}/extra-gperf.gypi
BUILD_DEPENDS+= ${LOCALBASE}/bin/gperf:${PORTSDIR}/devel/gperf
.endif
post-patch:
+ ( cd ${BUILD_WRKSRC}/third_party/gflags/gen/arch && ${CP} -R linux freebsd && \
+ cd ${BUILD_WRKSRC}/third_party/gflags/gen/arch/freebsd && ${MV} ia32 i386 && ${MV} x64 amd64 )
+ ( cd ${BUILD_WRKSRC}/third_party/google-sparsehash/gen/arch && ${CP} -R linux freebsd && \
+ cd ${BUILD_WRKSRC}/third_party/google-sparsehash/gen/arch/freebsd && ${MV} ia32 i386 && ${MV} x64 amd64 )
+ ( cd ${BUILD_WRKSRC}/third_party/opencv/gen/arch && ${CP} -R linux freebsd && \
+ cd ${BUILD_WRKSRC}/third_party/opencv/gen/arch/freebsd && ${MV} ia32 i386 && ${MV} x64 amd64 )
${REINPLACE_CMD} -e "s,%%LOCALBASE%%,${LOCALBASE},g" \
${WRKSRC}/base/base.gypi
+ ${REINPLACE_CMD} -e "s,%%LOCALBASE%%,${LOCALBASE},g" \
+ -e "s,%%CC%%,${CC},g" \
+ -e "s,%%CXX%%,${CXX},g" \
+ ${WRKSRC}/tools/gyp/pylib/gyp/generator/make.py
.if ${OSVERSION} < 802517 || ${OSVERSION} < 900502
${REINPLACE_CMD} -e "s,%%LOCALBASE%%,${LOCALBASE},g" \
${WRKSRC}/net/instaweb/gperf.gypi
-
.endif
do-configure:
diff --git a/www/mod_pagespeed/distinfo b/www/mod_pagespeed/distinfo
index 3291ffd24025..c572e9014eb2 100644
--- a/www/mod_pagespeed/distinfo
+++ b/www/mod_pagespeed/distinfo
@@ -1,2 +1,2 @@
-SHA256 (mod_pagespeed_source_0.10.21.2.tar.xz) = f481167306c3744ba63d266998faa4123eb806223e1f45dbe237ca2e37200644
-SIZE (mod_pagespeed_source_0.10.21.2.tar.xz) = 12701176
+SHA256 (mod_pagespeed_source_0.10.22.4.tar.xz) = 4abb02fec78b20d2790e9f6bb7c454b14cccde9add4a0341d6e6779066d3a3a9
+SIZE (mod_pagespeed_source_0.10.22.4.tar.xz) = 14492376
diff --git a/www/mod_pagespeed/files/patch-base.gypi b/www/mod_pagespeed/files/patch-base.gypi
index 6d41eec0d328..43d0f36ac2d6 100644
--- a/www/mod_pagespeed/files/patch-base.gypi
+++ b/www/mod_pagespeed/files/patch-base.gypi
@@ -1,14 +1,14 @@
---- base/base.gypi.orig 2011-09-29 19:59:56.000000000 +0000
-+++ base/base.gypi 2011-09-29 20:00:44.000000000 +0000
-@@ -8,6 +8,7 @@
+--- base/base.gypi.orig 2012-07-11 20:16:43.000000000 -0400
++++ base/base.gypi 2012-07-11 21:12:00.214510822 -0400
+@@ -7,6 +7,7 @@
+ 'variables': {
'base_target': 0,
- 'base_extra_target': 0,
'chromium_root': '<(DEPTH)/third_party/chromium/src',
+ 'system_include_path_execinfo%': '%%LOCALBASE%%/include',
- },
- 'target_conditions': [
- # This part is shared between the targets defined below. Only files and
-@@ -110,6 +111,7 @@
+ 'conditions': [
+ # The default stack_trace_posix.cc is not compatible with NaCL newlib
+ # toolchain, so we provide a stubbed version when building for NaCL.
+@@ -117,6 +118,7 @@
'include_dirs': [
'<(chromium_root)',
'<(DEPTH)',
diff --git a/www/mod_pagespeed/files/patch-build-common.gypi b/www/mod_pagespeed/files/patch-build-common.gypi
new file mode 100644
index 000000000000..15b6219c7e41
--- /dev/null
+++ b/www/mod_pagespeed/files/patch-build-common.gypi
@@ -0,0 +1,37 @@
+--- build/common.gypi.orig 2012-07-12 19:09:26.000000000 +0000
++++ build/common.gypi 2012-07-12 19:09:38.000000000 +0000
+@@ -91,6 +91,34 @@
+ '-Wl,-z,defs',
+ ],
+ }],
++ ['OS == "freebsd"', {
++ # Disable -Werror when not using the version of gcc that development
++ # is generally done with, to avoid breaking things for users with
++ # something older or newer (which produces different warnings).
++ 'conditions': [
++ ['<(gcc_version) != <(gcc_devel_version)', {
++ 'cflags!': ['-Werror']
++ }],
++ ],
++ 'cflags': [
++ # Our dependency on OpenCV need us to turn on exceptions.
++ '-fexceptions',
++ # Now we are using exceptions. -fno-asynchronous-unwind-tables is
++ # set in libpagespeed's common.gypi. Now enable it.
++ '-fasynchronous-unwind-tables',
++ # We'd like to add '-Wtype-limits', but this does not work on
++ # earlier versions of g++ on supported operating systems.
++ ],
++ 'cflags_cc': [
++ '-frtti', # g++ 4.2 <trl/function> uses typeid
++ ],
++ # Disable -z,defs in linker.
++ # This causes mod_pagespeed.so to fail because it doesn't link apache
++ # libraries.
++ 'ldflags!': [
++ '-Wl,-z,defs',
++ ],
++ }],
+ ['OS == "mac"', {
+ 'xcode_settings':{
+ 'GCC_ENABLE_CPP_EXCEPTIONS': 'YES', # -fexceptions
diff --git a/www/mod_pagespeed/files/patch-common.py b/www/mod_pagespeed/files/patch-common.py
new file mode 100644
index 000000000000..532103fb0f43
--- /dev/null
+++ b/www/mod_pagespeed/files/patch-common.py
@@ -0,0 +1,11 @@
+--- tools/gyp/pylib/gyp/common.py.orig 2012-07-11 21:33:14.908184100 -0400
++++ tools/gyp/pylib/gyp/common.py 2012-07-11 21:33:28.963202252 -0400
+@@ -353,6 +353,8 @@
+ 'sunos5': 'solaris',
+ 'freebsd7': 'freebsd',
+ 'freebsd8': 'freebsd',
++ 'freebsd9': 'freebsd',
++ 'freebsd10': 'freebsd',
+ }
+ flavor = flavors.get(sys.platform, 'linux')
+ return params.get('flavor', flavor)
diff --git a/www/mod_pagespeed/files/patch-file_path.cc b/www/mod_pagespeed/files/patch-file_path.cc
new file mode 100644
index 000000000000..786d64de364e
--- /dev/null
+++ b/www/mod_pagespeed/files/patch-file_path.cc
@@ -0,0 +1,50 @@
+Index: third_party/chromium/src/base/sys_string_conversions_linux.cc
+===================================================================
+--- third_party/chromium/src/base/sys_string_conversions_linux.cc (revision 90205)
++++ third_party/chromium/src/base/sys_string_conversions_linux.cc (working copy)
+@@ -97,6 +97,7 @@
+ return out;
+ }
+
++#if 0
+ std::wstring SysNativeMBToWide(const StringPiece& native_mb) {
+ mbstate_t ps;
+
+@@ -153,6 +154,7 @@
+
+ return out;
+ }
++#endif
+
+ #endif // OS_CHROMEOS
+
+Index: third_party/chromium/src/base/file_path.cc
+===================================================================
+--- third_party/chromium/src/base/file_path.cc (revision 90205)
++++ third_party/chromium/src/base/file_path.cc (working copy)
+@@ -517,9 +517,11 @@
+ // See file_path.h for a discussion of the encoding of paths on POSIX
+ // platforms. These encoding conversion functions are not quite correct.
+
++#if 0
+ string16 FilePath::LossyDisplayName() const {
+ return WideToUTF16(base::SysNativeMBToWide(path_));
+ }
++#endif
+
+ std::string FilePath::MaybeAsASCII() const {
+ if (IsStringASCII(path_))
+@@ -530,10 +532,13 @@
+ // The *Hack functions are temporary while we fix the remainder of the code.
+ // Remember to remove the #includes at the top when you remove these.
+
++#if 0
+ // static
+ FilePath FilePath::FromWStringHack(const std::wstring& wstring) {
+ return FilePath(base::SysWideToNativeMB(wstring));
+ }
++#endif
++
+ #elif defined(OS_WIN)
+ string16 FilePath::LossyDisplayName() const {
+ return path_;
diff --git a/www/mod_pagespeed/files/patch-gyptest.py b/www/mod_pagespeed/files/patch-gyptest.py
new file mode 100644
index 000000000000..cf97bf98345e
--- /dev/null
+++ b/www/mod_pagespeed/files/patch-gyptest.py
@@ -0,0 +1,11 @@
+--- tools/gyp/gyptest.py.orig 2012-07-11 21:42:55.394188934 -0400
++++ tools/gyp/gyptest.py 2012-07-11 21:43:15.729199931 -0400
+@@ -208,6 +208,8 @@
+ format_list = {
+ 'freebsd7': ['make'],
+ 'freebsd8': ['make'],
++ 'freebsd9': ['make'],
++ 'freebsd10': ['make'],
+ 'cygwin': ['msvs'],
+ 'win32': ['msvs'],
+ 'linux2': ['make', 'ninja'],
diff --git a/www/mod_pagespeed/files/patch-instaweb_core.gyp b/www/mod_pagespeed/files/patch-instaweb_core.gyp
index 762837576b68..b2449093e9e1 100644
--- a/www/mod_pagespeed/files/patch-instaweb_core.gyp
+++ b/www/mod_pagespeed/files/patch-instaweb_core.gyp
@@ -1,11 +1,11 @@
---- net/instaweb/instaweb_core.gyp.orig 2012-02-06 13:07:36.864338902 -0500
-+++ net/instaweb/instaweb_core.gyp 2012-02-06 13:08:32.614375339 -0500
-@@ -170,54 +170,4 @@
+--- net/instaweb/instaweb_core.gyp.orig 2012-07-11 21:12:43.400191212 -0400
++++ net/instaweb/instaweb_core.gyp 2012-07-11 21:13:29.815181464 -0400
+@@ -175,54 +175,4 @@
],
},
],
- 'conditions': [
-- ['OS=="linux"', {
+- ['OS=="linux" and use_system_icu==0', {
- 'targets': [
- # We build this target to make sure that we don't accidentially
- # introduce dependencies from the core libraries to non-core
diff --git a/www/mod_pagespeed/files/patch-libjpeg_jpeglib.h b/www/mod_pagespeed/files/patch-libjpeg_jpeglib.h
new file mode 100644
index 000000000000..eb126eb316fd
--- /dev/null
+++ b/www/mod_pagespeed/files/patch-libjpeg_jpeglib.h
@@ -0,0 +1,11 @@
+--- ./third_party/libjpeg/jpeglib.h.orig 2012-07-12 20:18:05.000000000 +0000
++++ ./third_party/libjpeg/jpeglib.h 2012-07-12 20:19:07.000000000 +0000
+@@ -14,6 +14,8 @@
+ #ifndef JPEGLIB_H
+ #define JPEGLIB_H
+
++#include <stdio.h>
++
+ /*
+ * First we include the configuration files that record how this
+ * installation of the JPEG library is set up. jconfig.h can be
diff --git a/www/mod_pagespeed/files/patch-make.py b/www/mod_pagespeed/files/patch-make.py
index dfef3c63ec7b..02697b68a9e3 100644
--- a/www/mod_pagespeed/files/patch-make.py
+++ b/www/mod_pagespeed/files/patch-make.py
@@ -1,17 +1,19 @@
---- tools/gyp/pylib/gyp/generator/make.py.orig Mon Oct 31 10:37:12 2011
-+++ tools/gyp/pylib/gyp/generator/make.py Mon Oct 31 10:39:06 2011
-@@ -129,11 +129,11 @@
+--- tools/gyp/pylib/gyp/generator/make.py.orig 2012-07-12 00:18:25.000000000 +0000
++++ tools/gyp/pylib/gyp/generator/make.py 2012-07-15 14:59:48.000000000 +0000
+@@ -269,12 +269,12 @@
# in gyp's make.py where ARFLAGS.host etc. is computed.
# TODO(evan): move all cross-compilation logic to gyp-time so we don't need
# to replicate this environment fallback in make as well.
-CC.host ?= gcc
-+CC.host ?= cc
++CC.host ?= %%CC%%
CFLAGS.host ?=
-CXX.host ?= g++
-+CXX.host ?= c++
++CXX.host ?= %%CXX%%
CXXFLAGS.host ?=
-LINK.host ?= g++
-+LINK.host ?= c++
- LDFLAGS.host ?=
+-LDFLAGS.host ?=
++LINK.host ?= %%CXX%%
++LDFLAGS.host ?= -Wl,-rpath,%%LOCALBASE%%/lib/%%CC%%
AR.host ?= ar
ARFLAGS.host := %(ARFLAGS.host)s
+
diff --git a/www/mod_pagespeed/files/patch-message_handler_test.cc b/www/mod_pagespeed/files/patch-message_handler_test.cc
deleted file mode 100644
index 8dc70fbabc7e..000000000000
--- a/www/mod_pagespeed/files/patch-message_handler_test.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- net/instaweb/util/message_handler_test.cc.orig 2012-02-06 15:07:57.961341517 -0500
-+++ net/instaweb/util/message_handler_test.cc 2012-02-06 15:08:13.049343814 -0500
-@@ -74,7 +74,7 @@
- ASSERT_EQ(messages()[1], "Info: filename.cc: 1: here is another message");
- ASSERT_EQ(kWarning, MessageHandler::StringToMessageType("Warning"));
- ASSERT_EQ(kFatal, MessageHandler::StringToMessageType("Fatal"));
-- ASSERT_DEATH(MessageHandler::StringToMessageType("Random"),
-+ ASSERT_DEATH_IF_SUPPORTED(MessageHandler::StringToMessageType("Random"),
- "Invalid msg level: Random");
- }
-
diff --git a/www/mod_pagespeed/files/patch-parser.cc b/www/mod_pagespeed/files/patch-parser.cc
new file mode 100644
index 000000000000..7895e0c059af
--- /dev/null
+++ b/www/mod_pagespeed/files/patch-parser.cc
@@ -0,0 +1,43 @@
+Index: third_party/protobuf/src/google/protobuf/compiler/parser.cc
+===================================================================
+--- third_party/protobuf/src/google/protobuf/compiler/parser.cc (revision 90205)
++++ third_party/protobuf/src/google/protobuf/compiler/parser.cc (working copy)
+@@ -82,8 +82,15 @@
+ return result;
+ }
+
+-const TypeNameMap kTypeNames = MakeTypeNameTable();
++TypeNameMap type_names;
+
++const TypeNameMap& kTypeNames() {
++ if (type_names.empty()) {
++ type_names = MakeTypeNameTable();
++ }
++ return type_names;
++}
++
+ } // anonymous namespace
+
+ // Makes code slightly more readable. The meaning of "DO(foo)" is
+@@ -1336,8 +1343,8 @@
+
+ bool Parser::ParseType(FieldDescriptorProto::Type* type,
+ string* type_name) {
+- TypeNameMap::const_iterator iter = kTypeNames.find(input_->current().text);
+- if (iter != kTypeNames.end()) {
++ TypeNameMap::const_iterator iter = kTypeNames().find(input_->current().text);
++ if (iter != kTypeNames().end()) {
+ *type = iter->second;
+ input_->Next();
+ } else {
+@@ -1349,8 +1356,8 @@
+ bool Parser::ParseUserDefinedType(string* type_name) {
+ type_name->clear();
+
+- TypeNameMap::const_iterator iter = kTypeNames.find(input_->current().text);
+- if (iter != kTypeNames.end()) {
++ TypeNameMap::const_iterator iter = kTypeNames().find(input_->current().text);
++ if (iter != kTypeNames().end()) {
+ // Note: The only place enum types are allowed is for field types, but
+ // if we are parsing a field type then we would not get here because
+ // primitives are allowed there as well. So this error message doesn't