[CalendarServer-changes] [13255] CalendarServer/trunk/support/_cache_deps

source_changes at macosforge.org source_changes at macosforge.org
Thu Apr 10 17:04:37 PDT 2014


Revision: 13255
          http://trac.calendarserver.org//changeset/13255
Author:   wsanchez at apple.com
Date:     2014-04-10 17:04:37 -0700 (Thu, 10 Apr 2014)
Log Message:
-----------
Catch up to build system.

Modified Paths:
--------------
    CalendarServer/trunk/support/_cache_deps

Modified: CalendarServer/trunk/support/_cache_deps
===================================================================
--- CalendarServer/trunk/support/_cache_deps	2014-04-10 23:32:58 UTC (rev 13254)
+++ CalendarServer/trunk/support/_cache_deps	2014-04-11 00:04:37 UTC (rev 13255)
@@ -24,26 +24,34 @@
 
 . "${wd}/bin/_build.sh";
 
-do_setup="false";
+#
+# It's entirely ridiculous that we have to *build* our C dependencies in order
+# to simply download our Python dependencies, but in order to calculate
+# dependencies, setuptools needs to basically run "setup.py egg_info", and
+# some packages require the C dependencies in order to do this, and several
+# even build stuff in this case.
+#
+# So the caclulation work here is enormous when it should be rather simple.
+#
+# Then, of course, we throw most of that work away, because we don't want build
+# products here, just the source files.
+#
+# Oy.
+#
 
-develop > /dev/null;
+init_build;
+c_dependencies;
 
-rm -rf "${wd}/requirements/cache";
-mkdir "${wd}/requirements/cache";
+requirements="${wd}/requirements.txt";
+extra_features="$("${python}" -c 'import setup; print ",".join(sorted(setup.extras_requirements.keys()))' | sed 's|Oracle,||')";
+cs_repos="svn+http://svn.calendarserver.org/repository/calendarserver";
 
-find "${wd}/requirements" -type f -name "py_*.txt" |\
-  while read requirements; do
-    case "${requirements}" in
-      */py_opt_OpenDirectory.txt) download=false; ;;
-      */py_opt_Oracle.txt) download=false; ;;
-      *) download=true; ;;
-    esac;
-
-    if "${download}"; then
-      echo "Downloading requirements from: ${requirements}";
-
-      "${python}" -m pip install               \
-        --download "${wd}/requirements/cache"  \
-        --requirement "${requirements}";
-    fi;
-  done;
+ruler "Downloading Python requirements for .[${extra_features}]";
+echo "";
+pip_download \
+  --allow-unverified cx-Oracle \
+  --editable="${cs_repos}/twext/trunk#egg=twextpy" \
+  --editable="${cs_repos}/PyKerberos/trunk#egg=kerberos" \
+  --editable="${cs_repos}/PyCalendar/trunk#egg=pycalendar" \
+  --editable=".[${extra_features}]" \
+  ;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140410/62ccf42a/attachment.html>


More information about the calendarserver-changes mailing list