summaryrefslogtreecommitdiff
path: root/get-deps.sh
diff options
context:
space:
mode:
authorJames McCoy <jamessan@debian.org>2018-07-31 22:26:52 -0400
committerJames McCoy <jamessan@debian.org>2018-07-31 22:26:52 -0400
commite20a507113ff1126aeb4a97b806390ea377fe292 (patch)
tree0260b3a40387d7f994fbadaf22f1e9d3c080b09f /get-deps.sh
parentc64debffb81d2fa17e9a72af7199ccf88b3cc556 (diff)
New upstream version 1.10.2
Diffstat (limited to 'get-deps.sh')
-rwxr-xr-xget-deps.sh184
1 files changed, 184 insertions, 0 deletions
diff --git a/get-deps.sh b/get-deps.sh
new file mode 100755
index 0000000..f41d37f
--- /dev/null
+++ b/get-deps.sh
@@ -0,0 +1,184 @@
+#!/bin/sh
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+#
+# get-deps.sh -- download the dependencies useful for building Subversion
+#
+
+# If changing this file please take care to try to make your changes as
+# portable as possible. That means at a minimum only use POSIX supported
+# features and functions. However, it may be desirable to use an even
+# more narrow set of features than POSIX, e.g. Solaris /bin/sh only has
+# a subset of the POSIX shell features. If in doubt, limit yourself to
+# features already used in the file. Reviewing the history of changes
+# may be useful as well.
+
+APR_VERSION=${APR_VERSION:-"1.4.6"}
+APU_VERSION=${APU_VERSION:-"1.5.1"}
+SERF_VERSION=${SERF_VERSION:-"1.3.8"}
+ZLIB_VERSION=${ZLIB_VERSION:-"1.2.8"}
+SQLITE_VERSION=${SQLITE_VERSION:-"3.8.11.1"}
+# Used to construct the SQLite download URL.
+SQLITE_VERSION_REL_YEAR=2015
+GTEST_VERSION=${GMOCK_VERSION:-"1.7.0"}
+GMOCK_VERSION=${GMOCK_VERSION:-"1.7.0"}
+HTTPD_VERSION=${HTTPD_VERSION:-"2.4.10"}
+APR_ICONV_VERSION=${APR_ICONV_VERSION:-"1.2.1"}
+
+APR=apr-${APR_VERSION}
+APR_UTIL=apr-util-${APU_VERSION}
+SERF=serf-${SERF_VERSION}
+ZLIB=zlib-${ZLIB_VERSION}
+SQLITE_VERSION_LIST=`echo $SQLITE_VERSION | sed -e 's/\./ /g'`
+SQLITE=sqlite-amalgamation-`printf %d%02d%02d%02d $SQLITE_VERSION_LIST`
+GTEST=release-${GTEST_VERSION}
+GTEST_URL=https://github.com/google/googletest/archive
+GMOCK=release-${GMOCK_VERSION}
+GMOCK_URL=https://github.com/google/googlemock/archive
+
+HTTPD=httpd-${HTTPD_VERSION}
+APR_ICONV=apr-iconv-${APR_ICONV_VERSION}
+
+BASEDIR=`pwd`
+TEMPDIR=$BASEDIR/temp
+
+HTTP_FETCH=
+[ -z "$HTTP_FETCH" ] && type wget >/dev/null 2>&1 && HTTP_FETCH="wget -q -nc"
+[ -z "$HTTP_FETCH" ] && type curl >/dev/null 2>&1 && HTTP_FETCH="curl -sOL"
+[ -z "$HTTP_FETCH" ] && type fetch >/dev/null 2>&1 && HTTP_FETCH="fetch -q"
+
+# Need this uncommented if any of the specific versions of the ASF tarballs to
+# be downloaded are no longer available on the general mirrors.
+APACHE_MIRROR=http://archive.apache.org/dist
+
+# helpers
+usage() {
+ echo "Usage: $0"
+ echo "Usage: $0 [ apr | serf | zlib | sqlite | googlemock ] ..."
+ exit $1
+}
+
+# getters
+get_apr() {
+ cd $TEMPDIR
+ test -d $BASEDIR/apr || $HTTP_FETCH $APACHE_MIRROR/apr/$APR.tar.bz2
+ test -d $BASEDIR/apr-util || $HTTP_FETCH $APACHE_MIRROR/apr/$APR_UTIL.tar.bz2
+ cd $BASEDIR
+
+ test -d $BASEDIR/apr || bzip2 -dc $TEMPDIR/$APR.tar.bz2 | tar -xf -
+ test -d $BASEDIR/apr-util || bzip2 -dc $TEMPDIR/$APR_UTIL.tar.bz2 | tar -xf -
+
+ test -d $BASEDIR/apr || mv $APR apr
+ test -d $BASEDIR/apr-util || mv $APR_UTIL apr-util
+}
+
+get_serf() {
+ test -d $BASEDIR/serf && return
+
+ cd $TEMPDIR
+ $HTTP_FETCH https://archive.apache.org/dist/serf/$SERF.tar.bz2
+ cd $BASEDIR
+
+ bzip2 -dc $TEMPDIR/$SERF.tar.bz2 | tar -xf -
+
+ mv $SERF serf
+}
+
+get_zlib() {
+ test -d $BASEDIR/zlib && return
+
+ cd $TEMPDIR
+ $HTTP_FETCH http://sourceforge.net/projects/libpng/files/zlib/$ZLIB_VERSION/$ZLIB.tar.gz
+ cd $BASEDIR
+
+ gzip -dc $TEMPDIR/$ZLIB.tar.gz | tar -xf -
+
+ mv $ZLIB zlib
+}
+
+get_sqlite() {
+ test -d $BASEDIR/sqlite-amalgamation && return
+
+ cd $TEMPDIR
+ $HTTP_FETCH https://www.sqlite.org/$SQLITE_VERSION_REL_YEAR/$SQLITE.zip
+ cd $BASEDIR
+
+ unzip -q $TEMPDIR/$SQLITE.zip
+
+ mv $SQLITE sqlite-amalgamation
+
+}
+
+get_googlemock() {
+ test -d $BASEDIR/googlemock && return
+
+ cd $TEMPDIR
+ $HTTP_FETCH ${GTEST_URL}/${GTEST}.zip
+ unzip -q ${GTEST}.zip
+ rm -f ${GTEST}.zip
+
+ $HTTP_FETCH ${GMOCK_URL}/${GMOCK}.zip
+ unzip -q ${GMOCK}.zip
+ rm -f ${GMOCK}.zip
+
+ cd $BASEDIR
+ mkdir googlemock
+ mv $TEMPDIR/googletest-release-${GTEST_VERSION} googlemock/googletest
+ mv $TEMPDIR/googlemock-release-${GMOCK_VERSION} googlemock/googlemock
+}
+
+# main()
+get_deps() {
+ mkdir -p $TEMPDIR
+
+ for i in zlib serf sqlite-amalgamation apr apr-util gmock-fused; do
+ if [ -d $i ]; then
+ echo "Local directory '$i' already exists; the downloaded copy won't be used" >&2
+ fi
+ done
+
+ if [ $# -gt 0 ]; then
+ for target in "$@"; do
+ if [ "$target" != "deps" ]; then
+ get_$target || usage
+ else
+ usage
+ fi
+ done
+ else
+ get_apr
+ get_serf
+ get_zlib
+ get_sqlite
+
+ echo
+ echo "If you require mod_dav_svn, the recommended version of httpd is:"
+ echo " $APACHE_MIRROR/httpd/$HTTPD.tar.bz2"
+
+ echo
+ echo "If you require apr-iconv, its recommended version is:"
+ echo " $APACHE_MIRROR/apr/$APR_ICONV.tar.bz2"
+ fi
+
+ rm -rf $TEMPDIR
+}
+
+get_deps "$@"