Permalink
Browse files

starter buildout/bootstrap

  • Loading branch information...
1 parent 3018202 commit 402b22de89cee5804c1e063bc234c38dc7dbb5de @eleddy eleddy committed Mar 29, 2012
Showing with 192 additions and 0 deletions.
  1. +84 −0 bootstrap.py
  2. +108 −0 buildout.cfg
View
84 bootstrap.py
@@ -0,0 +1,84 @@
+##############################################################################
+#
+# Copyright (c) 2006 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Bootstrap a buildout-based project
+
+Simply run this script in a directory containing a buildout.cfg.
+The script accepts buildout command-line options, so you can
+use the -c option to specify an alternate configuration file.
+
+$Id$
+"""
+
+import os, shutil, sys, tempfile, urllib2
+
+tmpeggs = tempfile.mkdtemp()
+
+is_jython = sys.platform.startswith('java')
+
+try:
+ import pkg_resources
+except ImportError:
+ ez = {}
+ exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
+ ).read() in ez
+ ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
+
+ import pkg_resources
+
+if sys.platform == 'win32':
+ def quote(c):
+ if ' ' in c:
+ return '"%s"' % c # work around spawn lamosity on windows
+ else:
+ return c
+else:
+ def quote (c):
+ return c
+
+cmd = 'from setuptools.command.easy_install import main; main()'
+ws = pkg_resources.working_set
+
+if len(sys.argv) > 2 and sys.argv[1] == '--version':
+ VERSION = '==%s' % sys.argv[2]
+ args = sys.argv[3:] + ['bootstrap']
+else:
+ VERSION = ''
+ args = sys.argv[1:] + ['bootstrap']
+
+if is_jython:
+ import subprocess
+
+ assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd',
+ quote(tmpeggs), 'zc.buildout' + VERSION],
+ env=dict(os.environ,
+ PYTHONPATH=
+ ws.find(pkg_resources.Requirement.parse('setuptools')).location
+ ),
+ ).wait() == 0
+
+else:
+ assert os.spawnle(
+ os.P_WAIT, sys.executable, quote (sys.executable),
+ '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout' + VERSION,
+ dict(os.environ,
+ PYTHONPATH=
+ ws.find(pkg_resources.Requirement.parse('setuptools')).location
+ ),
+ ) == 0
+
+ws.add_entry(tmpeggs)
+ws.require('zc.buildout' + VERSION)
+import zc.buildout.buildout
+zc.buildout.buildout.main(args)
+shutil.rmtree(tmpeggs)
View
108 buildout.cfg
@@ -0,0 +1,108 @@
+[buildout]
+find-links =
+ http://pypi.pinaxproject.com/
+ http://pypi2.pinaxproject.com/
+
+versions = versions
+parts =
+ zlib
+ PIL
+ interpreter
+
+unzip = true
+eggs =
+ Django
+ Pinax
+ pip
+ BeautifulSoup
+ creole
+ PIL
+ Pygments
+ sorl
+ diff-match-patch
+ django-ajax-validation
+ django-announcements
+ django-app-plugins
+ django-atomformat
+ django-avatar
+ django-bookmarks
+ django-db-log
+ django-dbtemplates
+ django-email-confirmation
+ django-extensions
+ django-filter
+ django-flag
+ django-friends
+ django-frontendadmin
+ django-generic-flatblocks
+ django-locations
+ django-mailer
+ django-markup
+ django-messages
+ django-microblogging
+ django-notification
+ django-oembed
+ django-openid
+ django-pagination
+ django-photologue
+ django-robots
+ django-sorting
+ django-staticfiles
+ django-swaps
+ django-tagging
+ django-threadedcomments
+ django-timezones
+ django-uni-form
+ django-voting
+ django-wikiapp
+ docutils
+ elementtree
+ feedparser
+ gdata
+ geopy
+ ipython
+ python-dateutil
+ python-openid
+ python-twitter
+ python-yadis
+ pytz
+ simplejson
+ textile
+ vobject
+ ybrowserauth
+ template_utils
+
+[versions]
+PIL = 1.1.6
+pytz = 2009l
+Django = 1.3.1
+django-wikiapp = 0.2.0
+django-sorting = 0.1
+
+# Build zlib for PIL, and PIL so we don't rely on something in the system
+[zlib]
+recipe = hexagonit.recipe.cmmi
+url = http://www.zlib.net/zlib-1.2.6.tar.gz
+configure-options = --shared
+
+[PIL]
+recipe = zc.recipe.egg:custom
+egg = PIL
+find-links = http://dist.repoze.org/
+include-dirs = ${zlib:location}/include
+library-dirs = ${zlib:location}/lib
+rpath = ${zlib:location}/lib
+
+[interpreter]
+# A python interpreter with our eggs and libraries on its sys.path
+recipe = zc.recipe.egg:scripts
+eggs = ${buildout:eggs}
+scripts =
+ python
+ ipython
+ pinax-admin
+ django-admin
+entry-points =
+ pinax-admin=pinax.core.management:execute_from_command_line
+ django-admin=django.core.management:execute_from_command_line
+interpreter = python

0 comments on commit 402b22d

Please sign in to comment.