aboutsummaryrefslogtreecommitdiffstats
path: root/www/mod_spdy/Makefile
blob: 1a3917ae83b0d1914af55180b5f1b73c580caf14 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# Created by: Masaki TAGAWA
# $FreeBSD$

PORTNAME=   mod_spdy
PORTVERSION=    0.9.3.3
CATEGORIES= www
MASTER_SITES=   http://www.club.kyutech.ac.jp/~masaki/ports/:mod_spdy \
        ${MASTER_SITE_APACHE_HTTPD}:apache22 \
        http://www.openssl.org/source/:openssl
DISTFILES=  mod_spdy_source_${PORTVERSION}.tar.xz:mod_spdy \
        httpd-2.2.22.tar.gz:apache22 \
        openssl-1.0.1c.tar.gz:openssl
DIST_SUBDIR=    ${PORTNAME}
EXTRACT_ONLY=   mod_spdy_source_${PORTVERSION}.tar.xz

MAINTAINER= masaki@club.kyutech.ac.jp
COMMENT=    A SPDY module for the Apache HTTP server v2.2

BUILD_DEPENDS=  greadlink:${PORTSDIR}/sysutils/coreutils \
        flock:${PORTSDIR}/sysutils/flock \
        svn:${PORTSDIR}/devel/subversion \
        curl:${PORTSDIR}/ftp/curl \
        bash:${PORTSDIR}/shells/bash
LIB_DEPENDS=    execinfo.1:${PORTSDIR}/devel/libexecinfo

USE_XZ=     yes
USE_APACHE= 22
USE_PYTHON= 2.6+
USE_GMAKE=  yes
ONLY_FOR_ARCHS= amd64 i386
REINPLACE_ARGS= -i ""
LDFLAGS+=   -L${LOCALBASE}/lib
WRKSRC=     ${WRKDIR}/${PORTNAME}_source_${PORTVERSION}/mod_spdy/src
GYP_DEFINES+=   \
        use_system_apache_dev=1 \
        use_system_zlib=1 \
        system_include_path_httpd=${LOCALBASE}/include/apache22 \
        system_include_path_apr=${LOCALBASE}/include/apr-1 \
        system_include_path_aprutil=${LOCALBASE}/include/apr-1 \
        system_include_path_execinfo=${LOCALBASE}/include \
        include_dirs=${LOCALBASE}/include

OPTIONS_DEFINE= CLANG DEBUG
CLANG_DESC= Build with Clang instead of GCC 4.6+
DEBUG_DESC= Compile with debug symbols and verbose output

OPTIONS_DEFAULT=    CLANG

.include <bsd.port.options.mk>

.if ${OSVERSION} < 900033 || ! ${PORT_OPTIONS:MCLANG}
BUILD_DEPENDS+= ${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
CONFIGURE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
MAKE_ENV+=  COMPILER_PATH=${LOCALBASE}/bin
.endif

.if ${PORT_OPTIONS:MCLANG}
.if ${OSVERSION} < 900033
BUILD_DEPENDS+= clang:${PORTSDIR}/lang/clang
.endif
CC= clang
CXX=    clang++
GYP_DEFINES+=   clang=1
.else
USE_GCC?=   4.6+
GYP_DEFINES+=   gcc_version=${CXX:S/g++//}
.endif

.if ${PORT_OPTIONS:MDEBUG}
BUILDTYPE=  Release
.else
MAKE_ENV+=  V=1
BUILDTYPE=  Debug
.endif

MAKE_ENV+=  BUILDTYPE=${BUILDTYPE}
MAKE_JOBS_SAFE= yes
CFLAGS+=    -Wno-error

SUB_FILES+= mod_spdy.conf
SUB_LIST+=  APACHEMODDIR=${APACHEMODDIR}

.include <bsd.port.pre.mk>

post-extract:
    @${MKDIR} ${WRKSRC}/temp/progress
    @${CP} ${DISTDIR}/${DIST_SUBDIR}/httpd-2.2.22.tar.gz ${WRKSRC}/temp/ && \
        ${TOUCH} ${WRKSRC}/temp/progress/httpd-2.2.22.tar.gz.downloaded
    @${CP} ${DISTDIR}/${DIST_SUBDIR}/openssl-1.0.1c.tar.gz ${WRKSRC}/temp/ && \
        ${TOUCH} ${WRKSRC}/temp/progress/openssl-1.0.1c.tar.gz.downloaded

post-patch:
    @${REINPLACE_CMD} -e "s,%%LOCALBASE%%,${LOCALBASE},g" \
        ${WRKSRC}/base/base.gypi
    @${REINPLACE_CMD} -e 's|#!/bin/bash|#!${LOCALBASE}/bin/bash|' \
        ${WRKSRC}/build_modssl_with_npn.sh

do-configure:
    @cd ${WRKSRC} && \
        GYP_DEFINES="${GYP_DEFINES}" ${PYTHON_CMD} \
            ../../depot_tools/gclient.py runhooks

pre-build:
    @cd ${WRKSRC} && \
        BUILDROOT=${WRKSRC}/temp ${WRKSRC}/build_modssl_with_npn.sh

do-install:
    @${INSTALL} ${WRKSRC}/out/${BUILDTYPE}/libmod_spdy.so ${PREFIX}/${APACHEMODDIR}/mod_spdy.so
    @${INSTALL} ${WRKSRC}/mod_ssl.so ${PREFIX}/${APACHEMODDIR}/mod_ssl_with_npn.so
    @${INSTALL_DATA} ${WRKDIR}/mod_spdy.conf ${PREFIX}/${APACHEETCDIR}/Includes

post-install:
    @${REINPLACE_CMD} -e 's/mod_ssl.so/mod_ssl_with_npn.so/g' ${PREFIX}/${APACHEETCDIR}/httpd.conf

.include <bsd.port.post.mk>