summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: fd74400017ab940e4f802aa9aa8c62a0b6748714 (plain)
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
# Maintainer: James An <james@jamesan.ca>
# Contributor: Daichi Shinozaki <dseg@shield.jp>
# Contributor: Jean-Sébastien Ney <jeansebastien.ney@gmail.com>
# Contributor: James Cleveland <jc@blackflags.co.uk>
# Contributor: Eimantas Bunevičius <eimantaster@gmail.com>

# Based on the AUR package @ https://aur.archlinux.org/openresty.git.

pkgname=openresty-git
_pkgname=${pkgname%-git}
_cfgdir=/opt/$_pkgname/nginx/conf
_tmpdir=/var/lib/$_pkgname
pkgver=1.11.2.2.r32.g78af48d
_pkgver=1
pkgrel=1
pkgdesc="A Fast and Scalable Web Platform by Extending NGINX with Lua"
arch=('i686' 'x86_64')
url="http://openresty.org/"
license=('BSD')
depends=('perl>=5.6.1' 'readline' 'pcre' 'openssl')
makedepends=('dos2unix' 'git' 'mercurial')
provides=("$_pkgname=$pkgver")
conflicts=("$_pkgname")
install=$_pkgname.install
source=("$_pkgname"::"git+https://github.com/$_pkgname/$_pkgname.git"
        service
        $_pkgname.logrotate
        $_pkgname.install
        openssl-1.1.0.patch)
noextract=()
sha256sums=('SKIP'
            'ec55ac7da98f5f5ec54d096c5f79b656edec0ebca835b6b9f1d20fb7be7119c5'
            '613b0ed3fe4b5ee505ddb5122ee41604f464a5049be81c97601ee93970763a23'
            'f071e0fd8d0d588f03fcc7db6f3cb3f7ea1b870d3416a0bde142d9aeb839d0f6'
            '30fc7d2896dfe7d922964fd159b756a81b1f853a6b29cb7786e8acbef8c647e4')
backup=(${_cfgdir:1}/fastcgi.conf
        ${_cfgdir:1}/fastcgi_params
        ${_cfgdir:1}/koi-win
        ${_cfgdir:1}/koi-utf
        ${_cfgdir:1}/mime.types
        ${_cfgdir:1}/nginx.conf
        ${_cfgdir:1}/scgi_params
        ${_cfgdir:1}/uwsgi_params
        ${_cfgdir:1}/win-utf
        etc/logrotate.d/openresty)

pkgver() {
  cd "$_pkgname"
  (
    set -o pipefail
    git describe --long --tag | sed -r 's/^v//;s/([^-]*-g)/r\1/;s/-/./g' ||
    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
  )
  _pkgver=$(./util/ver)
}

prepare() {
  cd "$_pkgname"
  echo $_pkgver

  patch -p1 -i ../openssl-1.1.0.patch
  make
}

