apache += --enable-module=rewrite
[nethome.git] / bin / vellumweb-build
1 #! /bin/sh
2 #
3 # $Id$
4
5 arch=$HOME/arch
6 prefix=/usr/local/apache
7 csacek_templatedir=$prefix/htdocs/csacek
8 pkgs="
9         httpd=apache_1.3.24
10         openssl=openssl-0.9.6c
11         modssl=mod_ssl-2.8.8-1.3.24
12         freetds=freetds-0.53
13         php=php-4.2.0
14         csacek=csacek-2.1.9
15         "
16 export CFLAGS="-ggdb3"
17
18 #-----------------------------------------------------------------------------
19
20 do_failed=true
21 trap 'if $do_failed;then echo "FAILED FAILED FAILED!";fi' EXIT
22
23 set -e
24 eval "$pkgs"
25 echo "$pkgs"|sed -n 's/=/ /p'|while read -r pkg pkgb;do
26           if test -f $arch/$pkgb.tar.gz ;then pkgarchext=.tar.gz ;z=z
27         elif test -f $arch/$pkgb.tgz    ;then pkgarchext=.tgz    ;z=z
28         elif test -f $arch/$pkgb.tar.bz2;then pkgarchext=.tar.bz2;z=j
29         else echo "Missing archive \"$pkgb*\"!";exit 1;fi
30         rm -rf $pkg;echo -n .
31         tar x${z}f $arch/$pkgb$pkgarchext;echo -n .
32 done;echo
33
34 uudecode -o - <<EOF | gzip -dc | (cd $csacek;patch -Ep1)
35 begin 644 cstools.c-2.1.9-pc2degree.diff.gz
36 M'XL("-TKQ3P"\`V-S=&]O;',N8RTR+C\$N.2UP8S)D96=R964N9&EF9@#3U=55
37 M2"Y.3\$[-UC72,]2SU\$\N+LG/SRG62];-+\I,YPPNS5-P2TU24#!6,#2R,C2V
38 M,C%4,#(P,.+2UM;&H9\$SI#15P;&@2,\$(J,?0RMC4RL0\$HL?!04'7T-1,QUQ!
39 M&T(Y.'\`I\`(&^EH)W8JZ"ECZ8IY&<GU=<HE":5YR9GI>:HI"<D5BDH*6IH-3O
40 MZ-CGZ.S<T.HRP=6UL]NSRV>.W]*IR_UGSEL].SBX+639]-!9<R=%12U(3&Q)
41 M3\$YN;TYI2DWM6)C9F].3MV31Y/PI*U>M*"Z>7S)M<6GCC(E55=_T8I1BE'35
42 MU14JU-758Y3R@Y5T8.X)<%;P22S)S#,"N4H7GZNV;CO6MZ2_8<VEBQ-67-Y^
43 M[?K\$N5,?7WWPJ&OFGQ?/=DR????>R]>SWB[KW;N@^7C+TK;V^5<N-*WLO+&P
44 M9U+'M"=/%TWNGO+WU?.U,^:\:UW\N_'-\M7[H*Y:M_[_]?=7KDY9^!7H*.T!
45 M=\$#^5T2H>/M[ZEHH.\`<3C*J'CC\^\`J/J\1.7[ZZN3U^^]O1YX_?N_0?_MY^>
46 M?0X._A+RZFOHBY^_HJ(.)B9>!\$;5X2,IUU-3CY[,/)US)N_<^0OY9R\=NUQ<
47 =?*7DU-72\$S=O557IXXDJ7T=GD'L\`9^@I(,H"\`\`\`\`
48 \`
49 end
50 EOF
51
52 set -ex
53 (
54
55 pushd $httpd
56         ./configure --prefix=$prefix
57 popd
58
59 #pushd $modperl
60 #       perl Makefile.PL APACHE_SRC=../$httpd DO_HTTPD=1 EVERYTHING=1
61 #       make
62 #       make install_perl
63 #popd
64
65 pushd $openssl
66         rm -rf /usr/local/ssl*
67         ./config
68         make
69         make install
70 popd
71
72 pushd $modssl
73         ./configure --with-apache=../$httpd --with-ssl=../$openssl \
74                 --prefix=$prefix \
75                 --with-crt=/etc/httpd/conf/ssl.crt/server.crt \
76                 --with-key=/etc/httpd/conf/ssl.key/server.key
77 popd
78
79 pushd $freetds
80         rm -rf /usr/local/freetds*
81         ./configure --prefix=/usr/local/freetds \
82                 --with-tdsver=4.2
83         make
84         make install
85 popd
86
87 pushd $php
88         ./configure --with-mysql=/usr/local/mysql --with-apache=../$httpd \
89                 --enable-track-vars \
90                 --enable-memory-limit=yes \
91                 --enable-debug=no \
92                 --with-sybase=/usr/local/freetds
93         make
94         make install
95 popd
96
97 pushd $csacek
98         ./configure --with-target=Apache \
99                 --with-templatedir=$csacek_templatedir
100         make mod_csacek.c
101         cp -p mod_csacek.c cs*.h ../$httpd/src/modules/extra/
102         rm -rf $csacek_templatedir
103         cp -a templates/ $csacek_templatedir
104 popd
105
106 pushd $httpd
107         OPTIM="$CFLAGS" SSL_BASE="$PWD/../$openssl" ./configure --prefix=$prefix \
108                         --enable-module=ssl \
109                         --activate-module=src/modules/php4/libphp4.a \
110                         --activate-module=src/modules/extra/mod_csacek.c \
111                         --enable-module=so \
112                         --enable-module=headers \
113                         --enable-module=rewrite
114         make
115         make install
116 popd
117
118 echo "success."
119 ) 2>&1|tee errs
120 do_failed=false