+mod_perl-1.26
[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         php=php-4.2.0
13         modperl=mod_perl-1.26
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 uudecode -o - <<EOF | gzip -dc | (cd $csacek;patch -Ep1)
53 begin 600 guess.c-2.1.9-ignoreallcharsets.diff.gz
54 M'XL(")B\$S#P"\`V=U97-S+F,M,BXQ+CDM:6=N;W)E86QL8VAA<G-E=',N9&EF
55 M9@!MD%UKPC\`4AJ_37_'2@1]-HTT[F5:\$CL%@('A1[[8A-48-E;8TZ78Q]M\7
56 MH]M@["KG')XW>4X88Q"Z\$+)D\8B/9N-#)[4>"5:WZD#RKL*CW\`()>)SR)+WE
57 MB*,H]BBE_\;(NI.X;UK\$-I&DD[N43R^)+\`/C41)R#NK.!%GF@1#R5IQLB"Z@
58 M3:N;:N#Z\$#Y>C#^<.T27JFGD#HX1?Z!YZ#"/WJ@](L>/\`]C:'"5,7<H*2L,/
59 M_!"=EK:NV70ZF;\$8P=C1%AW\O+\`\`1Z\'=_]S]'H>](/^\$!\.)75G9"6LR\$.^
60 M7JV6^>8I7RT+HZKX8DJVK2S*2_UIE62U4WLK=^Y%O9,V*;2IZY/>O!^5.)YG
61 7W\M<':X[_W[+58V"S[TO%<%CGK\`!\`\`\`\`
62 \`
63 end
64 EOF
65
66 set -ex
67 (
68
69 pushd $httpd
70         ./configure --prefix=$prefix
71 popd
72
73 pushd $openssl
74         rm -rf /usr/local/ssl*
75         ./config
76         make
77         make install
78 popd
79
80 pushd $modssl
81         ./configure --with-apache=../$httpd --with-ssl=../$openssl \
82                 --prefix=$prefix \
83                 --with-crt=/etc/httpd/conf/ssl.crt/server.crt \
84                 --with-key=/etc/httpd/conf/ssl.key/server.key
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         make
93         make install
94 popd
95
96 pushd $modperl
97         perl Makefile.PL APACHE_SRC=../$httpd DO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 \
98                         PERL_DEBUG=1
99         make
100         make install
101 popd
102
103 pushd $csacek
104         ./configure --with-target=Apache \
105                 --with-templatedir=$csacek_templatedir
106         make mod_csacek.c
107         cp -p mod_csacek.c cs*.h ../$httpd/src/modules/extra/
108         rm -rf $csacek_templatedir
109         cp -a templates/ $csacek_templatedir
110 popd
111
112 pushd $httpd
113         OPTIM="$CFLAGS" SSL_BASE="$PWD/../$openssl" ./configure --prefix=$prefix \
114                         --enable-module=ssl \
115                         --activate-module=src/modules/php4/libphp4.a \
116                         --activate-module=src/modules/perl/libperl.a \
117                                         --disable-rule=EXPAT \
118                         --activate-module=src/modules/extra/mod_csacek.c \
119                         --enable-module=so \
120                         --enable-module=headers \
121                         --enable-module=rewrite
122         make
123         make install
124 popd
125
126 set +x
127 echo "success."
128 ) 2>&1|tee errs
129 do_failed=false