[CalendarServer-changes] [13393] CalendarServer/trunk/bin/_build.sh
source_changes at macosforge.org
source_changes at macosforge.org
Thu May 1 17:23:42 PDT 2014
Revision: 13393
http://trac.calendarserver.org//changeset/13393
Author: wsanchez at apple.com
Date: 2014-05-01 17:23:42 -0700 (Thu, 01 May 2014)
Log Message:
-----------
Build even if virtualenv isn't installed
Modified Paths:
--------------
CalendarServer/trunk/bin/_build.sh
Modified: CalendarServer/trunk/bin/_build.sh
===================================================================
--- CalendarServer/trunk/bin/_build.sh 2014-05-01 23:51:21 UTC (rev 13392)
+++ CalendarServer/trunk/bin/_build.sh 2014-05-02 00:23:42 UTC (rev 13393)
@@ -603,8 +603,6 @@
if ! "${do_setup}"; then return 0; fi;
- cd "${wd}";
-
# Set up virtual environment
if "${force_setup}"; then
@@ -613,12 +611,15 @@
fi;
if [ ! -d "${py_virtualenv}" ]; then
+ bootstrap_virtualenv;
"${bootstrap_python}" -m virtualenv --system-site-packages "${py_virtualenv}";
fi;
+ cd "${wd}";
+
# Make sure setup got called enough to write the version file.
- "${bootstrap_python}" "${wd}/setup.py" check > /dev/null;
+ "${python}" "${wd}/setup.py" check > /dev/null;
if [ -d "${dev_home}/pip_downloads" ]; then
pip_install="pip_install_from_cache";
@@ -642,6 +643,55 @@
}
+bootstrap_virtualenv () {
+ py_ve_tools="${dev_home}/ve_tools";
+
+ if [ -d "${py_ve_tools}/lib" ]; then
+ export PYTHONPATH="${py_ve_tools}/lib:${PYTHONPATH:-}";
+ fi;
+
+ if "${bootstrap_python}" -m virtualenv > /dev/null 2>&1; then
+ return 0;
+ fi;
+
+ mkdir -p "${py_ve_tools}";
+ mkdir -p "${py_ve_tools}/lib";
+ mkdir -p "${py_ve_tools}/junk";
+
+ for pkg in \
+ pip-1.5.4 \
+ virtualenv-1.11.4 \
+ setuptools-3.4.4 \
+ ; do
+ name="${pkg%-*}";
+ version="${pkg#*-}";
+ first="$(echo "${name}" | sed 's|^\(.\).*$|\1|')";
+ url="https://pypi.python.org/packages/source/${first}/${name}/${pkg}.tar.gz";
+
+ ruler "Downloading ${pkg}";
+
+ tmp="$(mktemp -d -t ccsXXXXX)";
+
+ curl -L "${url}" | tar -C "${tmp}" -xvzf -;
+
+ cd "${tmp}/$(basename "${pkg}")";
+ PYTHONPATH="${py_ve_tools}/lib" \
+ "${bootstrap_python}" setup.py install \
+ --install-base="${py_ve_tools}" \
+ --install-lib="${py_ve_tools}/lib" \
+ --install-headers="${py_ve_tools}/junk" \
+ --install-scripts="${py_ve_tools}/junk" \
+ --install-data="${py_ve_tools}/junk" \
+ ; \
+ cd "${wd}";
+
+ rm -rf "${tmp}";
+ done;
+
+ export PYTHONPATH="${py_ve_tools}/lib:${PYTHONPATH:-}";
+}
+
+
pip_download () {
mkdir -p "${dev_home}/pip_downloads";
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140501/ed1b7fbf/attachment.html>
More information about the calendarserver-changes
mailing list