build() {
  cd "$srcdir/$_pkgname"
  echo $_pkgver

  cd $_pkgname-$(./util/ver)

  ./configure \
    --prefix=/opt/openresty \
    --conf-path=$_cfgdir/nginx.conf \
    --user=http --group=http \
    --with-file-aio \
    --with-http_dav_module \
    --with-http_gzip_static_module \
    --with-http_realip_module \
    --with-http_ssl_module \
    --with-http_stub_status_module \
    --with-imap \
    --with-imap_ssl_module \
    --with-ipv6 \
    --with-luajit \
    --with-pcre-jit \
    --with-http_v2_module \
    --with-stream \
    --with-stream_ssl_module \
    --with-http_iconv_module \
    # --without-http_echo_module         \ # disable ngx_http_echo_module
    # --without-http_xss_module          \ # disable ngx_http_xss_module
    # --without-http_coolkit_module      \ # disable ngx_http_coolkit_module
    # --without-http_set_misc_module     \ # disable ngx_http_set_misc_module
    # --without-http_form_input_module   \ # disable ngx_http_form_input_module
    # --without-http_encrypted_session_module \
    #                                    \ # disable ngx_http_encrypted_session_module
    # --without-http_srcache_module      \ # disable ngx_http_srcache_module
    # --without-http_lua_module          \ # disable ngx_http_lua_module
    # --without-http_headers_more_module \ # disable ngx_http_headers_more_module
    # --without-http_array_var_module    \ # disable ngx_http_array_var_module
    # --without-http_memc_module         \ # disable ngx_http_memc_module
    # --without-http_redis2_module       \ # disable ngx_http_redis2_module
    # --without-http_redis_module        \ # disable ngx_http_redis_module
    # --without-http_auth_request_module \ # disable ngx_http_auth_request_module
    # --without-http_rds_json_module     \ # disable ngx_http_rds_json_module
    # --without-http_rds_csv_module      \ # disable ngx_http_rds_csv_module
    # --without-ngx_devel_kit_module     \ # disable ngx_devel_kit_module
    # --without-http_ssl_module          \ # disable ngx_http_ssl_module
    # --with-http_iconv_module           \ # enable ngx_http_iconv_module
    # --with-http_drizzle_module         \ # enable ngx_http_drizzle_module
    # --with-http_postgres_module        \ # enable ngx_http_postgres_module
    # --without-lua_cjson                \ # disable the lua-cjson library
    # --without-lua_redis_parser         \ # disable the lua-redis-parser library
    # --without-lua_rds_parser           \ # disable the lua-rds-parser library
    # --without-lua_resty_dns            \ # disable the lua-resty-dns library
    # --without-lua_resty_memcached      \ # disable the lua-resty-memcached library
    # --without-lua_resty_redis          \ # disable the lua-resty-redis library
    # --without-lua_resty_mysql          \ # disable the lua-resty-mysql library
    # --without-lua_resty_upload         \ # disable the lua-resty-upload library
    # --without-lua_resty_string         \ # disable the lua-resty-string library
    # --without-lua51                    \ # disable the bundled Lua 5.1 interpreter
    # --with-lua51=PATH                  \ # specify the external installation of Lua 5.1 by PATH
    # --with-luajit                      \ # enable and build LuaJIT 2.0
    # --with-luajit=PATH                 \ # use the external LuaJIT 2.0 installation specified by PATH
    # --with-luajit-xcflags=FLAGS        \ # Specify extra C compiler flags for LuaJIT 2.0
    # --with-libdrizzle=DIR              \ # specify the libdrizzle 1.0 (or drizzle) installation prefix
    # --with-libpq=DIR                   \ # specify the libpq (or postgresql) installation prefix
    # --with-pg_config=PATH              \ # specify the path of the pg_config utility
    # \ # Options directly inherited from nginx
    # --sbin-path=PATH                   \ # set nginx binary pathname
    # --conf-path=PATH                   \ # set nginx.conf pathname
    # --error-log-path=PATH              \ # set error log pathname
    # --pid-path=PATH                    \ # set nginx.pid pathname
    # --lock-path=PATH                   \ # set nginx.lock pathname
    # --tapset-prefix=PATH               \ # set systemtap tapset directory prefix
    # --stap-nginx-path=PATH             \ # set stap-nginx pathname
    # --user=USER                        \ # set non-privileged user for
    #                                    \ # worker processes
    # --group=GROUP                      \ # set non-privileged group for
    #                                    \ # worker processes
    # --builddir=DIR                     \ # set the build directory
    # --with-rtsig_module                \ # enable rtsig module
    # --with-select_module               \ # enable select module
    # --without-select_module            \ # disable select module
    # --with-poll_module                 \ # enable poll module
    # --without-poll_module              \ # disable poll module
    # --with-file-aio                    \ # enable file aio support
    # --with-ipv6                        \ # enable ipv6 support
    # --with-http_realip_module          \ # enable ngx_http_realip_module
    # --with-http_addition_module        \ # enable ngx_http_addition_module
    # --with-http_xslt_module            \ # enable ngx_http_xslt_module
    # --with-http_image_filter_module    \ # enable ngx_http_image_filter_module
    # --with-http_geoip_module           \ # enable ngx_http_geoip_module
    # --with-http_sub_module             \ # enable ngx_http_sub_module
    # --with-http_dav_module             \ # enable ngx_http_dav_module
    # --with-http_flv_module             \ # enable ngx_http_flv_module
    # --with-http_gzip_static_module     \ # enable ngx_http_gzip_static_module
    # --with-http_random_index_module    \ # enable ngx_http_random_index_module
    # --with-http_secure_link_module     \ # enable ngx_http_secure_link_module
    # --with-http_degradation_module     \ # enable ngx_http_degradation_module
    # --with-http_stub_status_module     \ # enable ngx_http_stub_status_module
    # --without-http_charset_module      \ # disable ngx_http_charset_module
    # --without-http_gzip_module         \ # disable ngx_http_gzip_module
    # --without-http_ssi_module          \ # disable ngx_http_ssi_module
    # --without-http_userid_module       \ # disable ngx_http_userid_module
    # --without-http_access_module       \ # disable ngx_http_access_module
    # --without-http_auth_basic_module   \ # disable ngx_http_auth_basic_module
    # --without-http_autoindex_module    \ # disable ngx_http_autoindex_module
    # --without-http_geo_module          \ # disable ngx_http_geo_module
    # --without-http_map_module          \ # disable ngx_http_map_module
    # --without-http_split_clients_module \ 
    #                                    \ # disable ngx_http_split_clients_module
    # --without-http_referer_module      \ # disable ngx_http_referer_module
    # --without-http_rewrite_module      \ # disable ngx_http_rewrite_module
    # --without-http_proxy_module        \ # disable ngx_http_proxy_module
    # --without-http_fastcgi_module      \ # disable ngx_http_fastcgi_module
    # --without-http_uwsgi_module        \ # disable ngx_http_uwsgi_module
    # --without-http_scgi_module         \ # disable ngx_http_scgi_module
    # --without-http_memcached_module    \ # disable ngx_http_memcached_module
    # --without-http_limit_zone_module   \ # disable ngx_http_limit_zone_module
    # --without-http_limit_req_module    \ # disable ngx_http_limit_req_module
    # --without-http_empty_gif_module    \ # disable ngx_http_empty_gif_module
    # --without-http_browser_module      \ # disable ngx_http_browser_module
    # --without-http_upstream_ip_hash_module \
    #                                    \ # disable ngx_http_upstream_ip_hash_module
    # --with-http_perl_module            \ # enable ngx_http_perl_module
    # --with-perl_modules_path=PATH      \ # set path to the perl modules
    # --with-perl=PATH                   \ # set path to the perl binary
    # --http-log-path=PATH               \ # set path to the http access log
    # --http-client-body-temp-path=PATH  \ # set path to the http client request body
    #                                    \ # temporary files
    # --http-proxy-temp-path=PATH        \ # set path to the http proxy temporary files
    # --http-fastcgi-temp-path=PATH      \ # set path to the http fastcgi temporary
    #                                    \ # files
    # --http-uwsgi-temp-path=PATH        \ # set path to the http uwsgi temporary files
    # --http-scgi-temp-path=PATH         \ # set path to the http scgi temporary files
    # --without-http                     \ # disable HTTP server
    # --without-http-cache               \ # disable HTTP cache
    # --with-mail                        \ # enable POP3/IMAP4/SMTP proxy module
    # --with-mail_ssl_module             \ # enable ngx_mail_ssl_module
    # --without-mail_pop3_module         \ # disable ngx_mail_pop3_module
    # --without-mail_imap_module         \ # disable ngx_mail_imap_module
    # --without-mail_smtp_module         \ # disable ngx_mail_smtp_module
    # --with-google_perftools_module     \ # enable ngx_google_perftools_module
    # --with-cpp_test_module             \ # enable ngx_cpp_test_module
    # --add-module=PATH                  \ # enable an external module
    # --with-cc=PATH                     \ # set path to C compiler
    # --with-cpp=PATH                    \ # set path to C preprocessor
    # --with-cc-opt=OPTIONS              \ # set additional options for C compiler
    # --with-ld-opt=OPTIONS              \ # set additional options for linker
    # --with-cpu-opt=CPU                 \ # build for specified CPU, the valid values:
    #                                    \ # pentium, pentiumpro, pentium3, pentium4,
    #                                    \ # athlon, opteron, sparc32, sparc64, ppc64
    # --with-make=PATH                   \ # specify the default make utility to be used
    # --without-pcre                     \ # disable PCRE library usage
    # --with-pcre                        \ # force PCRE library usage
    # --with-pcre=DIR                    \ # set path to PCRE library sources
    # --with-pcre-opt=OPTIONS            \ # set additional options for PCRE building
    # --with-pcre-jit                    \ # build PCRE with JIT compilation support
    # --with-md5=DIR                     \ # set path to md5 library sources
    # --with-md5-opt=OPTIONS             \ # set additional options for md5 building
    # --with-md5-asm                     \ # use md5 assembler sources
    # --with-sha1=DIR                    \ # set path to sha1 library sources
    # --with-sha1-opt=OPTIONS            \ # set additional options for sha1 building
    # --with-sha1-asm                    \ # use sha1 assembler sources
    # --with-zlib=DIR                    \ # set path to zlib library sources
    # --with-zlib-opt=OPTIONS            \ # set additional options for zlib building
    # --with-zlib-asm=CPU                \ # use zlib assembler sources optimized
    #                                    \ # for specified CPU, the valid values:
    #                                    \ # pentium, pentiumpro
    # --with-libatomic                   \ # force libatomic_ops library usage
    # --with-libatomic=DIR               \ # set path to libatomic_ops library sources
    # --with-openssl=DIR                 \ # set path to OpenSSL library sources
    # --with-openssl-opt=OPTIONS         \ # set additional options for OpenSSL building
    # --dry-run                          \ # dry running the configure, for testing only
    # --platform=PLATFORM                \ # forcibly specify a platform name, for testing only

  make
}

package() {
  cd "$srcdir/$_pkgname"
  cd $_pkgname-$(./util/ver)

  make DESTDIR="$pkgdir" install
  install -Dm644 COPYRIGHT $pkgdir/usr/share/licenses/$_pkgname/LICENSE
  install -d "$pkgdir"/etc/logrotate.d
  install -m644 "$srcdir"/openresty.logrotate "$pkgdir"/etc/logrotate.d/openresty
  install -d "$pkgdir"/$_tmpdir
  install -Dm644 "$srcdir/service" "$pkgdir/usr/lib/systemd/system/openresty.service"
  rm -rf "$pkgdir/var/run"
  if ! grep -i "/opt/openresty/bin/:/opt/openresty/nginx/sbin/" /etc/bash.bashrc > /dev/null
  	then echo -e "export PATH=\$PATH:/opt/openresty/bin/:/opt/openresty/nginx/sbin/ #Automatically added by openresty package\n" >> ~/.bashrc;
  fi
}
# vim:set ts=2 sw=2 et: