Commit 9cd48b26f0ca9fcf3973630e4a765741da4479a2

Authored by Eric Lee
1 parent a67323d575
Exists in master

Add Cloud9 IDE Support

Showing 6 changed files with 174 additions and 0 deletions Side-by-side Diff

conf/machine/smarct335x.conf
... ... @@ -24,6 +24,9 @@
24 24 PREFERRED_VERSION_u-boot = "2014.04-smarct335x"
25 25 UBOOT_MACHINE = "smarct335x_evm_uart3_config"
26 26  
  27 +# Specify Nodejs version if you would like Cloud9 to be build
  28 +PREFERRED_VERSION_nodejs-native_smarct335x = "0.8.21"
  29 +
27 30 # Use built-in LCD by default
28 31 XSERVER += "xf86-input-tslib"
29 32 GUI_MACHINE_CLASS = "smallscreen"
recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
  1 +From ac1953d04f3f26d6aa5d8f53a9397d3ba0e96fa3 Mon Sep 17 00:00:00 2001
  2 +From: Koen Kooi <koen@circuitco.com>
  3 +Date: Fri, 11 May 2012 15:23:02 +0000
  4 +Subject: [PATCH] ide: use 'node' as interpreter for sketches instead of
  5 + argv[0]
  6 +
  7 +This enables running scripts with node 0.6.x instead of 0.4.x
  8 +
  9 +Signed-off-by: root <root@beaglebone.(none)>
  10 +---
  11 + server/cloud9/ide.js | 2 +-
  12 + 1 files changed, 1 insertions(+), 1 deletions(-)
  13 +
  14 +diff --git a/server/cloud9/ide.js b/server/cloud9/ide.js
  15 +index ce782f5..6c4e0f7 100644
  16 +--- a/server/cloud9/ide.js
  17 ++++ b/server/cloud9/ide.js
  18 +@@ -53,7 +53,7 @@ var Ide = module.exports = function(options, httpServer, exts, socket) {
  19 + };
  20 +
  21 + this.$users = {};
  22 +- this.nodeCmd = process.argv[0];
  23 ++ this.nodeCmd = "node";
  24 +
  25 + var davOptions = {
  26 + node: this.options.mountDir,
  27 +--
  28 +1.7.7
recipes-devtools/cloud9/cloud9/cloud9-avahi.service
  1 +<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
  2 +<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
  3 +
  4 +<service-group>
  5 + <name replace-wildcards="yes">Cloud9 IDE on %h</name>
  6 + <service>
  7 + <type>_http._tcp</type>
  8 + <port>3000</port>
  9 + </service>
  10 +</service-group>
recipes-devtools/cloud9/cloud9/cloud9.service
  1 +[Unit]
  2 +Description=Cloud9 IDE
  3 +ConditionPathExists=|/var/lib/cloud9
  4 +
  5 +[Service]
  6 +Restart=always
  7 +EnvironmentFile=-/etc/default/node
  8 +ExecStart=/usr/bin/node4 /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000
  9 +
  10 +[Install]
  11 +WantedBy=multi-user.target
recipes-devtools/cloud9/cloud9/index.js
  1 +var o3 = require('./o3.js')
  2 +module.exports = o3.xml;
recipes-devtools/cloud9/cloud9_0.6.bb
  1 +DESCRIPTION = "Meet Cloud9, development-as-a-service for Javascripters and other developers"
  2 +HOMEPAGE = "http://c9.io"
  3 +LICENSE = "GPLv3"
  4 +LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"
  5 +
  6 +PR = "r5"
  7 +
  8 +# Nodejs-native for node-waf, nodejs4-native for the headers
  9 +DEPENDS = "libxml2 nodejs-native nodejs4-native"
  10 +
  11 +inherit systemd
  12 +
  13 +# The original sass repo has been removed
  14 +
  15 +SRC_URI = "git://github.com/ajaxorg/cloud9.git;name=cloud9ide \
  16 + git://github.com/ajaxorg/o3;destsuffix=o3;name=o3 \
  17 + git://github.com/ajaxorg/ace.git;destsuffix=git/support/ace;name=ace \
  18 + git://github.com/ajaxorg/ace.wiki.git;destsuffix=git/support/ace/doc/wiki;name=acewiki \
  19 + git://github.com/ajaxorg/apf.git;destsuffix=git/support/apf;name=apf \
  20 + git://github.com/ajaxorg/async.js.git;destsuffix=git/support/asyncjs;name=asyncjs \
  21 + git://github.com/ajaxorg/connect.git;destsuffix=git/support/connect;name=connect \
  22 + git://github.com/jashkenas/coffee-script.git;destsuffix=git/support/connect/support/coffee-script;name=coffee-script \
  23 + git://github.com/visionmedia/expresso.git;destsuffix=git/support/connect/support/expresso;name=expresso \
  24 + git://github.com/visionmedia/node-jscoverage.git;destsuffix=git/support/connect/support/expresso/deps/jscoverage;name=jscoverage \
  25 + git://github.com/cloudhead/less.js.git;destsuffix=git/support/connect/support/less;name=less \
  26 + git://github.com/matehat/sass.js.git;destsuffix=git/support/connect/support/sass;name=sass \
  27 + git://github.com/ajaxorg/jsDAV.git;destsuffix=git/support/jsdav;name=jsdav \
  28 + git://github.com/fjakobs/async.js.git;destsuffix=git/support/jsdav/support/async.js;name=async-js \
  29 + git://github.com/felixge/node-formidable.git;destsuffix=git/support/jsdav/support/formidable;name=formidable \
  30 + git://github.com/ajaxorg/jsftp.git;destsuffix=git/support/jsdav/support/jsftp;name=jsftp \
  31 + git://github.com/Gozala/streamer.git;destsuffix=git/support/jsdav/support/jsftp/support/streamer;name=streamer \
  32 + git://github.com/ajaxorg/node-sftp.git;destsuffix=git/support/jsdav/support/node-sftp;name=sftp \
  33 + git://github.com/ajaxorg/lib-v8debug.git;destsuffix=git/support/lib-v8debug;name=lib-v8debug \
  34 + git://github.com/ajaxorg/socket.io.git;destsuffix=git/support/socket.io;name=socketio \
  35 + git://github.com/LearnBoost/socket.io-client.git;destsuffix=git/support/socket.io-client;name=socketio-client \
  36 + git://github.com/ajaxorg/treehugger.git;destsuffix=git/support/treehugger;name=treehugger \
  37 + git://github.com/ajaxorg/UglifyJS.git;destsuffix=git/support/uglify-js;name=uglify-js \
  38 + file://index.js \
  39 + file://cloud9-avahi.service \
  40 + file://cloud9.service \
  41 + file://0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch \
  42 +"
  43 +
  44 +SRCREV_cloud9ide = "c4e2574896a22bb749f0500b25f41c888d346bed"
  45 +SRCREV_o3 = "302cd3a6d5039f53a9fa3932bed88b53281c1e1e"
  46 +SRCREV_ace = "0fc5392cbe46fb134052c3065a238ad8e3b31cfd"
  47 +SRCREV_acewiki = "d2a65d0addc2e5ab922bbff9cb6022a4652b4f13"
  48 +SRCREV_apf = "2560b762b2b0e5a8b46f8a4062f927a9a9d239f4"
  49 +SRCREV_asyncjs = "d36ead408e2959b1e99572114ef3a1b6a48c1072"
  50 +SRCREV_connect = "6bec95b51f2286b942bc7f340d62d816bcdc13d4"
  51 +SRCREV_coffee-script = "a53c104db16d3ac9d13cf9f16834edec250b9749"
  52 +SRCREV_expresso = "7f10ab7fa655299b4e2f519065b0495e6ac34ef2"
  53 +SRCREV_jscoverage = "0d4608a6b4275b020ba665389aa75897d5d4a584"
  54 +SRCREV_less = "a2807288008587b95c6c2f8ba5cac16f1bcab98f"
  55 +SRCREV_sass = "4dfd4c699e7a8baf226215ab044854c4507f4420"
  56 +SRCREV_jsdav = "f04ebf3d012cc8aeabfcfb2b8fab8966d52929e9"
  57 +SRCREV_async-js = "92fb710a70efd3cdc2376ebfba71a7fb3a4f1651"
  58 +SRCREV_formidable = "a37292d4b7d6d76a38909ed670334c9068d40871"
  59 +SRCREV_jsftp = "e3f10c8927347c170cdd0150ef38e18272acf942"
  60 +SRCREV_streamer = "1a7f75d4065819171ac91a09974199b932dbe17d"
  61 +SRCREV_sftp = "a0539345134970d7535a19cb2608e3d1bc119d71"
  62 +SRCREV_lib-v8debug = "7c11897f4bc77c7275c2b6dff5becc72ac018662"
  63 +SRCREV_socketio = "735d5239b325df2ba67d2b9bb4ec32442283bc06"
  64 +SRCREV_socketio-client = "4375ef1344ecb8ad75a3848a00af6b391822f86b"
  65 +SRCREV_treehugger = "436d0d6dd0ce43782e6be08ad12c356730626996"
  66 +SRCREV_uglify-js = "941c845c4a01e4e47a158458fe846eb36d0828ad"
  67 +
  68 +SRCREV_FORMAT = "cloud9ide"
  69 +
  70 +S = "${WORKDIR}/git"
  71 +
  72 +do_configure () {
  73 + cd ${WORKDIR}/o3
  74 + node-waf -vv configure
  75 +}
  76 +
  77 +EXTRA_CXXFLAGS = "-Idefault/include -I../include -Idefault/hosts -I../hosts -Idefault/modules -I../modules -Idefault/deps -I../deps -I${STAGING_DIR_NATIVE}/usr/include/node4 -fPIC -DPIC"
  78 +
  79 +do_compile () {
  80 + cd ${WORKDIR}/o3
  81 + node4 tools/gluegen.js
  82 + cd hosts
  83 + ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node.o node-o3/sh_node.cc
  84 + ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node_libs.o node-o3/sh_node_libs.cc
  85 + cd ..
  86 + ${CXX} ${TARGET_LDFLAGS} hosts/sh_node.o hosts/sh_node_libs.o -o o3.node -shared -Wl,-Bdynamic -lxml2
  87 +}
  88 +
  89 +do_install () {
  90 + install -m 0755 -d ${D}${datadir}/cloud9 ${D}${bindir} ${D}/var/lib/cloud9
  91 + rsync -r --exclude=".*" ${S}/* ${D}${datadir}/cloud9
  92 +
  93 + touch ${D}${bindir}/cloud9
  94 + echo "#!/bin/sh" > ${D}${bindir}/cloud9
  95 + echo "node4 ${datadir}/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000" >> ${D}${bindir}/cloud9
  96 + chmod 0755 ${D}${bindir}/cloud9
  97 +
  98 + install -m 0755 -d ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml
  99 + install -m 0644 ${WORKDIR}/index.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/index.js
  100 + install -m 0644 ${WORKDIR}/o3/modules/o3.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.js
  101 + install -m 0755 ${WORKDIR}/o3/o3.node ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.node
  102 +
  103 + install -m 0755 -d ${D}${sysconfdir}/avahi/services/
  104 + install -m 0644 ${WORKDIR}/cloud9-avahi.service ${D}${sysconfdir}/avahi/services/
  105 +
  106 + install -d ${D}${systemd_unitdir}/system
  107 + install -m 0644 ${WORKDIR}/cloud9.service ${D}${systemd_unitdir}/system
  108 +}
  109 +
  110 +FILES_${PN}-dbg += "${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/.debug \
  111 + ${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/.debug \
  112 +"
  113 +
  114 +RDEPENDS_${PN} = "nodejs4 nodejs gzip"
  115 +
  116 +RPROVIDES_${PN} += "${PN}-systemd"
  117 +RREPLACES_${PN} += "${PN}-systemd"
  118 +RCONFLICTS_${PN} += "${PN}-systemd"
  119 +SYSTEMD_SERVICE_${PN} = "cloud9.service"