[CalendarServer-changes] [13187] CalendarServer/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon Apr 7 19:04:59 PDT 2014
Revision: 13187
http://trac.calendarserver.org//changeset/13187
Author: wsanchez at apple.com
Date: 2014-04-07 19:04:59 -0700 (Mon, 07 Apr 2014)
Log Message:
-----------
Don't parse requirements in setup.py
Modified Paths:
--------------
CalendarServer/trunk/bin/_build.sh
CalendarServer/trunk/setup.py
Added Paths:
-----------
CalendarServer/trunk/requirements.txt
Removed Paths:
-------------
CalendarServer/trunk/requirements/
Modified: CalendarServer/trunk/bin/_build.sh
===================================================================
--- CalendarServer/trunk/bin/_build.sh 2014-04-08 02:04:12 UTC (rev 13186)
+++ CalendarServer/trunk/bin/_build.sh 2014-04-08 02:04:59 UTC (rev 13187)
@@ -620,26 +620,21 @@
if [ -d "${wd}/requirements/cache" ]; then
pip_install="pip_install_from_cache";
else
- pip_install="pip_install";
+ pip_install="pip_download_and_install";
fi;
- for requirements in "${wd}/requirements/py_"*".txt"; do
+ local requirements="${wd}/requirements.txt";
- ruler "Preparing Python requirements: ${requirements}";
- echo "";
+ ruler "Preparing Python requirements";
+ echo "";
+ "${pip_install}" "--requirement=${requirements}";
- if ! "${pip_install}" "${requirements}"; then
- err=$?;
- echo "Unable to set up Python requirements: ${requirements}";
- if [ "${requirements#${wd}/requirements/py_opt_}" != "${requirements}" ]; then
- echo "Requirements ${requirements} are optional; continuing.";
- else
- echo "";
- echo "pip log: ${dev_home}/pip.log";
- return 1;
- fi;
+ for option in $("${python}" -c 'import setup; print "\n".join(setup.extras_requirements.keys())'); do
+ ruler "Preparing Python requirements for optional feature: ${option}";
+ echo "";
+ if ! "${pip_install}" "--editable=.[${option}]"; then
+ echo "Feature ${option} is optional; continuing.";
fi;
-
done;
echo "";
@@ -647,21 +642,21 @@
pip_install_from_cache () {
- local requirements="$1"; shift;
+ local require="$1"; shift;
"${python}" -m pip install \
- --requirement="${requirements}" \
- --find-links "${wd}/requirements/cache" \
+ "${require}" \
+ --find-links="${wd}/requirements/cache" \
--no-index \
--log="${dev_home}/pip.log";
}
-pip_install () {
- local requirements="$1"; shift;
+pip_download_and_install () {
+ local require="$1"; shift;
"${python}" -m pip install \
- --requirement="${requirements}" \
+ "${require}" \
--download-cache="${dev_home}/pip_cache" \
--log="${dev_home}/pip.log";
}
Added: CalendarServer/trunk/requirements.txt
===================================================================
--- CalendarServer/trunk/requirements.txt (rev 0)
+++ CalendarServer/trunk/requirements.txt 2014-04-08 02:04:59 UTC (rev 13187)
@@ -0,0 +1,15 @@
+# Get our own dependencies
+--editable .
+
+# Additional dependencies for development
+pyflakes
+docutils>=0.11
+mockldap>=0.1.4
+q
+-e svn+http://svn.calendarserver.org/repository/calendarserver/CalDAVClientLibrary/trunk#egg=CalDAVClientLibrary
+-e svn+http://svn.calendarserver.org/repository/calendarserver/CalDAVTester/trunk#egg=CalDAVTester
+
+# Provide hints for finding packages
+--find-links svn+http://svn.calendarserver.org/repository/calendarserver/twext/trunk#egg=twextpy
+--find-links svn+http://svn.calendarserver.org/repository/calendarserver/PyKerberos/trunk#egg=kerberos
+--find-links svn+http://svn.calendarserver.org/repository/calendarserver/PyCalendar/trunk#egg=pycalendar
Property changes on: CalendarServer/trunk/requirements.txt
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: CalendarServer/trunk/setup.py
===================================================================
--- CalendarServer/trunk/setup.py 2014-04-08 02:04:12 UTC (rev 13186)
+++ CalendarServer/trunk/setup.py 2014-04-08 02:04:59 UTC (rev 13187)
@@ -18,13 +18,10 @@
from __future__ import print_function
-from itertools import chain
-from os import listdir, environ as environment
from os.path import dirname, basename, abspath, join as joinpath, normpath
import errno
import subprocess
-from pip.req import parse_requirements
from setuptools import setup, find_packages as setuptools_find_packages
@@ -138,45 +135,47 @@
# Dependencies
#
-reqs_extension = ".txt"
-reqs_opt_prefix = "py_opt_"
+cs_repos = "svn+http://svn.calendarserver.org/repository/calendarserver"
+twext_svn = "{}/twext/trunk#egg=twextpy".format(cs_repos)
+setup_requirements = []
-requirements_dir = joinpath(dirname(__file__), "requirements")
+install_requirements = [
+ # Core frameworks
+ "zope.interface>=4.0.5",
+ "twisted>=13.2.0",
+ "twextpy",
+ # Security frameworks
+ "pyOpenSSL>=0.12",
+ "pycrypto>=2.6.1",
+ "pyasn1>=0.1.7",
+ "kerberos",
-def read_requirements(reqs_filename):
- return [
- str(r.req) for r in
- parse_requirements(joinpath(requirements_dir, reqs_filename))
- ]
+ # Data store
+ "xattr>=0.6.4",
+ "twextpy[DAL]",
+ "sqlparse==0.1.2",
+ # Calendar
+ "python-dateutil>=1.5",
+ "pytz>=2013.8",
+ "pycalendar",
-setup_requirements = []
+ # Process info
+ "psutil>=1.2.0",
+ "setproctitle>=1.1.8",
+]
-install_requirements = read_requirements("py_base.txt")
+extras_requirements = {
+ "LDAP": ["twextpy[LDAP]"],
+ "OpenDirectory": ["twextpy[OpenDirectory]"],
+ "Oracle": ["twextpy[Oracle]"],
+ "Postgres": ["twextpy[Postgres]"],
+}
-extras_requirements = dict(
- (
- reqs_filename[len(reqs_opt_prefix):-len(reqs_extension)],
- read_requirements(reqs_filename)
- )
- for reqs_filename in listdir(requirements_dir)
- if (
- reqs_filename.startswith(reqs_opt_prefix) and
- reqs_filename.endswith(reqs_extension)
- )
-)
-# Requirements for development and testing
-develop_requirements = read_requirements("py_develop.txt")
-if environment.get("_DEVELOP_PROJECT_", None) == name:
- install_requirements.extend(develop_requirements)
- install_requirements.extend(chain(*extras_requirements.values()))
-
-
-
#
# Set up Extension modules that need to be built
#
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140407/86335299/attachment-0001.html>
More information about the calendarserver-changes
mailing list