[buildout] extends = ../dcron/buildout.cfg ../libxml2/buildout.cfg ../logrotate/buildout.cfg ../rdiff-backup/buildout.cfg ../nodejs/buildout.cfg parts = nodejs npm cloud9 [cloud9] <= cloud9-git [node-sm] recipe = slapos.recipe.build:npm packages = sm@0.2.11 node = nodejs environment = PATH=${nodejs-0.6:location}/bin:%(PATH)s [cloud9-stable] # Online IDE written in javascript/node.js # URL : c9.io # You can use it using the following command : # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location} recipe = plone.recipe.command stop-on-error = true commit = 5d18344936baf1d86b0fa5fc2c690051b4c77cb2 repository = https://github.com/ajaxorg/cloud9.git location = ${buildout:parts-directory}/${:_buildout_section_name_} git-binary = ${git:location}/bin/git npm-binary = ${nodejs-0.4:location}/bin/node ${npm:location}/bin/npm command = export GIT_SSL_NO_VERIFY=true; export HOME=${:location}; (${:git-binary} clone --quiet ${:repository} ${:location} && cd ${:location} && ${:git-binary} reset --hard ${:commit} && ${:git-binary} submodule update --init && cd support/jsdav && PATH=${nodejs-0.4:location}/bin:$PATH LDFLAGS=-L${libxml2:location}/lib ${:npm-binary} install) || (rm -fr ${:location}; exit 1) update-command = executable = ${:location}/bin/cloud9.js [cloud9-session-directory.patch] recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/${:filename} filename = cloud9-session-directory.patch download-only = true md5sum = 5dc8cc28447ed3747b8a53c768d872aa [cloud9-socket.patch] recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/${:filename} filename = cloud9-socket.patch download-only = true md5sum = c581456cb3a76841898f79f9600e3a1e [cloud9-file-already-exist.patch] # This patch prevents the error "File already exists" recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/${:filename} filename = cloud9-file_already_exist.patch download-only = true md5sum = 0bc104af8176388d60cbf884b72c8318 [cloud9-remove-all-listeners.patch] # This patch prevents cloud9 to die every # time a tab is closed recipe = hexagonit.recipe.download url = ${:_profile_base_location_}/${:filename} filename = cloud9-removeAllListeners.patch download-only = true md5sum = 357915330d677f4917140e02a55646b7 [cloud9-git-download] recipe = slapos.recipe.build:gitclone repository = https://github.com/ajaxorg/cloud9.git revision = f7d102bc225c922f116d2cea52a746d64343ea59 location = ${buildout:parts-directory}/cloud9 git-executable = ${git:location}/bin/git develop = true use-cache = true ignore-ssl-certificate = true [cloud9-git] # Online IDE written in javascript/node.js # URL : c9.io # You can use it using the following command : # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location} recipe = plone.recipe.command stop-on-error = true environment = export GIT_SSL_NO_VERIFY=true; export PATH=${git:location}/bin:${nodejs-0.6:location}/bin:${node-sm:location}/node_modules/.bin/:$PATH; export CPPFLAGS="-I${libxml2:location}/include -I${nodejs-0.6:location}/include"; export LDFLAGS="-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib"; export HOME=${cloud9-git-download:location}; command = ${:environment} (cd ${cloud9-git-download:location} && ${node-sm:location}/node_modules/.bin/sm install && patch -p1 < ${cloud9-session-directory.patch:location}/${cloud9-session-directory.patch:filename} && patch -p1 < ${cloud9-socket.patch:location}/${cloud9-socket.patch:filename} && patch -p1 < ${cloud9-file-already-exist.patch:location}/${cloud9-file-already-exist.patch:filename} && patch -p1 < ${cloud9-remove-all-listeners.patch:location}/${cloud9-remove-all-listeners.patch:filename}) || (rm -fr ${cloud9-git-download:location}; exit 1) update-command = true executable = ${cloud9-git-download:location}/server.js [cloud9-npm] # Online IDE written in javascript/node.js # URL : c9.io # You can use it using the following command : # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location} recipe = slapos.recipe.npm # Node part has to be specified, otherwise system node is used. node = nodejs # List of packages to install packages = cloud9==0.7 # Specify environment jsDAV (dependency of cloud9) needs libxml2 environment = LDFLAGS=-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib