Skip to content

Instantly share code, notes, and snippets.

@sahid
Created March 28, 2012 11:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sahid/2c7bd88d5622aeb2db77 to your computer and use it in GitHub Desktop.
Save sahid/2c7bd88d5622aeb2db77 to your computer and use it in GitHub Desktop.
[buildout]
develop = . src/bdbdatastore src/demo
extends = etc/versions.cfg
parts =
libevent
memcached
libmemcached
pylibmc
mongodb
bdbdatastore
rabbitmq
celery
celery-config
boto
ejabberd
ejabberd-config
demo
typhoonae
python
tests
pcre
nginx-upload
nginx-push
nginx
nginxctl
default-server-config
superlance
supervisor
supervisor-config
sphinx
versions = versions
allow-picked-versions = false
unzip = true
[libevent]
recipe = zc.recipe.cmmi
url = http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz
[memcached]
recipe = zc.recipe.cmmi
url = http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
extra_options = --with-libevent=${libevent:location} --bindir=${buildout:directory}/bin
environment =
CFLAGS=-I${libevent:location}/include
LDFLAGS=-L${libevent:location}/lib
[libmemcached]
recipe = zc.recipe.cmmi
url = http://launchpadlibrarian.net/66527034/libmemcached-0.48.tar.gz
extra_options = --with-memcached=${buildout:directory}/bin/memcached
[pylibmc]
recipe = zc.recipe.egg:custom
egg = pylibmc
include-dirs = ${libmemcached:location}/include
library-dirs = ${libmemcached:location}/lib
rpath = ${libmemcached:location}/lib
[mongodb]
recipe = rod.recipe.mongodb
darwin-32bit-url = http://fastdl.mongodb.org/osx/mongodb-osx-i386-2.0.4.tgz
darwin-64bit-url = http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.4.tgz
linux2-32bit-url = http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.4.tgz
linux2-64bit-url = http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.4.tgz
[bdbdatastore]
recipe = collective.recipe.cmd:py
on_install = true
cmds =
>>> d = os.path.join('${buildout:directory}', 'parts', 'bdbdatastore')
>>> if not os.path.isdir(d):
... os.mkdir(d)
>>> from zc.buildout.download import Download
>>> download = Download()
>>> download('http://cloud.github.com/downloads/Arachnid/bdbdatastore/bdbdatastore-0.2.2.jar', path=os.path.join(d, 'bdbdatastore-0.2.2.jar'))
[rabbitmq]
recipe = rod.recipe.rabbitmq
url = http://www.rabbitmq.com/releases/rabbitmq-server/v2.5.0/rabbitmq-server-2.5.0.tar.gz
[celery]
recipe = zc.recipe.egg
eggs =
celery
${typhoonae:eggs}
extra-paths =
${typhoonae:extra-paths}
scripts =
celeryctl
celeryd
camqadm
celeryev
celeryd-multi
celerybeat
[celery-config]
recipe = collective.recipe.template
input = inline:# Do not edit this file .
output = ${buildout:directory}/etc/celeryconfig.py
[boto]
recipe = zc.recipe.egg
[ejabberd]
recipe = rod.recipe.ejabberd
url = http://www.process-one.net/downloads/ejabberd/2.1.8/ejabberd-2.1.8.tar.gz
[ejabberd-config]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/ejabberd.cfg.in
output = ${buildout:directory}/etc/ejabberd.cfg
[demo]
recipe = rod.recipe.appengine
eggs = demo
zip-packages = False
url = http://googleappengine.googlecode.com/files/google_appengine_1.6.3.zip
server-script = dev_appserver
use_setuptools_pkg_resources = True
#patch = ${buildout:directory}/src/patches/google_appengine_1.4.0_unicode_email.patch
[typhoonae]
recipe = zc.recipe.egg
eggs =
bdbdatastore
typhoonae [amqp]
typhoonae [appcfg]
typhoonae [celery]
typhoonae [memcached]
typhoonae [mongo]
typhoonae [mysql]
typhoonae [websocket]
typhoonae [xmpp]
extra-paths =
${buildout:directory}/etc
${buildout:directory}/parts/google_appengine
${buildout:directory}/parts/google_appengine/lib/antlr3
${buildout:directory}/parts/google_appengine/lib/django_1_2
# ${buildout:directory}/parts/google_appengine/lib/django_0_96
${buildout:directory}/parts/google_appengine/lib/fancy_urllib
${buildout:directory}/parts/google_appengine/lib/ipaddr
${buildout:directory}/parts/google_appengine/lib/webob
${buildout:directory}/parts/google_appengine/lib/whoosh
${buildout:directory}/parts/google_appengine/lib/yaml/lib
${buildout:directory}/parts/google_appengine/lib/simplejson
${buildout:directory}/parts/google_appengine/lib/graphy
[python]
recipe = zc.recipe.egg
eggs =
${typhoonae:eggs}
extra-paths =
${typhoonae:extra-paths}
interpreter = python
scripts = python
[tests]
recipe = zc.recipe.egg
eggs =
${typhoonae:eggs}
coverage
nose
extra-paths =
${typhoonae:extra-paths}
[pcre]
recipe = zc.recipe.cmmi
url = ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz
[nginx-upload]
recipe = collective.recipe.cmd:py
on_install = true
cmds =
>>> import subprocess, sys
>>> from zc.buildout.download import Download
>>> cache = os.path.join('${buildout:directory}', 'downloads')
>>> download = Download(cache=cache)
>>> path, is_temp = download('http://www.grid.net.ru/nginx/download/nginx_upload_module-2.2.0.tar.gz')
>>> os.chdir("${buildout:directory}/parts")
>>> subprocess.call(['tar', 'xvzf', path])
[nginx-push]
recipe = collective.recipe.cmd:py
on_install = true
cmds =
>>> import subprocess, sys
>>> from zc.buildout.download import Download
>>> cache = os.path.join('${buildout:directory}', 'downloads')
>>> download = Download(cache=cache)
>>> path, is_temp = download('http://pushmodule.slact.net/downloads/nginx_http_push_module-0.692.tar.gz')
>>> os.chdir("${buildout:directory}/parts")
>>> subprocess.call(['tar', 'xvzf', path])
[nginx]
recipe = zc.recipe.cmmi
url = http://sysoev.ru/nginx/nginx-0.8.54.tar.gz
extra_options = --with-cc-opt=-I${pcre:location}/include --with-ld-opt=-L${pcre:location}/lib --with-http_ssl_module --add-module=${buildout:directory}/parts/nginx_upload_module-2.2.0 --add-module=${buildout:directory}/parts/nginx_http_push_module-0.692
[nginxctl]
recipe = gocept.nginx
nginx = nginx
configuration =
daemon off;
worker_processes 4;
events {
worker_connections 1024;
}
http {
include ${nginx:location}/conf/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server_names_hash_bucket_size 128;
# Enable gzip compression
gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# Some version of IE 6 don't handle compression well on some
# mime-types, so just disable for them
gzip_disable "MSIE [1-6].(?!.*SV1)";
# Set a vary header so downstream proxies don't send cached gzipped
# content to IE6
gzip_vary on;
include ${buildout:directory}/etc/*-nginx.conf;
}
[default-server-config]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/server.conf.in
output = ${buildout:directory}/etc/default-nginx.conf
[superlance]
recipe = zc.recipe.egg
[supervisor]
recipe = zc.recipe.egg
[supervisor-config]
recipe = collective.recipe.template
input = ${buildout:directory}/etc/supervisord.conf.in
output = ${buildout:directory}/etc/supervisord.conf
[sphinx]
recipe = zc.recipe.egg
eggs =
${typhoonae:eggs}
Sphinx
extra-paths =
${typhoonae:extra-paths}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment