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 Inline Diff

conf/machine/smarct335x.conf
1 #@TYPE: Machine 1 #@TYPE: Machine
2 #@NAME: smarct335x 2 #@NAME: smarct335x
3 #@DESCRIPTION: Machine configuration for the Embedian's SMARC-T335X Computer on Module product. 3 #@DESCRIPTION: Machine configuration for the Embedian's SMARC-T335X Computer on Module product.
4 4
5 require conf/machine/include/ti33x.inc 5 require conf/machine/include/ti33x.inc
6 6
7 #CREATE_SRCIPK_pn-linux-smarct335x-staging = "1" 7 #CREATE_SRCIPK_pn-linux-smarct335x-staging = "1"
8 #SRCIPK_INSTALL_DIR_pn-linux-smarct335x-staging = "board-support/linux-${PV}${KERNEL_LOCALVERSION}" 8 #SRCIPK_INSTALL_DIR_pn-linux-smarct335x-staging = "board-support/linux-${PV}${KERNEL_LOCALVERSION}"
9 #SRCIPK_PACKAGE_ARCH_pn-linux-smarct335x-staging = "${MACHINE_ARCH}" 9 #SRCIPK_PACKAGE_ARCH_pn-linux-smarct335x-staging = "${MACHINE_ARCH}"
10 #SRCIPK_PRESERVE_GIT_pn-linux-smarct335x-staging = "true" 10 #SRCIPK_PRESERVE_GIT_pn-linux-smarct335x-staging = "true"
11 11
12 # Specify kernel recipe 12 # Specify kernel recipe
13 PREFERRED_PROVIDER_virtual/kernel_smarct335x = "linux-smarct335x-staging" 13 PREFERRED_PROVIDER_virtual/kernel_smarct335x = "linux-smarct335x-staging"
14 PREFERRED_VERSION_linux_smarct335x = "3.12" 14 PREFERRED_VERSION_linux_smarct335x = "3.12"
15 #PREFERRED_VERSION_linux-libc-headers_smarct335x = "3.8" 15 #PREFERRED_VERSION_linux-libc-headers_smarct335x = "3.8"
16 16
17 # Increase this everytime you change something in the kernel 17 # Increase this everytime you change something in the kernel
18 MACHINE_KERNEL_PR = "r0" 18 MACHINE_KERNEL_PR = "r0"
19 KERNEL_IMAGETYPE = "zImage" 19 KERNEL_IMAGETYPE = "zImage"
20 20
21 # Override several Arago distro package version selections. 21 # Override several Arago distro package version selections.
22 PREFERRED_PROVIDER_virtual/bootloader = "u-boot" 22 PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
23 PREFERRED_PROVIDER_u-boot = "u-boot" 23 PREFERRED_PROVIDER_u-boot = "u-boot"
24 PREFERRED_VERSION_u-boot = "2014.04-smarct335x" 24 PREFERRED_VERSION_u-boot = "2014.04-smarct335x"
25 UBOOT_MACHINE = "smarct335x_evm_uart3_config" 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 # Use built-in LCD by default 30 # Use built-in LCD by default
28 XSERVER += "xf86-input-tslib" 31 XSERVER += "xf86-input-tslib"
29 GUI_MACHINE_CLASS = "smallscreen" 32 GUI_MACHINE_CLASS = "smallscreen"
30 33
31 IMAGE_FSTYPES += "ubi tar.gz" 34 IMAGE_FSTYPES += "ubi tar.gz"
32 35
33 SERIAL_CONSOLE = "115200 ttyO3" 36 SERIAL_CONSOLE = "115200 ttyO3"
34 37
35 # UBI information. Note that this is board and kernel specific. Changes 38 # UBI information. Note that this is board and kernel specific. Changes
36 # in your kernel port may require changes in these variables. For more 39 # in your kernel port may require changes in these variables. For more
37 # details about this board please see 40 # details about this board please see
38 # http://processors.wiki.ti.com/index.php/UBIFS_Support 41 # http://processors.wiki.ti.com/index.php/UBIFS_Support
39 42
40 # do ubiattach /dev/ubi_ctrl -m 7 -O 2048 43 # do ubiattach /dev/ubi_ctrl -m 7 -O 2048
41 # From dmesg: 44 # From dmesg:
42 # UBI: smallest flash I/O unit: 2048 45 # UBI: smallest flash I/O unit: 2048
43 # UBI: logical eraseblock size: 126976 bytes 46 # UBI: logical eraseblock size: 126976 bytes
44 # from ubiattach stdout: 47 # from ubiattach stdout:
45 # UBI device number 0, total 1988 LEBs 48 # UBI device number 0, total 1988 LEBs
46 MKUBIFS_ARGS = "-m 4096 -e 253952 -c 1580" 49 MKUBIFS_ARGS = "-m 4096 -e 253952 -c 1580"
47 50
48 # do ubiattach /dev/ubi_ctrl -m 7 -O 2048 51 # do ubiattach /dev/ubi_ctrl -m 7 -O 2048
49 # from dmesg: 52 # from dmesg:
50 # UBI: smallest flash I/O unit: 2048 53 # UBI: smallest flash I/O unit: 2048
51 # UBI: physical eraseblock size: 131072 bytes (128 KiB) 54 # UBI: physical eraseblock size: 131072 bytes (128 KiB)
52 # UBI: sub-page size: 512 55 # UBI: sub-page size: 512
53 # UBI: VID header offset: 2048 (aligned 2048) 56 # UBI: VID header offset: 2048 (aligned 2048)
54 UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096" 57 UBINIZE_ARGS = "-m 4096 -p 256KiB -s 4096 -O 4096"
55 58
56 # Ship all kernel modules by default 59 # Ship all kernel modules by default
57 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" 60 MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
58 # List common SoC features, may need to add touchscreen for specific machines 61 # List common SoC features, may need to add touchscreen for specific machines
59 MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet touchscreen" 62 MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet touchscreen"
60 63
recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
File was created 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
29
30
recipes-devtools/cloud9/cloud9/cloud9-avahi.service
File was created 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>
11
recipes-devtools/cloud9/cloud9/cloud9.service
File was created 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
12
recipes-devtools/cloud9/cloud9/index.js
File was created 1 var o3 = require('./o3.js')
2 module.exports = o3.xml;
recipes-devtools/cloud9/cloud9_0.6.bb
File was created 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"
120