buildpack-nginx/bin/compile

92 lines
2.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e
NGINX_VERSION="1.6.2"
NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz"
PCRE_VERSION="8.34"
PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz"
ZLIB_VERSION="1.2.8"
ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz"
BINDIR=$(dirname "$0")
BUILDDIR="${1}"
CACHEDIR="${2}"
mkdir -p $CACHEDIR/www_cache
mv $BUILDDIR/* $CACHEDIR/www_cache
mkdir -p $BUILDDIR/www
mv $CACHEDIR/www_cache/* $BUILDDIR/www
cd $CACHEDIR
if [[ ! -d "${NGINX_TARBALL%.tar.gz}" ]]; then
curl "http://nginx.org/download/${NGINX_TARBALL}" -o "${NGINX_TARBALL}"
tar xvzf "${NGINX_TARBALL}" && rm -f "${NGINX_TARBALL}"
fi
if [[ ! -d "${PCRE_TARBALL%.tar.gz}" ]]; then
curl "http://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${PCRE_TARBALL}" -o "${PCRE_TARBALL}"
tar xvzf "${PCRE_TARBALL}" && rm -f "${PCRE_TARBALL}"
fi
if [[ ! -d "${ZLIB_TARBALL%.tar.gz}" ]]; then
curl "http://zlib.net/${ZLIB_TARBALL}" -o "${ZLIB_TARBALL}"
tar xvzf "${ZLIB_TARBALL}" && rm -rf "${ZLIB_TARBALL}"
fi
cd "nginx-${NGINX_VERSION}"
mkdir $BUILDDIR/nginx
./configure \
--with-cpu-opt=generic \
--prefix=$BUILDDIR/nginx \
--with-pcre=../pcre-${PCRE_VERSION} \
--sbin-path=. \
--pid-path=./nginx.pid \
--conf-path=./nginx.conf \
--with-ld-opt="-static" \
--with-http_spdy_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-file-aio \
--with-zlib=../zlib-${ZLIB_VERSION} \
--with-pcre \
--with-cc-opt="-O2 -static -static-libgcc" \
--without-http_charset_module \
--without-http_ssi_module \
--without-http_userid_module \
--without-http_access_module \
--without-http_auth_basic_module \
--without-http_autoindex_module \
--without-http_geo_module \
--without-http_map_module \
--without-http_split_clients_module \
--without-http_referer_module \
--without-http_proxy_module \
--without-http_fastcgi_module \
--without-http_uwsgi_module \
--without-http_scgi_module \
--without-http_memcached_module \
--without-http_empty_gif_module \
--without-http_browser_module \
--without-http_upstream_ip_hash_module \
--without-http_upstream_least_conn_module \
--without-http_upstream_keepalive_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module
sed -i "/CFLAGS/s/ \-O //g" objs/Makefile
make
make install
rm -rf "nginx-${NGINX_VERSION}"
if [[ ! -f $BUILDDIR/nginx.conf.erb ]]; then
cp $BINDIR/../conf/nginx.conf.erb $BUILDDIR/nginx.conf.erb
fi
if [[ ! -f $BUILDDIR/mime.types ]]; then
cp $BINDIR/../conf/mime.types $BUILDDIR/mime.types
fi