4 # Licensed to the Apache Software Foundation (ASF) under one
5 # or more contributor license agreements. See the NOTICE file
6 # distributed with this work for additional information
7 # regarding copyright ownership. The ASF licenses this file
8 # to you under the Apache License, Version 2.0 (the
9 # "License"); you may not use this file except in compliance
10 # with the License. You may obtain a copy of the License at
12 # http://www.apache.org/licenses/LICENSE-2.0
14 # Unless required by applicable law or agreed to in writing,
15 # software distributed under the License is distributed on an
16 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 # KIND, either express or implied. See the License for the
18 # specific language governing permissions and limitations
23 # get-deps.sh -- download the dependencies useful for building Subversion
26 # If changing this file please take care to try to make your changes as
27 # portable as possible. That means at a minimum only use POSIX supported
28 # features and functions. However, it may be desirable to use an even
29 # more narrow set of features than POSIX, e.g. Solaris /bin/sh only has
30 # a subset of the POSIX shell features. If in doubt, limit yourself to
31 # features already used in the file. Reviewing the history of changes
32 # may be useful as well.
34 APR_VERSION=${APR_VERSION:-"1.5.0"}
35 APU_VERSION=${APU_VERSION:-"1.5.1"}
36 PY3C_VERSION=${PY3C_VERSION:='1.1'}
37 SERF_VERSION=${SERF_VERSION:-"1.3.8"}
38 ZLIB_VERSION=${ZLIB_VERSION:-"1.2.8"}
39 SQLITE_VERSION=${SQLITE_VERSION:-"3.8.11.1"}
40 # Used to construct the SQLite download URL.
41 SQLITE_VERSION_REL_YEAR=2015
42 HTTPD_VERSION=${HTTPD_VERSION:-"2.4.10"}
43 APR_ICONV_VERSION=${APR_ICONV_VERSION:-"1.2.1"}
45 APR=apr-${APR_VERSION}
46 APR_UTIL=apr-util-${APU_VERSION}
47 PY3C=py3c-${PY3C_VERSION}
48 SERF=serf-${SERF_VERSION}
49 ZLIB=zlib-${ZLIB_VERSION}
50 SQLITE_VERSION_LIST=`echo $SQLITE_VERSION | sed -e 's/\./ /g'`
51 SQLITE=sqlite-amalgamation-`printf %d%02d%02d%02d $SQLITE_VERSION_LIST`
53 HTTPD=httpd-${HTTPD_VERSION}
54 APR_ICONV=apr-iconv-${APR_ICONV_VERSION}
60 [ -z "$HTTP_FETCH" ] && type wget >/dev/null 2>&1 && HTTP_FETCH="wget -q -nc"
61 [ -z "$HTTP_FETCH" ] && type curl >/dev/null 2>&1 && HTTP_FETCH="curl -sOL"
62 [ -z "$HTTP_FETCH" ] && type fetch >/dev/null 2>&1 && HTTP_FETCH="fetch -q"
64 # Need this uncommented if any of the specific versions of the ASF tarballs to
65 # be downloaded are no longer available on the general mirrors.
66 APACHE_MIRROR=https://archive.apache.org/dist
71 echo "Usage: $0 [ apr | py3c | serf | zlib | sqlite ] ..."
78 test -d $BASEDIR/apr || $HTTP_FETCH $APACHE_MIRROR/apr/$APR.tar.bz2
79 test -d $BASEDIR/apr-util || $HTTP_FETCH $APACHE_MIRROR/apr/$APR_UTIL.tar.bz2
82 test -d $BASEDIR/apr || bzip2 -dc $TEMPDIR/$APR.tar.bz2 | tar -xf -
83 test -d $BASEDIR/apr-util || bzip2 -dc $TEMPDIR/$APR_UTIL.tar.bz2 | tar -xf -
85 test -d $BASEDIR/apr || mv $APR apr
86 test -d $BASEDIR/apr-util || mv $APR_UTIL apr-util
90 test -d $BASEDIR/py3c && return
91 py3cdist=v${PY3C_VERSION}.tar.gz
94 $HTTP_FETCH https://github.com/encukou/py3c/archive/${py3cdist}
97 gzip -dc $TEMPDIR/${py3cdist} | tar -xf -
103 test -d $BASEDIR/serf && return
106 $HTTP_FETCH https://archive.apache.org/dist/serf/$SERF.tar.bz2
109 bzip2 -dc $TEMPDIR/$SERF.tar.bz2 | tar -xf -
115 test -d $BASEDIR/zlib && return
118 $HTTP_FETCH https://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VERSION/$ZLIB.tar.gz
121 gzip -dc $TEMPDIR/$ZLIB.tar.gz | tar -xf -
127 test -d $BASEDIR/sqlite-amalgamation && return
130 $HTTP_FETCH https://www.sqlite.org/$SQLITE_VERSION_REL_YEAR/$SQLITE.zip
133 unzip -q $TEMPDIR/$SQLITE.zip
135 mv $SQLITE sqlite-amalgamation
143 for i in zlib serf sqlite-amalgamation py3c apr apr-util; do
145 echo "Local directory '$i' already exists; the downloaded copy won't be used" >&2
149 if [ $# -gt 0 ]; then
150 for target in "$@"; do
151 if [ "$target" != "deps" ]; then
165 echo "If you require mod_dav_svn, the recommended version of httpd is:"
166 echo " $APACHE_MIRROR/httpd/$HTTPD.tar.bz2"
169 echo "If you require apr-iconv, its recommended version is:"
170 echo " $APACHE_MIRROR/apr/$APR_ICONV.tar.bz2"