mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-19 03:52:17 +00:00
200 lines
8.1 KiB
Makefile
200 lines
8.1 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= mod_pagespeed
|
|
PORTVERSION= 1.12.34.2
|
|
PORTREVISION= 10
|
|
PORTEPOCH= 1
|
|
CATEGORIES= www devel
|
|
MASTER_SITES= LOCAL/mmokhi:boringssl,chromium_base,chromium_build,googleurl,gflags_arch,gflags_src,libjpeg_turbo_src,yasm_patched,libwebp,modpb64 \
|
|
https://dl.google.com/closure-compiler/:closurezip
|
|
PKGNAMEPREFIX= ${APACHE_PKGNAMEPREFIX}
|
|
DISTFILES= ${NON_GH_DISTS}
|
|
|
|
MAINTAINER= mmokhi@FreeBSD.org
|
|
COMMENT= Apache module for rewriting web pages to reduce latency
|
|
|
|
LICENSE= APACHE20
|
|
|
|
BUILD_DEPENDS= bash:shells/bash \
|
|
curl:ftp/curl \
|
|
closure-compiler:www/closure-compiler \
|
|
greadlink:sysutils/coreutils \
|
|
gsed:textproc/gsed \
|
|
gyp:devel/py-gyp@${PY_FLAVOR} \
|
|
flock:sysutils/flock \
|
|
${LOCALBASE}/include/apr-1/apr_pools.h:devel/apr1
|
|
LIB_DEPENDS= libpng.so:graphics/png \
|
|
libprotobuf.so:devel/protobuf \
|
|
libgrpc.so:devel/grpc \
|
|
libapr-1.so:devel/apr1 \
|
|
libaprutil-1.so:devel/apr1 \
|
|
libexpat.so:textproc/expat2 \
|
|
libicutu.so:devel/icu \
|
|
libopencv_video.so:graphics/opencv
|
|
|
|
USES= apache:2.2+ compiler:c++14-lang gperf jpeg gmake localbase \
|
|
pkgconfig python:2.7 shebangfix ssl tar:xz
|
|
SHEBANG_GLOB= *.gyp *.gypi *.py *.sh
|
|
SHEBANG_FILES= build/fix_proto_and_invoke_protoc
|
|
|
|
WRKSRC= ${WRKSRC_maindist}
|
|
DOCSDIR= ${PREFIX}/share/doc/apache${APACHE_VERSION}
|
|
CACHEDIR= /var/cache/mod_pagespeed
|
|
LOGSDIR= /var/log/pagespeed
|
|
CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/apr-1 -I${WRKSRC} \
|
|
-Wno-error -Wno-deprecated-register -Wno-char-subscripts \
|
|
-frtti -fexceptions -fPIC
|
|
BUILDTYPE= Release
|
|
MAKE_ENV+= BUILDTYPE=${BUILDTYPE}
|
|
CLR_VERSION= 20161024
|
|
GYP_DEFINES+= os_posix=1 \
|
|
support_posix_shared_mem=1 \
|
|
use_system_libs=1 \
|
|
use_system_protobuf=1 \
|
|
use_system_openssl=1 \
|
|
use_system_apache_dev=1 \
|
|
use_system_libjpeg=1 \
|
|
use_system_libpng=1 \
|
|
use_system_zlib=1 \
|
|
use_system_icu=1 \
|
|
use_system_yasm=1 \
|
|
use_system_libxml=1 \
|
|
use_system_sqlite=1 \
|
|
use_system_opencv=1 \
|
|
use_system_fontconfig=1 \
|
|
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/apache24 \
|
|
system_include_path_execinfo=${LOCALBASE}/include \
|
|
system_include_path_icu=${LOCALBASE}/include \
|
|
include_dirs=${LOCALBASE}/include \
|
|
python_ver=${PYTHON_VER} \
|
|
fastbuild=2
|
|
NON_GH_DISTS= version_for_cocoapods_6.0-46-g07e78061.tar.gz:boringssl \
|
|
ccf3c2f32.tar.gz:chromium_base \
|
|
06b7bd9c.tar.gz:chromium_build \
|
|
405b6e1.tar.gz:googleurl \
|
|
gflags-master.tar.gz:gflags_arch \
|
|
src-master.tar.gz:gflags_src \
|
|
7260e4d.tar.gz:libjpeg_turbo_src \
|
|
7da28c6.tar.gz:yasm_patched \
|
|
v0.5.1.tar.gz:libwebp \
|
|
aae6075.tar.gz:modpb64 \
|
|
compiler-${CLR_VERSION}.zip:closurezip
|
|
WRKSRC_boringssl= ${WRKSRC}/third_party/boringssl/src
|
|
WRKSRC_chromium_base= ${WRKSRC}/third_party/chromium/src/base
|
|
WRKSRC_chromium_build= ${WRKSRC}/third_party/chromium/src/build
|
|
WRKSRC_googleurl= ${WRKSRC}/third_party/chromium/src/googleurl
|
|
WRKSRC_gflags_arch= ${WRKSRC}/third_party/gflags/arch
|
|
WRKSRC_gflags_src= ${WRKSRC}/third_party/gflags/src
|
|
WRKSRC_libjpeg_turbo_src= ${WRKSRC}/third_party/libjpeg_turbo/src
|
|
WRKSRC_yasm_patched= ${WRKSRC}/third_party/libjpeg_turbo/yasm/source/patched-yasm
|
|
WRKSRC_libwebp= ${WRKSRC}/third_party/libwebp
|
|
WRKSRC_modpb64= ${WRKSRC}/third_party/modp_b64
|
|
WRKSRC_closurezip= ${WRKSRC}/tools/closure
|
|
|
|
.for _group in ${_GITHUB_GROUPS:NDEFAULT}
|
|
EXTRACT_ONLY:= ${EXTRACT_ONLY} ${DISTFILE_${_group}}:${_group}
|
|
.endfor
|
|
|
|
#grpc changed from objective-c-v1.0.0-pre1-254-g2a69139aa7 to v1.6.0
|
|
USE_GITHUB= nodefault
|
|
GH_ACCOUNT= pagespeed
|
|
GH_TUPLE= pagespeed:mod_pagespeed:a5cfe15:maindist \
|
|
google:googlemock:release-1.7.0:gmock/testing/gmock \
|
|
google:googletest:release-1.7.0:gtest/testing/gtest \
|
|
apache:apr:1.5.1:apr/third_party/apr/src \
|
|
apache:apr-util:1.5.4:aprutil/third_party/aprutil/src \
|
|
google:brotli:v0.4.0-89-g882f418:brotli/third_party/brotli/src \
|
|
google:closure-library:v20161024:closurelib/third_party/closure_library \
|
|
pagespeed:domain-registry-provider:e9b72ea:domain_registry_provider/third_party/domain_registry_provider \
|
|
pagespeed:giflib:99deb45:giflib/third_party/giflib \
|
|
google:sparsehash:sparsehash-1.7:sparsehash/third_party/google-sparsehash/src \
|
|
grpc:grpc:objective-c-v1.0.0-pre1-254-g2a69139aa7:grpc/third_party/grpc/src \
|
|
redis:hiredis:v0.13.3:hiredis/third_party/hiredis/src \
|
|
apache:httpd:2.2.29:httpd/third_party/httpd/src \
|
|
apache:httpd:2.4.10:httpd24/third_party/httpd24/src \
|
|
pagespeed:icu:1b32282:icu/third_party/icu \
|
|
open-source-parsers:jsoncpp:1.0.0:jsoncpp/third_party/jsoncpp/src \
|
|
glennrp:libpng:libpng-1.2.56-signed:libpng/third_party/libpng/src \
|
|
pagespeed:mod_fcgid:c63f176:mod__fcgid/third_party/mod_fcgid \
|
|
nghttp2:nghttp2:v1.16.0-24-gf4474d57:nghttp2/third_party/nghttp2 \
|
|
pagespeed:optipng:e9a5bd6:optipng/third_party/optipng \
|
|
google:protobuf:v3.0.0-beta-4-74-ge8ae137c:protobuf/third_party/protobuf/src \
|
|
google:re2:2016-09-01:re2/third_party/re2/src \
|
|
apache:serf:1.3.8:serf/third_party/serf/src \
|
|
pagespeed:zlib:1f93ffd:zlib/third_party/zlib \
|
|
nanopb:nanopb:f8ac463:grpcnanopb/third_party/grpc/src/third_party/nanopb
|
|
|
|
post-extract:
|
|
. for _D in ${NON_GH_DISTS}
|
|
DGROUP=${_D:S/^${_D:C/:[^:]+$//}//:S/^://}
|
|
DFILE=${_D:C/:[^-:][^:]*$//}
|
|
${MKDIR} ${WRKSRC_${_D:S/^${_D:C/:[^:]+$//}//:S/^://}} && cd ${EXTRACT_WRKDIR} && \
|
|
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${DISTDIR}/${_D:C/:[^-:][^:]*$//} \
|
|
${EXTRACT_AFTER_ARGS} -C ${WRKSRC_${_D:S/^${_D:C/:[^:]+$//}//:S/^://}}
|
|
. endfor
|
|
${CP} ${DISTDIR}/compiler-${CLR_VERSION}.zip ${WRKSRC_closurezip}
|
|
|
|
post-patch:
|
|
( 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 )
|
|
${REINPLACE_CMD} -e "s,%%LOCALBASE%%,${LOCALBASE},g" \
|
|
${WRKSRC}/base/base.gypi ${WRKSRC}/third_party/serf/select_openssl.gyp
|
|
${REINPLACE_CMD} -e "s,%%PORTSSTAGE%%,${STAGEDIR},g" \
|
|
${WRKSRC}/install/Makefile
|
|
${FIND} ${WRKSRC} -type f \( -name "*.gyp" -o -name "*.gypi" \) -exec \
|
|
${REINPLACE_CMD} -e "s/'python'/'${PYTHON_VERSION}'/g" {} \;
|
|
|
|
do-configure:
|
|
cd ${WRKSRC} && \
|
|
GYP_DEFINES="${GYP_DEFINES}" CC=${CC} CXX=${CXX} \
|
|
${PYTHON_CMD} build/gyp_chromium --depth=.
|
|
|
|
do-build:
|
|
cd ${WRKSRC} && \
|
|
${GMAKE} ${MAKE_ENV} builddir=${WRKSRC}/${BUILDTYPE} \
|
|
CFLAGS_${BUILDTYPE}="${CFLAGS}" CXXFLAGS_${BUILDTYPE}="${CFLAGS}" \
|
|
AR.host=/usr/bin/ar AR.target=/usr/bin/ar CC.host=${CC} CC.target=${CC} \
|
|
CXX.host=${CXX} CXX.target=${CXX} BUILDTYPE=${BUILDTYPE}
|
|
|
|
do-install:
|
|
cd ${WRKSRC}/install && ${MKDIR} FreeBSD && \
|
|
echo ' \
|
|
APACHE_ROOT=${PREFIX} \
|
|
APACHE_MODULES=${PREFIX}/${APACHEMODDIR} \
|
|
APACHE_CONF_DIR=${PREFIX}/${APACHEETCDIR} \
|
|
APACHE_DOC_ROOT=${DOCSDIR} \
|
|
APACHE_CONTROL_PROGRAM=${HTTPD} \
|
|
APACHE_PROGRAM=apache${APACHE_VERSION} \
|
|
APACHE_START="service apache24 start" \
|
|
APACHE_PIDFILE="/var/run/httpd.pid" \
|
|
APACHE_USER=www \
|
|
DISTRO_NAME=FreeBSD' > FreeBSD/make_vars.mk && \
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR} && \
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEETCDIR} && \
|
|
${MKDIR} ${STAGEDIR}${DOCSDIR} && \
|
|
${GMAKE} ${MAKE_ENV} V=1 builddir=${WRKSRC}/${BUILDTYPE} \
|
|
CFLAGS_${BUILDTYPE}="${CFLAGS}" CXXFLAGS_${BUILDTYPE}="${CFLAGS}" \
|
|
AR.host=/usr/bin/ar AR.target=/usr/bin/ar CC.host=${CC} CC.target=${CC} \
|
|
CXX.host=${CXX} CXX.target=${CXX} BUILDTYPE=${BUILDTYPE} \
|
|
APACHE_ROOT=${PREFIX} BINDIR=${PREFIX}/bin \
|
|
APACHE_MODULES=${PREFIX}/${APACHEMODDIR} \
|
|
APACHE_CONF_DIR=${PREFIX}/${APACHEETCDIR} \
|
|
APACHE_DOC_ROOT=${DOCSDIR} \
|
|
APACHE_CONTROL_PROGRAM=${HTTPD} APACHE_PROGRAM=apache${APACHE_VERSION} \
|
|
APACHE_START="service apache24 start" APACHE_PIDFILE="/var/run/httpd.pid" \
|
|
APACHE_USER=www DISTRO_NAME=FreeBSD MOD_PAGESPEED_ROOT=${WRKSRC} \
|
|
PAGESPEED_MODULE=${WRKSRC}/Release/libmod_pagespeed.so \
|
|
PAGESPEED_MODULE_24=${WRKSRC}/Release/libmod_pagespeed_ap24.so \
|
|
PAGESPEED_JS_MINIFY=${WRKSRC}/Release/js_minify \
|
|
MOD_PAGESPEED_CACHE=${CACHEDIR} \
|
|
MOD_PAGESPEED_LOG=${LOGSDIR} staging install
|
|
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/*
|
|
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/*
|
|
|
|
.include <bsd.port.mk>
|