preload-hacks: Some patches to make it work.
[termux-packages] / packages / apache2 / build.sh
CommitLineData
cb296801 1TERMUX_PKG_HOMEPAGE=https://httpd.apache.org
c1bd0a1c 2TERMUX_PKG_DESCRIPTION="Apache Web Server"
ae33fc6c
FF
3TERMUX_PKG_VERSION=2.4.33
4TERMUX_PKG_SHA256=de02511859b00d17845b9abdd1f975d5ccb5d0b280c567da5bf2ad4b70846f05
c1bd0a1c 5TERMUX_PKG_SRCURL=https://www.apache.org/dist/httpd/httpd-$TERMUX_PKG_VERSION.tar.bz2
c1bd0a1c
VB
6TERMUX_PKG_DEPENDS="apr, apr-util, pcre, openssl, libcrypt, libandroid-support, libnghttp2, libexpat"
7TERMUX_PKG_CONFFILES="
8etc/apache2/httpd.conf
9etc/apache2/extra/httpd-autoindex.conf
10etc/apache2/extra/httpd-dav.conf
11etc/apache2/extra/httpd-default.conf
12etc/apache2/extra/httpd-info.conf
13etc/apache2/extra/httpd-languages.conf
14etc/apache2/extra/httpd-manual.conf
15etc/apache2/extra/httpd-mpm.conf
16etc/apache2/extra/httpd-multilang-errordoc.conf
17etc/apache2/extra/httpd-ssl.conf
18etc/apache2/extra/httpd-userdir.conf
19etc/apache2/extra/httpd-vhosts.conf
20etc/apache2/extra/proxy-html.conf
21etc/apache2/mime.types
22etc/apache2/magic
23"
24TERMUX_PKG_MAINTAINER="Vishal Biswas @vishalbiswas"
25# providing manual paths to libs because it picks up host libs on some systems
26TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
27--with-apr=$TERMUX_PREFIX
28--with-apr-util=$TERMUX_PREFIX
29--with-pcre=$TERMUX_PREFIX
30--enable-suexec
31--enable-layout=Termux
32--enable-so
33--enable-authnz-fcgi
34--enable-cache
35--enable-disk-cache
36--enable-mem-cache
37--enable-file-cache
38--enable-ssl
39--with-ssl
40--enable-deflate
41--enable-cgi
42--enable-cgid
43--enable-proxy
44--enable-proxy-connect
45--enable-proxy-http
46--enable-proxy-ftp
47--enable-dbd
48--enable-imagemap
49--enable-ident
50--enable-cern-meta
51--enable-http2
52--enable-mpms-shared=all
53--enable-modules=all
54--enable-mods-shared=all
55--disable-mods-static
131c6924 56--disable-md
c1bd0a1c
VB
57--with-port=8080
58--with-sslport=8443
59--enable-unixd
d12000be 60--without-libxml2
c1bd0a1c
VB
61--libexecdir=$TERMUX_PREFIX/libexec/apache2
62ac_cv_func_getpwnam=yes
63ac_cv_have_threadsafe_pollset=no
64"
65TERMUX_PKG_BUILD_IN_SRC=true
66TERMUX_PKG_RM_AFTER_INSTALL="share/apache2/manual etc/apache2/original share/man/man8/suexec.8 libexec/httpd.exp"
67TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="share/apache2/build"
68TERMUX_PKG_EXTRA_MAKE_ARGS="-s"
69
70termux_step_pre_configure () {
71 # remove old files
72 rm -rf "$TERMUX_PREFIX"/{libexec,share,etc}/apache2
73 rm -rf "$TERMUX_PREFIX"/lib/cgi-bin
74
75 if [ $TERMUX_ARCH_BITS -eq 32 ]; then
76 export ap_cv_void_ptr_lt_long=4
77 else
78 export ap_cv_void_ptr_lt_long=8
79 fi
80
81 LDFLAGS="$LDFLAGS -llog -lapr-1 -laprutil-1"
82
83 # use custom layout
84 cat $TERMUX_PKG_BUILDER_DIR/Termux.layout > $TERMUX_PKG_SRCDIR/config.layout
85}
86
87termux_step_post_configure () {
88 # thanks to @JetBalsa
89 gcc -O2 -DCROSS_COMPILE $TERMUX_PKG_SRCDIR/server/gen_test_char.c -o $TERMUX_PKG_BUILDDIR/server/gen_test_char
90 touch -d "1 hour" $TERMUX_PKG_BUILDDIR/server/gen_test_char
91}
92
93termux_step_post_make_install () {
94 sed -e "s#/$TERMUX_PREFIX/libexec/apache2/#modules/#" \
95 -e 's|#\(LoadModule negotiation_module \)|\1|' \
96 -e 's|#\(LoadModule include_module \)|\1|' \
97 -e 's|#\(LoadModule userdir_module \)|\1|' \
98 -e 's|#\(LoadModule slotmem_shm_module \)|\1|' \
99 -e 's|#\(Include extra/httpd-multilang-errordoc.conf\)|\1|' \
100 -e 's|#\(Include extra/httpd-autoindex.conf\)|\1|' \
101 -e 's|#\(Include extra/httpd-languages.conf\)|\1|' \
102 -e 's|#\(Include extra/httpd-userdir.conf\)|\1|' \
103 -e 's|#\(Include extra/httpd-default.conf\)|\1|' \
104 -e 's|#\(Include extra/httpd-mpm.conf\)|\1|' \
105 -e 's|User daemon|#User daemon|' \
106 -e 's|Group daemon|#Group daemon|' \
107 -i "$TERMUX_PREFIX/etc/apache2/httpd.conf"
108}
109
110termux_step_post_massage () {
111 # sometimes it creates a $TERMUX_PREFIX/bin/sh -> /bin/sh
112 rm ${TERMUX_PKG_MASSAGEDIR}${TERMUX_PREFIX}/bin/sh || true
113
114 mkdir -p ${TERMUX_PKG_MASSAGEDIR}${TERMUX_PREFIX}/var/run/apache2
115 mkdir -p ${TERMUX_PKG_MASSAGEDIR}${TERMUX_PREFIX}/var/log/apache2
116}