summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-openembedded/meta-oe/recipes-devtools
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-openembedded/meta-oe/recipes-devtools')
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb89
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js2
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb118
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch55
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/cunit_2.1-3.bb19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/files/fixup-install-docdir.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gzbin0 -> 767 bytes
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch45
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch92
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch48
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch47
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.26.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch51
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch138
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/files/lemon.163
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon.inc25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20150325-3.1.bb20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb17
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb24
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/fix-libdir.patch40
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb15
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb97
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-not-parentheses.patch38
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch36
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/lua.pc.in10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/run-ptest19
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.2.bb61
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch33
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb63
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch208
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/memstat/memstat_1.0.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.4.1.bb26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.1.1.bb39
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb21
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja-native_1.6.0.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch59
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.4.3.bb84
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb28
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch166
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch422
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb65
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb23
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.18/change-AC_TRY_RUN-to-AC_TRY_LINK.patch56
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc272
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch90
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch26
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/configure.patch11
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch35
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.conf510
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.service10
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.32.bb6
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.18.bb7
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb66
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch66
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb29
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb25
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb14
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch81
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Makefile-Change-order-of-link-flags.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch49
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb30
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch31
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch13
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff32
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff27
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff22
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff41
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.4.bb79
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch82
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch20
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch12
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb44
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc16
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch34
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb4
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb18
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.3.bb46
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb18
125 files changed, 5630 insertions, 0 deletions
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc
new file mode 100644
index 000000000..93993631e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc
@@ -0,0 +1,15 @@
+LICENSE = "GPLv3"
+HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/"
+SECTION = "devel"
+
+DEPENDS += "m4-native"
+DEPENDS_class-native = "m4-native gnu-config-native"
+DEPENDS_class-nativesdk = "m4-nativesdk gnu-config-nativesdk"
+
+RDEPENDS_${PN} = "m4 gnu-config"
+RDEPENDS_${PN}_class-native = "m4-native gnu-config-native"
+RDEPENDS_${PN}_class-nativesdk = "m4-nativesdk gnu-config-nativesdk"
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb
new file mode 100644
index 000000000..5baaecc34
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb
@@ -0,0 +1,13 @@
+require autoconf-archive.inc
+
+
+PARALLEL_MAKE = ""
+
+LICENSE = "GPLv2 & GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI[md5sum] = "e842c5b9fae021007bd70550362e5e80"
+SRC_URI[sha256sum] = "040b443bf68efd52fbfcb294b556bfbbbfe432db78445ca25e0cfe2e88f96a14"
+
+EXTRA_OECONF += "ac_cv_path_M4=m4"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
new file mode 100644
index 000000000..4581ef25f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
@@ -0,0 +1,49 @@
+From 8d40b4c286e005e82fa50b66fbbbde22b7e65e15 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sun, 20 May 2012 21:35:34 +0200
+Subject: [PATCH 1/2] svg: add rudimentary support for ARM cpuinfo
+
+On ARM /proc/cpuinfo looks like this:
+
+root@beagleboneA3-0428:~# cat /proc/cpuinfo
+Processor : ARMv7 Processor rev 2 (v7l)
+BogoMIPS : 498.89
+Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
+CPU implementer : 0x41
+CPU architecture: 7
+CPU variant : 0x3
+CPU part : 0xc08
+CPU revision : 2
+
+Hardware : am335xevm
+Revision : 0000
+Serial : 0000000000000000
+
+So no real way to get the actual SoC name, TI AM3359, but a lot better than 'Unknown'
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+
+Upstream-Status: submitted
+
+ svg.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/svg.c b/svg.c
+index 80e0292..53724b2 100644
+--- a/svg.c
++++ b/svg.c
+@@ -178,6 +178,10 @@ void svg_title(void)
+ strncpy(cpu, &buf[13], 255);
+ break;
+ }
++ if (strstr(buf, "Processor")) {
++ strncpy(cpu, &buf[12], 255);
++ break;
++ }
+ }
+ fclose(f);
+ }
+--
+1.7.10
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
new file mode 100644
index 000000000..f63d98aee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
@@ -0,0 +1,39 @@
+From e3adb4c312c6ba3491b7c173559efac7a53e5abc Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Sun, 20 May 2012 22:12:29 +0200
+Subject: [PATCH 2/2] svg: open /etc/os-release and use PRETTY_NAME for the
+ 'Build' name
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+
+Upstream-Status: Submitted
+
+ svg.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/svg.c b/svg.c
+index 53724b2..c675d84 100644
+--- a/svg.c
++++ b/svg.c
+@@ -194,6 +194,17 @@ void svg_title(void)
+ fclose(f);
+ }
+
++ f = fopen("/etc/os-release", "r");
++ if(f) {
++ while (fgets(buf, 255, f)) {
++ if (strstr(buf, "PRETTY_NAME=")) {
++ strncpy(build, &buf[12], 255);
++ break;
++ }
++ }
++ fclose(f);
++ }
++
+ svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
+ uts.nodename, date);
+ svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
+--
+1.7.10
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
new file mode 100644
index 000000000..2b75eaac9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Monitors where the system spends its time at start, creating a graph of all processes, disk utilization, and wait time."
+HOMEPAGE = "http://meego.gitorious.org/meego-developer-tools/bootchart"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
+
+PV = "1.17"
+PR = "r1"
+PE = "1"
+
+SRC_URI = "git://gitorious.org/meego-developer-tools/bootchart.git;protocol=https \
+ file://0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch \
+ file://0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch \
+"
+
+SRCREV = "a2c7561d4060a9f075339bda89e793c76f2ff6dd"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
new file mode 100644
index 000000000..7ada3a3b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
@@ -0,0 +1,89 @@
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+# Applications using this library needs to add link against libbreakpad_client.a.
+
+SUMMARY = "An open-source multi-platform crash reporting system"
+DESCRIPTION = "Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact \"minidump\" files, send them back to your server, and produce C and C++ stack traces from these minidumps. "
+HOMEPAGE = "https://code.google.com/p/google-breakpad/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=56c24a43c81c3af6fcf590851931489e"
+SECTION = "libs"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
+
+SRCREV = "r1435"
+SRC_URI = "svn://google-breakpad.googlecode.com/svn;module=trunk;protocol=http"
+S = "${WORKDIR}/trunk"
+
+do_install_append() {
+ install -d ${D}${includedir}
+ install -d ${D}${includedir}/breakpad
+
+ install -d ${D}${includedir}/breakpad/client/linux/crash_generation
+ install -m 0644 ${S}/src/client/linux/crash_generation/crash_generation_client.h ${D}${includedir}/breakpad/client/linux/crash_generation/crash_generation_client.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/handler/
+ install -m 0644 ${S}/src/client/linux/handler/exception_handler.h ${D}${includedir}/breakpad/client/linux/handler/exception_handler.h
+ install -m 0644 ${S}/src/client/linux/handler/minidump_descriptor.h ${D}${includedir}/breakpad/client/linux/handler/minidump_descriptor.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/dump_writer_common
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/mapping_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/mapping_info.h
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/thread_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/thread_info.h
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/raw_context_cpu.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/raw_context_cpu.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/minidump_writer
+ install -m 0644 ${S}/src/client/linux/minidump_writer/linux_dumper.h ${D}${includedir}/breakpad/client/linux/minidump_writer/linux_dumper.h
+ install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h
+
+ install -d ${D}${includedir}/breakpad/common
+ install -m 0644 ${S}/src/common/memory.h ${D}${includedir}/breakpad/common/memory.h
+ install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h
+ install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h
+
+ install -d ${D}${includedir}/breakpad/google_breakpad/common
+ install -m 0644 ${S}/src/google_breakpad/common/breakpad_types.h ${D}${includedir}/breakpad/google_breakpad/common/breakpad_types.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_format.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_format.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_amd64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_amd64.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_mips.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_mips.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc64.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_sparc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_sparc.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_x86.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_x86.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_linux.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_linux.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_mac.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_mac.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_ps3.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_ps3.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_solaris.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_solaris.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_win32.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_win32.h
+
+ install -d ${D}${includedir}/breakpad/third_party/lss
+ install -m 0644 ${S}/src/third_party/lss/linux_syscall_support.h ${D}${includedir}/breakpad/third_party/lss/linux_syscall_support.h
+}
+
+PACKAGES =+ "${PN}-minidump-upload ${PN}-sym-upload"
+
+FILES_${PN}-minidump-upload = "${bindir}/minidump_upload"
+FILES_${PN}-sym-upload = "${bindir}/sym_upload"
+
+
+SYSROOT_PREPROCESS_FUNCS += "breakpad_populate_sysroot"
+breakpad_populate_sysroot() {
+ sysroot_stage_dir ${D}/usr/include ${SYSROOT_DESTDIR}/usr/include
+ sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
+ sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
+}
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:2178: Error: selected processor does not support Thumb mode `it ne'
+#| {standard input}:2179: Error: Thumb does not support conditional execution
+#| {standard input}:2180: Error: selected processor does not support Thumb mode `it eq'
+#| {standard input}:2181: Error: Thumb does not support conditional execution
+#| {standard input}:2183: Error: lo register required -- `str ip,[r1,#-4]!'
+#| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!'
+#| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]'
+#| make: *** [src/client/linux/handler/exception_handler.o] Error 1
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch
new file mode 100644
index 000000000..4358629b7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb/remove-help2man.patch
@@ -0,0 +1,47 @@
+Disable building manpages so that make install doesn't fail due to lack of help2man
+
+Upstream-Status: Inappropriate [config]
+
+Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
+---
+ configure.ac | 3 ---
+ doc/Makefile.am | 5 -----
+ 2 files changed, 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ee7eca0..1f0d924 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -134,9 +134,6 @@ dnl check that the required tools are available to generate documentation
+ if test "$HAS_MAKEINFO" != "yes" ; then
+ AC_MSG_ERROR([Please install makeinfo before installing])
+ fi
+-if test "$HAS_HELP2MAN" != "yes" ; then
+- AC_MSG_ERROR([Please install help2man])
+-fi
+
+ dnl Checking for log10 function in math - I would like to remove this
+ AC_CHECK_LIB(m, log10)
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 60662f6..0ae0013 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -1,15 +1,10 @@
+ info_TEXINFOS = cgdb.texi
+ cgdb_TEXINFOS = gpl.texi
+
+-dist_man_MANS = cgdb.1
+ EXTRA_DIST = cgdb.txt
+
+ dist_pkgdata_DATA = cgdb.txt
+
+-# generate the man page using help2man.
+-cgdb.1:
+- help2man --output=$(top_srcdir)/doc/cgdb.1 $(top_builddir)/cgdb/cgdb$(EXEEXT)
+-
+ cgdb.txt: cgdb.texi $(srcdir)/version.texi $(cgdb_TEXINFOS)
+ TEXTS = cgdb.txt
+ text-am: $(TEXTS)
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb
new file mode 100644
index 000000000..74019fb62
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cgdb/cgdb_0.6.8.bb
@@ -0,0 +1,21 @@
+SUMMARY = "curses-based interface to GDB"
+DESCRIPTION = "cgdb is a lightweight curses (terminal-based) interface to the GNU Debugger (GDB)."
+HOMEPAGE = "http://cgdb.github.io/"
+SECTION = "devel"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "flex-native readline ncurses"
+
+inherit autotools
+
+SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
+ file://remove-help2man.patch"
+SRC_URI[md5sum] = "7bd38c79bf4d794d239928fef401fca3"
+SRC_URI[sha256sum] = "be203e29be295097439ab67efe3dc8261f742c55ff3647718d67d52891f4cf41"
+
+CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2"
+EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \
+ --with-ncurses=${STAGING_LIBDIR}"
+
+RDEPENDS_${PN} = "gdb"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
new file mode 100644
index 000000000..b32311a82
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
@@ -0,0 +1,29 @@
+From ac1953d04f3f26d6aa5d8f53a9397d3ba0e96fa3 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@circuitco.com>
+Date: Fri, 11 May 2012 15:23:02 +0000
+Subject: [PATCH] ide: use 'node' as interpreter for sketches instead of
+ argv[0]
+
+This enables running scripts with node 0.6.x instead of 0.4.x
+
+Signed-off-by: root <root@beaglebone.(none)>
+---
+ server/cloud9/ide.js | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/server/cloud9/ide.js b/server/cloud9/ide.js
+index ce782f5..6c4e0f7 100644
+--- a/server/cloud9/ide.js
++++ b/server/cloud9/ide.js
+@@ -53,7 +53,7 @@ var Ide = module.exports = function(options, httpServer, exts, socket) {
+ };
+
+ this.$users = {};
+- this.nodeCmd = process.argv[0];
++ this.nodeCmd = "node";
+
+ var davOptions = {
+ node: this.options.mountDir,
+--
+1.7.7
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service
new file mode 100644
index 000000000..cb9b6e2db
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service
@@ -0,0 +1,10 @@
+<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
+<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
+
+<service-group>
+ <name replace-wildcards="yes">Cloud9 IDE on %h</name>
+ <service>
+ <type>_http._tcp</type>
+ <port>3000</port>
+ </service>
+</service-group>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service
new file mode 100644
index 000000000..495b131ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Cloud9 IDE
+ConditionPathExists=|/var/lib/cloud9
+
+[Service]
+Restart=always
+EnvironmentFile=-/etc/default/node
+ExecStart=/usr/bin/node4 /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000
+
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js
new file mode 100644
index 000000000..88c9a19f0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9/index.js
@@ -0,0 +1,2 @@
+var o3 = require('./o3.js')
+module.exports = o3.xml;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
new file mode 100644
index 000000000..87e524dd7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
@@ -0,0 +1,118 @@
+SUMMARY = "Meet Cloud9, development-as-a-service for Javascripters and other developers"
+HOMEPAGE = "http://c9.io"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"
+
+PR = "r5"
+
+# Nodejs-native for node-waf, nodejs4-native for the headers
+DEPENDS = "libxml2 nodejs-native nodejs4-native"
+
+PNBLACKLIST[cloud9] ?= "Not comatible with current nodejs 0.12, but upstream is working on it for v3"
+inherit systemd
+
+SRC_URI = "git://github.com/ajaxorg/cloud9.git;name=cloud9ide \
+ git://github.com/ajaxorg/o3;destsuffix=o3;name=o3 \
+ git://github.com/ajaxorg/ace.git;destsuffix=git/support/ace;name=ace \
+ git://github.com/ajaxorg/ace.wiki.git;destsuffix=git/support/ace/doc/wiki;name=acewiki \
+ git://github.com/ajaxorg/apf.git;destsuffix=git/support/apf;name=apf \
+ git://github.com/ajaxorg/async.js.git;destsuffix=git/support/asyncjs;name=asyncjs \
+ git://github.com/ajaxorg/connect.git;destsuffix=git/support/connect;name=connect;branch=ajaxorg \
+ git://github.com/jashkenas/coffee-script.git;destsuffix=git/support/connect/support/coffee-script;name=coffee-script \
+ git://github.com/visionmedia/expresso.git;destsuffix=git/support/connect/support/expresso;name=expresso \
+ git://github.com/visionmedia/node-jscoverage.git;destsuffix=git/support/connect/support/expresso/deps/jscoverage;name=jscoverage \
+ git://github.com/cloudhead/less.js.git;destsuffix=git/support/connect/support/less;name=less \
+ git://github.com/matehat/sass.js.git;destsuffix=git/support/connect/support/sass;name=sass \
+ git://github.com/ajaxorg/jsDAV.git;destsuffix=git/support/jsdav;name=jsdav \
+ git://github.com/fjakobs/async.js.git;destsuffix=git/support/jsdav/support/async.js;name=async-js \
+ git://github.com/felixge/node-formidable.git;destsuffix=git/support/jsdav/support/formidable;name=formidable \
+ git://github.com/ajaxorg/jsftp.git;destsuffix=git/support/jsdav/support/jsftp;name=jsftp \
+ git://github.com/Gozala/streamer.git;destsuffix=git/support/jsdav/support/jsftp/support/streamer;name=streamer \
+ git://github.com/ajaxorg/node-sftp.git;destsuffix=git/support/jsdav/support/node-sftp;name=sftp \
+ git://github.com/ajaxorg/lib-v8debug.git;destsuffix=git/support/lib-v8debug;name=lib-v8debug \
+ git://github.com/ajaxorg/socket.io.git;destsuffix=git/support/socket.io;name=socketio;branch=cadorn-upstream \
+ git://github.com/LearnBoost/socket.io-client.git;destsuffix=git/support/socket.io-client;name=socketio-client \
+ git://github.com/ajaxorg/treehugger.git;destsuffix=git/support/treehugger;name=treehugger \
+ git://github.com/ajaxorg/UglifyJS.git;destsuffix=git/support/uglify-js;name=uglify-js \
+ file://index.js \
+ file://cloud9-avahi.service \
+ file://cloud9.service \
+ file://0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch \
+"
+
+SRCREV_cloud9ide = "c4e2574896a22bb749f0500b25f41c888d346bed"
+SRCREV_o3 = "d66d4e3252e505f44ada6804c8cab39915ce8afd"
+SRCREV_ace = "0fc5392cbe46fb134052c3065a238ad8e3b31cfd"
+SRCREV_acewiki = "d2a65d0addc2e5ab922bbff9cb6022a4652b4f13"
+SRCREV_apf = "2560b762b2b0e5a8b46f8a4062f927a9a9d239f4"
+SRCREV_asyncjs = "d36ead408e2959b1e99572114ef3a1b6a48c1072"
+SRCREV_connect = "6bec95b51f2286b942bc7f340d62d816bcdc13d4"
+SRCREV_coffee-script = "a53c104db16d3ac9d13cf9f16834edec250b9749"
+SRCREV_expresso = "7f10ab7fa655299b4e2f519065b0495e6ac34ef2"
+SRCREV_jscoverage = "0d4608a6b4275b020ba665389aa75897d5d4a584"
+SRCREV_less = "a2807288008587b95c6c2f8ba5cac16f1bcab98f"
+SRCREV_sass = "4dfd4c699e7a8baf226215ab044854c4507f4420"
+SRCREV_jsdav = "f04ebf3d012cc8aeabfcfb2b8fab8966d52929e9"
+SRCREV_async-js = "92fb710a70efd3cdc2376ebfba71a7fb3a4f1651"
+SRCREV_formidable = "a37292d4b7d6d76a38909ed670334c9068d40871"
+SRCREV_jsftp = "e3f10c8927347c170cdd0150ef38e18272acf942"
+SRCREV_streamer = "1a7f75d4065819171ac91a09974199b932dbe17d"
+SRCREV_sftp = "a0539345134970d7535a19cb2608e3d1bc119d71"
+SRCREV_lib-v8debug = "7c11897f4bc77c7275c2b6dff5becc72ac018662"
+SRCREV_socketio = "735d5239b325df2ba67d2b9bb4ec32442283bc06"
+SRCREV_socketio-client = "4375ef1344ecb8ad75a3848a00af6b391822f86b"
+SRCREV_treehugger = "436d0d6dd0ce43782e6be08ad12c356730626996"
+SRCREV_uglify-js = "941c845c4a01e4e47a158458fe846eb36d0828ad"
+
+SRCREV_FORMAT = "cloud9ide"
+
+S = "${WORKDIR}/git"
+
+do_configure () {
+ cd ${WORKDIR}/o3
+ node-waf -vv configure
+}
+
+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"
+
+do_compile () {
+ cd ${WORKDIR}/o3
+ node4 tools/gluegen.js
+ cd hosts
+ ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node.o node-o3/sh_node.cc
+ ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node_libs.o node-o3/sh_node_libs.cc
+ cd ..
+ ${CXX} ${TARGET_LDFLAGS} hosts/sh_node.o hosts/sh_node_libs.o -o o3.node -shared -Wl,-Bdynamic -lxml2
+}
+
+do_install () {
+ install -m 0755 -d ${D}${datadir}/cloud9 ${D}${bindir} ${D}/var/lib/cloud9
+ rsync -r --exclude=".*" ${S}/* ${D}${datadir}/cloud9
+
+ touch ${D}${bindir}/cloud9
+ echo "#!/bin/sh" > ${D}${bindir}/cloud9
+ echo "node4 ${datadir}/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000" >> ${D}${bindir}/cloud9
+ chmod 0755 ${D}${bindir}/cloud9
+
+ install -m 0755 -d ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml
+ install -m 0644 ${WORKDIR}/index.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/index.js
+ install -m 0644 ${WORKDIR}/o3/modules/o3.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.js
+ install -m 0755 ${WORKDIR}/o3/o3.node ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.node
+
+ install -m 0755 -d ${D}${sysconfdir}/avahi/services/
+ install -m 0644 ${WORKDIR}/cloud9-avahi.service ${D}${sysconfdir}/avahi/services/
+
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/cloud9.service ${D}${systemd_unitdir}/system
+}
+
+FILES_${PN}-dbg += "${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/.debug \
+ ${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/.debug \
+"
+
+RDEPENDS_${PN} = "nodejs4 nodejs gzip"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "cloud9.service"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
new file mode 100644
index 000000000..d3bfab7bb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
@@ -0,0 +1,55 @@
+Index: git/configure
+===================================================================
+--- git.orig/configure 2012-11-19 21:07:51.917429465 -0800
++++ git/configure 2012-11-19 21:13:19.337437278 -0800
+@@ -439,14 +442,18 @@
+ GZIP_SUFFIX=".gz"
+ fi
+
+-printf "Finding suitable compiler........"
+-CC=`pathsearch "${CC:-cc}"`
+-if test -z "$CC" -o ! -x "$CC"; then
+- CC=`pathsearch "${CC:-gcc}"`
++if test -z "$CC"; then
++ printf "Finding suitable compiler........"
++ CC=`pathsearch "${CC:-cc}"`
++ if test -z "$CC" -o ! -x "$CC"; then
++ CC=`pathsearch "${CC:-gcc}"`
++ fi
+ fi
+ assert "$CC" "not found"
+
+-cat << EOF > .1.c
++if test -z "$COMPILER"; then
++
++ cat << EOF > .1.c
+ #include <stdio.h>
+ int main(void) {
+ #if defined(__GNUC__) && (__GNUC__ >= 4)
+@@ -569,16 +576,16 @@
+ #endif
+ }
+ EOF
+-
+-$CC -o .1 .1.c
+-COMPILER=`./.1`
+-r=$?
+-rm -f .1.c .1
+-
+-if test "$r" -ne 0; then
+- assert "" "update compiler"
+-else
+- echo "success [$CC]"
++ $CC -o .1 .1.c
++ COMPILER=`./.1`
++ r=$?
++ rm -f .1.c .1
++
++ if test "$r" -ne 0; then
++ assert "" "update compiler"
++ else
++ echo "success [$CC]"
++ fi
+ fi
+
+ if test "$COMPILER" = "suncc"; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
new file mode 100644
index 000000000..51243c237
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Concurrency Kit provides a plethora of concurrency primitives, \
+safe memory reclamation mechanisms and non-blocking data structures \
+designed to aid in the design and implementation of high performance \
+concurrent systems."
+
+LICENSE = "BSD & Apache-2.0"
+HOMEPAGE = "http://concurrencykit.org"
+SECTION = "base"
+
+PV = "0.5.1+git${SRCPV}"
+SRCREV = "f97d3da5c375ac2fc5a9173cdd36cb828915a2e1"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a0b24c1a8f9ad516a297d055b0294231"
+SRC_URI = "git://github.com/concurrencykit/ck.git;protocol=https \
+ file://cross.patch \
+"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*"
+
+inherit autotools-brokensep
+
+PLAT_powerpc64 = "ppc64"
+PLAT ?= "${HOST_ARCH}"
+
+do_configure () {
+ export PLATFORM=${PLAT}
+ export COMPILER='gcc'
+ ${S}/configure \
+ --prefix=${prefix} \
+ --includedir=${includedir} \
+ --libdir=${libdir}
+}
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb
new file mode 100644
index 000000000..942029438
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. "
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit"
+LICENSE = "LGPL-2.1"
+SECTION = "libs"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+SRC_URI = " \
+ http://dev-www.libreoffice.org/src/cppunit-${PV}.tar.gz \
+ file://0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch \
+"
+SRC_URI[md5sum] = "fa9aa839145cdf860bf596532bb8af97"
+SRC_URI[sha256sum] = "d5b9f3ffc9f1634d75b20b54f48c02e0817bca6afa1d5160b244889d6bff8e0f"
+
+inherit autotools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
new file mode 100644
index 000000000..6a20c1283
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cppunit/files/0001-doc-Makefile.am-do-not-preserve-file-flags-when-copy.patch
@@ -0,0 +1,31 @@
+From 9d7ce869607d123cd9837890d71f940c5ced3393 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 29 Feb 2016 07:58:20 +0100
+Subject: [PATCH] doc/Makefile.am: do not preserve file flags when copying
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [cross specific]
+
+Signed-off-by: Andreas MĂĽller <schnitzeltony@googlemail.com>
+---
+ doc/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 8815476..3237499 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -22,7 +22,7 @@ htmldir += $(pkgdatadir)/html
+ html_DATA += $(static_pages) html/index.html
+
+ install-data-hook:
+- cp -pR html/* $(DESTDIR)$(htmldir)
++ cp -R html/* $(DESTDIR)$(htmldir)
+
+ # Automake's "distcheck" is sensitive to having files left over
+ # after "make uninstall", so we have to clean up the install hook.
+--
+2.5.0
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
new file mode 100644
index 000000000..8aa5947d0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cscope/cscope_15.8b.bb
@@ -0,0 +1,24 @@
+# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Cscope is a text screen based source browser"
+DESCRIPTION = "Cscope is a developer's tool for browsing source code. \
+ It has an impeccable Unix pedigree, having been originally \
+ developed at Bell Labs back in the days of the PDP-11. \
+ Cscope was part of the official AT&T Unix distribution for \
+ many years, and has been used to manage projects involving 20 \
+ million lines of code!"
+
+HOMEPAGE = "http://cscope.sourceforge.net/"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d4667b67b483823043fcffa489ea343b"
+
+inherit autotools
+
+DEPENDS += "ncurses"
+
+SRC_URI = "http://downloads.sourceforge.net/project/cscope/cscope/${PV}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "8f9409a238ee313a96f9f87fe0f3b176"
+SRC_URI[sha256sum] = "4889d091f05aa0845384b1e4965aa31d2b20911fb2c001b2cdcffbcb7212d3af"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb
new file mode 100644
index 000000000..d006d83aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_5.8.bb
@@ -0,0 +1,25 @@
+# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Exuberant Ctags"
+DESCRIPTION = "Exuberant Ctags is a multilanguage reimplementation of the \
+ Unix ctags utility. Ctags generates an index of source code \
+ definitions which is used by numerous editors and utilities \
+ to instantly locate the definitions."
+
+HOMEPAGE = "http://ctags.sourceforge.net/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+inherit autotools-brokensep
+
+SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "c00f82ecdcc357434731913e5b48630d"
+SRC_URI[sha256sum] = "0e44b45dcabe969e0bbbb11e30c246f81abe5d32012db37395eb57d66e9e99c7"
+
+do_install() {
+ install -Dm 755 ${B}/ctags ${D}${bindir}/ctags
+ install -Dm 644 ${B}/ctags.1 ${D}${mandir}/man1/ctags.1
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/cunit_2.1-3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/cunit_2.1-3.bb
new file mode 100644
index 000000000..c9d87e36d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/cunit_2.1-3.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "CUnit is a C framework for unit testing. Test output supports comandline and GUI results reporting"
+HOMEPAGE = "http://cunit.sourceforge.net"
+LICENSE = "LGPL-2.0"
+SECTION = "libs"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7734aa853b85d6f935466f081490ddbb"
+
+S = "${WORKDIR}/CUnit-${PV}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/cunit/CUnit/${PV}/CUnit-${PV}.tar.bz2 \
+ file://fixup-install-docdir.patch"
+SRC_URI[md5sum] = "b5f1a9f6093869c070c6e4a9450cc10c"
+SRC_URI[sha256sum] = "f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214"
+
+inherit autotools-brokensep remove-libtool
+
+EXTRA_OECONF = "--enable-memtrace --enable-automated --enable-basic --enable-console"
+
+FILES_${PN}-dev += "${datadir}/CUnit"
+FILES_${PN}-doc += "${docdir}"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/files/fixup-install-docdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/files/fixup-install-docdir.patch
new file mode 100644
index 000000000..c32822731
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/cunit/files/fixup-install-docdir.patch
@@ -0,0 +1,36 @@
+From: "Mike Holmes" <mike.holmes@linaro.org>
+Date: Thu, 30 October 2014 16:21:03 -0500
+Subject: [PATCH] fixup-install-docdir
+
+The default configuration macros for CUnit install the documentation and
+header files in locations not consistent with the OE filesystem layout.
+So here we specify new locations which are consistent with OE filesystems.
+
+Upstream-Status: Inappropriate - configuration for OE build environment
+
+Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
+Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
+---
+
+diff -uNr a/doc/headers/Makefile.am b/doc/headers/Makefile.am
+--- a/doc/headers/Makefile.am 2014-10-30 22:06:29.704574162 +0100
++++ b/doc/headers/Makefile.am 2014-10-30 22:07:43.578524791 +0100
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-dochdrdir = $(prefix)/doc/@PACKAGE@/headers
++dochdrdir = $(docdir)/headers
+
+ INCLUDE_FILES = \
+ Automated.h \
+diff -uNr a/doc/Makefile.am b/doc/Makefile.am
+--- a/doc/Makefile.am 2014-10-30 22:06:29.704574162 +0100
++++ b/doc/Makefile.am 2014-10-30 22:07:01.461412166 +0100
+@@ -1,7 +1,5 @@
+ ## Process this file with automake to produce Makefile.in
+
+-docdir = $(prefix)/doc/@PACKAGE@
+-
+ doc_DATA = \
+ CUnit_doc.css \
+ error_handling.html \
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gz b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gz
new file mode 100644
index 000000000..20eaba3ad
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gz
Binary files differ
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
new file mode 100644
index 000000000..62b279618
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Install a Debian system into a subdirectory"
+HOMEPAGE = "https://wiki.debian.org/Debootstrap"
+SECTION = "devel"
+LICENSE = "debootstrap-custom-license"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608"
+
+inherit pkgconfig
+
+SRC_URI = "\
+ http://http.debian.net/debian/pool/main/d/debootstrap/debootstrap_1.0.67.tar.gz \
+ file://devices.tar.gz;unpack=0 \
+"
+
+SRC_URI[md5sum] = "eacabfe2e45415af60b1d74c3a23418a"
+SRC_URI[sha256sum] = "0a12e0a2bbff185d47711a716b1f2734856100e8784361203e834fed0cffa51b"
+
+S = "${WORKDIR}/${BP}"
+
+# All Makefile does is creation of devices.tar.gz, which fails in OE build, we use
+# static devices.tar.gz as work around
+# | NOTE: make -j 8 -e MAKEFLAGS=
+# | rm -rf dev
+# | mkdir -p dev
+# | chown 0:0 dev
+# | chown: changing ownership of `dev': Operation not permitted
+# | make: *** [devices.tar.gz] Error 1
+# | WARNING: exit code 1 from a shell command.
+do_compile_prepend() {
+ cp ${WORKDIR}/devices.tar.gz ${B}
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+ chown -R root:root ${D}${datadir}/debootstrap
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
new file mode 100644
index 000000000..2eb8af713
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu/configure.patch
@@ -0,0 +1,45 @@
+Index: dejagnu-1.4.4/configure.in
+===================================================================
+--- dejagnu-1.4.4.orig/configure.in 2014-07-18 07:05:49.997481207 +0000
++++ dejagnu-1.4.4/configure.in 2014-07-18 07:05:50.085481210 +0000
+@@ -1,10 +1,10 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_PREREQ(2.13)
+-AC_INIT(runtest.exp)
++AC_INIT(dejagnu, 1.4.4)
+ dnl AC_CONFIG_AUX_DIR(..)
+
+ dnl These are required by automake
+-AM_INIT_AUTOMAKE(dejagnu, 1.4.4)
++AM_INIT_AUTOMAKE([foreign])
+ AM_MAINTAINER_MODE
+ AC_PROG_MAKE_SET
+
+Index: dejagnu-1.4.4/example/calc/configure.in
+===================================================================
+--- dejagnu-1.4.4.orig/example/calc/configure.in 2002-04-26 03:32:40.000000000 +0000
++++ dejagnu-1.4.4/example/calc/configure.in 2014-07-18 07:11:59.085491266 +0000
+@@ -1,8 +1,8 @@
+ dnl Process this file with autoconf to produce a configure script.
+ AC_PREREQ(2.5)
+-AC_INIT(calc.c)
++AC_INIT(calc, 1.1)
+ AM_CONFIG_HEADER(calc.h)
+-AM_INIT_AUTOMAKE(calc, 1.1)
++AM_INIT_AUTOMAKE([foreign])
+
+ AC_PROG_CC
+ AC_PROG_INSTALL
+Index: dejagnu-1.4.4/example/hello/configure.in
+===================================================================
+--- dejagnu-1.4.4.orig/example/hello/configure.in 2002-08-31 05:46:16.000000000 +0000
++++ dejagnu-1.4.4/example/hello/configure.in 2014-07-18 07:12:23.721491937 +0000
+@@ -25,7 +25,7 @@
+ # ------------------------------------------------------------------------
+
+ AC_INIT(helloworld, demo-version, philip.wilsey@ieee.org)
+-AM_INIT_AUTOMAKE(helloworld, demo-version)
++AM_INIT_AUTOMAKE([foreign])
+
+ #AC_CONFIG_SRCDIR([hello.cc])
+ #AC_CONFIG_HEADER([config.h])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
new file mode 100644
index 000000000..63726b232
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "GNU unit testing framework, written in Expect and Tcl"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
+SECTION = "devel"
+
+inherit autotools
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://configure.patch"
+
+SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666"
+SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch
new file mode 100644
index 000000000..ccb9a02da
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Stop-using-relative-path-for-scsilib.c-link.patch
@@ -0,0 +1,29 @@
+From 4cf7e16fe9b773e2e7763d4b773854eefe2aa9ab Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Tue, 12 Jan 2016 09:59:55 -0200
+Subject: [PATCH] Stop using relative path for scsilib.c link
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ Makefile.linux | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.linux b/Makefile.linux
+index 78333ff..e210564 100644
+--- a/Makefile.linux
++++ b/Makefile.linux
+@@ -129,7 +129,7 @@ scsilib.c:
+ echo "Please specify OS={aix,linux,hpux,solaris,windows}"; \
+ exit 1; \
+ fi; \
+- ln -sf ../scsilib-$(OS).c scsilib.c
++ ln -sf scsilib-$(OS).c scsilib.c
+
+ print:;
+ @$(PRINTER) $(PRINTFLAGS) $(ALL_CFILES)
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch
new file mode 100644
index 000000000..0c00fdf41
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/Use-tcsh-shell.patch
@@ -0,0 +1,92 @@
+From e3c6eb8776f659eb9e6eeccf90d785eff18ecf74 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Mon, 15 Feb 2016 18:00:05 -0200
+Subject: [PATCH] Use 'tcsh' shell
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ Scripts/dta | 2 +-
+ Scripts/dtc | 2 +-
+ Scripts/dtf | 2 +-
+ Scripts/dtr | 2 +-
+ Scripts/dts | 2 +-
+ Scripts/dtt | 2 +-
+ Scripts/dtw | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/Scripts/dta b/Scripts/dta
+index ebc7072..4f90247 100755
+--- a/Scripts/dta
++++ b/Scripts/dta
+@@ -1,4 +1,4 @@
+-#!/bin/csh
++#!/bin/tcsh
+ #
+ # Script file to test asynchronous communication lines.
+ #
+diff --git a/Scripts/dtc b/Scripts/dtc
+index da69c2e..89d48c2 100755
+--- a/Scripts/dtc
++++ b/Scripts/dtc
+@@ -1,4 +1,4 @@
+-#!/bin/csh
++#!/bin/tcsh
+ # %Z%%M% %I% %E%
+ #
+ # Date: August 7, 1990
+diff --git a/Scripts/dtf b/Scripts/dtf
+index 9f8cd87..321d261 100755
+--- a/Scripts/dtf
++++ b/Scripts/dtf
+@@ -1,4 +1,4 @@
+-#! /bin/csh
++#! /bin/tcsh
+ #
+ # Script file to gather floppy disk performance data.
+ #
+diff --git a/Scripts/dtr b/Scripts/dtr
+index ddb7947..1ff5a0b 100755
+--- a/Scripts/dtr
++++ b/Scripts/dtr
+@@ -1,4 +1,4 @@
+-#!/bin/csh
++#!/bin/tcsh
+ # %Z%%M% %I% %E%
+ #
+ # Date: August 21, 1990
+diff --git a/Scripts/dts b/Scripts/dts
+index 6b8a167..42d2312 100755
+--- a/Scripts/dts
++++ b/Scripts/dts
+@@ -1,4 +1,4 @@
+-#!/bin/csh
++#!/bin/tcsh
+ # %Z%%M% %I% %E%
+ #
+ # Date: August 7, 1990
+diff --git a/Scripts/dtt b/Scripts/dtt
+index 36cc6bd..df19d2f 100755
+--- a/Scripts/dtt
++++ b/Scripts/dtt
+@@ -1,4 +1,4 @@
+-#! /bin/csh
++#! /bin/tcsh
+ # %Z%%M% %I% %E%
+ #
+ # Date: August 7, 1990
+diff --git a/Scripts/dtw b/Scripts/dtw
+index 8a4ac39..c58e304 100755
+--- a/Scripts/dtw
++++ b/Scripts/dtw
+@@ -1,4 +1,4 @@
+-#!/bin/csh
++#!/bin/tcsh
+ # %Z%%M% %I% %E%
+ #
+ # Date: August 21, 1990
+--
+2.1.4
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch
new file mode 100644
index 000000000..87016edf0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-default-source-define.patch
@@ -0,0 +1,18 @@
+Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff -rupN dt.v18.32.old/common.h dt.v18.32/common.h
+--- dt.v18.32.old/common.h 2013-03-01 23:52:30.000000000 +0100
++++ dt.v18.32/common.h 2014-09-24 17:41:40.777604710 +0200
+@@ -127,7 +127,7 @@ typedef volatile slarge_t v_slarge;
+
+ #endif /* defined(_WIN64) */
+
+-#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE)
++#elif defined(__GNUC__) && defined(_BSD_SOURCE) || defined (_DEFAULT_SOURCE) || defined(SCO) || defined(__QNXNTO__) || defined(SOLARIS) || defined(HP_UX) || defined(AIX) || defined(_NT_SOURCE)
+
+ #define QuadIsLongLong
+ typedef unsigned long long int large_t;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch
new file mode 100644
index 000000000..b6780c196
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt/dt-wformat-security.patch
@@ -0,0 +1,48 @@
+Patch from http://pkgs.fedoraproject.org/git/rpms/dt.git
+
+Upstream-Status: Pending
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+diff -rupN dt.v18.32.old/dt.c dt.v18.32/dt.c
+--- dt.v18.32.old/dt.c 2014-08-18 14:45:53.242351115 +0200
++++ dt.v18.32/dt.c 2014-08-18 15:11:36.367719880 +0200
+@@ -4378,7 +4378,7 @@ report_error(
+ (void)sprintf(dip->di_msg_buffer, "(%d): '%s', errno = %d - %s\n",
+ dip->di_process_id, error_info, errno, emsg);
+ }
+- syslog(LOG_ERR, dip->di_msg_buffer);
++ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
+ }
+ #endif /* defined(SYSLOG) */
+
+diff -rupN dt.v18.32.old/dtutil.c dt.v18.32/dtutil.c
+--- dt.v18.32.old/dtutil.c 2014-08-18 14:45:53.354350779 +0200
++++ dt.v18.32/dtutil.c 2014-08-18 15:13:53.835307311 +0200
+@@ -5180,7 +5180,7 @@ ReportDeviceInfo (
+ bp += Sprintf(bp,
+ "(%d) Device name: %s\n",
+ dip->di_process_id, dip->di_dname);
+- syslog(LOG_ERR, dip->di_msg_buffer);
++ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
+ bp = dip->di_msg_buffer;
+ # if defined(SCSI)
+ if (dip->di_serial_number) {
+@@ -5193,7 +5193,7 @@ ReportDeviceInfo (
+ dip->di_process_id, dip->di_device_id);
+ }
+ # endif /* defined(SCSI) */
+- syslog(LOG_ERR, dip->di_msg_buffer);
++ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
+ bp = dip->di_msg_buffer;
+ bp += Sprintf(bp,
+ "(%d) Relative block number where the error occurred is " LUF ","
+@@ -5203,7 +5203,7 @@ ReportDeviceInfo (
+ } else {
+ bp += Sprintf(bp, "\n");
+ }
+- syslog(LOG_ERR, dip->di_msg_buffer);
++ syslog(LOG_ERR, "%s", dip->di_msg_buffer);
+ }
+ #endif /* defined(SYSLOG) */
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb
new file mode 100644
index 000000000..9688d02aa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/dt/dt_18.32.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Generic data test program"
+DESCRIPTION = "The Data Test Program (dt) is a generic data test program used to verify proper \
+operation of peripherals, file systems, device drivers, or any data stream supported by the \
+operating system."
+HOMEPAGE = "http://www.scsifaq.org/RMiller_Tools/dt.html"
+
+SECTION = "console/tests"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be8bb25bbcfaa0725710d188e5152668"
+
+# Source URI taken from Fedora RPM spec file at:
+# http://pkgs.fedoraproject.org/git/rpms/dt.git
+SRC_URI = "http://dl.dropboxusercontent.com/u/32363629/Datatest/dt-source-v${PV}.tar.gz \
+ file://dt-default-source-define.patch \
+ file://dt-wformat-security.patch \
+ file://Stop-using-relative-path-for-scsilib.c-link.patch \
+ file://Use-tcsh-shell.patch \
+"
+
+SRC_URI[md5sum] = "3054aeaaba047a1dbe90c2132a382ee2"
+SRC_URI[sha256sum] = "10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6"
+
+S = "${WORKDIR}/dt.v${PV}"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+EXTRA_OEMAKE += "-f Makefile.linux \
+ OS=linux \
+ CFLAGS="-I.. -DAIO -DFIFO -DMMAP -D__linux__ -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DTHREADS -DSCSI""
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -Dm755 dt ${D}${sbindir}/dt
+ install -Dm644 Documentation/dt.man ${D}${mandir}/man8/dt.8
+
+ install -d ${D}${datadir}/dt/
+ install -d ${D}${docdir}/dt/html/
+ install -m755 Scripts/dt? ${D}${datadir}/dt/
+ install -m644 data/pattern_* ${D}${datadir}/dt/
+ install -m644 html/* ${D}${docdir}/dt/html/
+}
+
+RDEPENDS_${PN} += "tcsh"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch
new file mode 100644
index 000000000..5166fece0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch
@@ -0,0 +1,47 @@
+From e62d5b59262ec7ffe07931790712c7e247377795 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Thu, 21 Feb 2013 09:31:31 +0100
+Subject: [PATCH] configure.ac remove additional c++ test
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+For openembedded cross-builds CXX can contain something like:
+
+arm-oe-linux-gnueabi-g++ -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm
+
+This ends up in
+
+configure:5582: error: No C++ compiler found. Please install a C++ compiler.
+
+Anyway if [1] is still valid, the combination of AC_PROG_CC and AC_PROG_CXX
+should thow an error message.
+
+[1] http://lists.gnu.org/archive/html/bug-autoconf/2010-05/msg00001.html
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andreas MĂĽller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 5 -----
+ 1 files changed, 0 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c37312a..742bf35 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,11 +26,6 @@ AC_USE_SYSTEM_EXTENSIONS
+ AC_PROG_CC
+
+ AC_PROG_CXX
+-# check for C++ compiler explicitly and fail if none is found, do this check
+-# after AC_PROG_CXX has set the CXX environment variable
+-if ! which $CXX >/dev/null 2>&1; then
+- AC_MSG_ERROR([No C++ compiler found. Please install a C++ compiler.])
+-fi
+
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
+--
+1.7.6.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.26.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.26.bb
new file mode 100644
index 000000000..ca4f6b63d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/geany/geany_1.26.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A fast and lightweight IDE"
+HOMEPAGE = "http://www.geany.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
+DEPENDS = "gtk+ python-docutils-native"
+
+inherit autotools pkgconfig perlnative pythonnative
+
+SRC_URI = " \
+ http://download.geany.org/${BP}.tar.bz2 \
+ file://0001-configure.ac-remove-additional-c-test.patch \
+"
+SRC_URI[md5sum] = "bd457caba57099cfa23b063e78b6f819"
+SRC_URI[sha256sum] = "e38530e87c577e1e9806be3b40e08fb9ee321eb1abc6361ddacdad89c825f90d"
+
+FILES_${PN} += "${datadir}/icons"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
new file mode 100644
index 000000000..e59d0e517
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
@@ -0,0 +1,22 @@
+SUMMARY = "shared library for GIF images"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
+PR = "r3"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-x11"
+
+PACKAGES += "${PN}-utils"
+FILES_${PN} = "${libdir}/libgif.so.*"
+FILES_${PN}-utils = "${bindir}"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS_${PN}-utils = "perl"
+
+SRC_URI[md5sum] = "7125644155ae6ad33dbc9fc15a14735f"
+SRC_URI[sha256sum] = "e1c1ced9c5bc8f93ef0faf0a8c7717abf784d10a7b270d2285e8e1f3b93f2bed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
new file mode 100644
index 000000000..1b24c39ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
@@ -0,0 +1,51 @@
+From aed002cd9ff9e8f972120fbac33b4a65aba952e1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Tue, 25 Sep 2012 10:28:33 +0200
+Subject: [PATCH] gnome-doc-utils.make: sysrooted pkg-config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+same approach as used used in gnome-disk-utility:
+
+In cross environment we have to prepend the sysroot to the path found by
+pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
+it ends up using the files from host system. Now usually people have gnome installed
+so the build succeeds but if you dont have gnome installed on build host then
+it wont find the files on host system and packages using gnome-doc-utils wont
+compile.
+
+This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
+will be empty
+
+Upstream-Status: pending
+
+Signed-off-by: Andreas MĂĽller <schnitzeltony@googlemail.com>
+---
+ gnome-doc-utils.make | 10 +++++-----
+ 1 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/gnome-doc-utils.make b/gnome-doc-utils.make
+index 42d9df3..f71bbfa 100644
+--- a/gnome-doc-utils.make
++++ b/gnome-doc-utils.make
+@@ -133,11 +133,11 @@ _DOC_ABS_SRCDIR = @abs_srcdir@
+ _xml2po ?= `which xml2po`
+ _xml2po_mode = $(if $(DOC_ID),mallard,docbook)
+
+-_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
+-_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
+-_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
+-_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
+-_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl
++_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils`
++_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
++_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
++_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
++_ids ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
+
+ if ENABLE_SK
+ _ENABLE_SK = true
+--
+1.7.6.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
new file mode 100644
index 000000000..4e7ef9b5c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/glade/glade3_3.8.5.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Glade - A User Interface Designer"
+HOMEPAGE = "http://www.gnu.org/software/gnash"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
+ file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
+ file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
+DEPENDS = "gtk+ gnome-doc-utils-native gnome-common libxml2"
+
+inherit autotools pkgconfig pythonnative
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
+ file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch"
+SRC_URI[md5sum] = "4e4b4f5ee34a03e017e4cef97d796c1f"
+SRC_URI[sha256sum] = "58a5f6e4df4028230ddecc74c564808b7ec4471b1925058e29304f778b6b2735"
+
+EXTRA_OECONF += "--disable-scrollkeeper"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gnome] = "--enable-gnome,--disable-gnome,libbonoboui libgnomeui"
+
+do_configure_prepend() {
+ sed -i '/^if HAVE_GNOME_DOC_UTILS/,/^endif/d' ${S}/Makefile.am
+}
+
+FILES_${PN} += "${datadir}/icons"
+FILES_${PN}-dbg += "${libdir}/glade3/modules/.debug"
+FILES_${PN}-dev += "${libdir}/glade3/modules/*.la"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch
new file mode 100644
index 000000000..5d83818c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch
@@ -0,0 +1,27 @@
+From e6d53086524a94d27920614e38966020e0b2b3ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 5 Nov 2012 11:25:02 +0100
+Subject: [PATCH] Makefile.am: no examples
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andreas MĂĽller <schnitzeltony@googlemail.com>
+
+---
+ Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 28ee7eb..af437a6 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1 +1 @@
+-SUBDIRS = src examples
+\ No newline at end of file
++SUBDIRS = src
+--
+1.7.6.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
new file mode 100644
index 000000000..9768a6e71
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
@@ -0,0 +1,13 @@
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "gdk-pixbuf popt"
+
+SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BPN}-${PV}.tar.gz \
+ file://0001-Makefile.am-no-examples.patch"
+SRC_URI[md5sum] = "5c5374d4f265b0abe4daef1d03f87104"
+SRC_URI[sha256sum] = "05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch
new file mode 100644
index 000000000..291ed3196
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf/0001-src-Fix-error-in-cross-compile.patch
@@ -0,0 +1,138 @@
+From 27910ea19260b7f7a3f9c0465addd1dea80cf3bd Mon Sep 17 00:00:00 2001
+From: Li Xin <lixin.fnst@cn.fujitsu.com>
+Date: Thu, 8 Oct 2015 15:11:17 +0900
+Subject: [PATCH] src: Fix error in cross-compile
+
+The errors are like this:
+tcptable.h:26:25: fatal error: linux/if_tr.h: No such file or directory
+ld: cannot find -ltextbox
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ src/Makefile | 2 +-
+ src/hostmon.c | 2 +-
+ src/install.sh | 4 ++--
+ src/othptab.c | 2 +-
+ src/packet.c | 2 +-
+ src/tcptable.h | 2 +-
+ src/tr.c | 2 +-
+ support/Makefile | 3 +--
+ 8 files changed, 9 insertions(+), 10 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 2043c2d..0f77bea 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -39,7 +39,7 @@ LDOPTS = #-static
+ # you may want to change this to point to your ncurses include directory
+ # if the ncurses include files are not in the default location.
+
+-INCLUDEDIR = -I/usr/include/ncurses -I../support
++INCLUDEDIR = -I../support
+
+ # You can uncomment this one to disable the backspace key in input fields.
+ # This means you must use the Del key or Ctrl+H combination to erase the
+diff --git a/src/hostmon.c b/src/hostmon.c
+index 14df2c8..6571562 100644
+--- a/src/hostmon.c
++++ b/src/hostmon.c
+@@ -31,7 +31,7 @@ details.
+ #include <linux/if_packet.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_fddi.h>
+-#include <linux/if_tr.h>
++#include <netinet/if_tr.h>
+ #include <net/if_arp.h>
+ #include <stdlib.h>
+ #include <time.h>
+diff --git a/src/install.sh b/src/install.sh
+index d2fd360..36d3516 100755
+--- a/src/install.sh
++++ b/src/install.sh
+@@ -23,9 +23,9 @@ echo
+ echo "*** Installing executable programs and preparing work directories"
+ echo
+ echo ">>> Installing iptraf in $TARGET"
+-$INSTALL -m 0700 -o root -g root -s iptraf $TARGET
++$INSTALL -m 0700 -o root -g root iptraf $TARGET
+ echo ">>> Installing rvnamed in $TARGET"
+-$INSTALL -m 0700 -o root -g root -s rvnamed $TARGET
++$INSTALL -m 0700 -o root -g root rvnamed $TARGET
+
+ if [ ! -d $WORKDIR ]; then
+ echo ">>> Creating IPTraf work directory $WORKDIR"
+diff --git a/src/othptab.c b/src/othptab.c
+index 97771d1..a8bb536 100644
+--- a/src/othptab.c
++++ b/src/othptab.c
+@@ -18,7 +18,7 @@ details.
+
+ #include <asm/types.h>
+ #include <linux/if_ether.h>
+-#include <linux/if_tr.h>
++#include <netinet/if_tr.h>
+ #include <linux/if_fddi.h>
+ #include <winops.h>
+ #include "arphdr.h"
+diff --git a/src/packet.c b/src/packet.c
+index 33fdf2a..1e2b81b 100644
+--- a/src/packet.c
++++ b/src/packet.c
+@@ -36,7 +36,7 @@ details.
+ #include <linux/if_packet.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_fddi.h>
+-#include <linux/if_tr.h>
++#include <netinet/if_tr.h>
+ #include <linux/isdn.h>
+ #include <linux/sockios.h>
+ #include <msgboxes.h>
+diff --git a/src/tcptable.h b/src/tcptable.h
+index 3e17793..d1380b5 100644
+--- a/src/tcptable.h
++++ b/src/tcptable.h
+@@ -23,7 +23,7 @@
+ #include <linux/if_packet.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_fddi.h>
+-#include <linux/if_tr.h>
++#include <netinet/if_tr.h>
+ #include <net/if.h>
+ #include <netinet/ip.h>
+ #include <netinet/udp.h>
+diff --git a/src/tr.c b/src/tr.c
+index 40c9e63..11f8045 100644
+--- a/src/tr.c
++++ b/src/tr.c
+@@ -7,7 +7,7 @@
+ */
+
+ #include <asm/types.h>
+-#include <linux/if_tr.h>
++#include <netinet/if_tr.h>
+ #include <netinet/in.h>
+
+ unsigned int get_tr_ip_offset(unsigned char *pkt)
+diff --git a/support/Makefile b/support/Makefile
+index 114bfc3..c962c09 100644
+--- a/support/Makefile
++++ b/support/Makefile
+@@ -1,4 +1,3 @@
+-INCLUDEDIR = -I/usr/include/ncurses
+
+ OBJS = input.o menurt.o listbox.o winops.o labels.o \
+ msgboxes.o txbox.o
+@@ -12,7 +11,7 @@ libtextbox.a: $(OBJS)
+ # gcc -shared -o libtextbox.so $(OBJS)
+
+ %.o: %.c *.h
+- gcc -O2 -g -Wall -fPIC $(INCLUDEDIR) -c -o $*.o $<
++ ${CC} -O2 -g -Wall -fPIC -c -o $*.o $<
+
+ clean:
+ rm -rf *.o *~ libtextbox.a libtextbox.so
+--
+1.8.4.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb
new file mode 100644
index 000000000..25e60013d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/iptraf/iptraf_3.0.0.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "IPTraf is a console-based network statistics utility for Linux. \
+It gathers a variety of figures such as TCP connection packet and byte counts, \
+interface statistics and activity indicators, TCP/UDP traffic breakdowns, \
+and LAN station packet and byte counts."
+
+HOMEPAGE = "http://iptraf.seul.org"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc0bdc29df738baf327368b1bbb15a45"
+
+DEPENDS = "ncurses"
+
+SRC_URI = " \
+ ftp://iptraf.seul.org/pub/iptraf/iptraf-3.0.0.tar.gz \
+ file://0001-src-Fix-error-in-cross-compile.patch"
+SRC_URI[md5sum] = "377371c28ee3c21a76f7024920649ea8"
+SRC_URI[sha256sum] = "9ee433d95573d612539da4b452e6cdcbca6ab6674a88bfbf6eaf12d4902b5163"
+RDEPENDS_${PN} = "ncurses"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_compile() {
+ oe_runmake -C src all
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ oe_runmake -C src install \
+ TARGET=${D}${bindir} \
+ WORKDIR=${D}${localstatedir}/local/iptraf \
+ LOGDIR=${D}${localstatedir}/log/iptraf \
+ LOCKDIR=${D}${localstatedir}/run/iptraf
+}
+
+FILES_${PN} += "${bindir} ${localstatedir} /run"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
new file mode 100644
index 000000000..612eaf396
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/jq/jq_1.5.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Lightweight and flexible command-line JSON processor"
+DESCRIPTION = "jq is like sed for JSON data, you can use it to slice and \
+ filter and map and transform structured data with the same \
+ ease that sed, awk, grep and friends let you play with text."
+HOMEPAGE = "http://stedolan.github.io/jq/"
+BUGTRACKER = "https://github.com/stedolan/jq/issues"
+SECTION = "utils"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=29dd0c35d7e391bb8d515eacf7592e00"
+
+DEPENDS = "flex-native bison-native onig"
+
+SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "0933532b086bd8b6a41c1b162b1731f9"
+SRC_URI[sha256sum] = "c4d2bfec6436341113419debf479d833692cc5cdab7eb0326b5a4d4fbe9f493c"
+
+inherit autotools
+
+# Don't build documentation (generation requires ruby)
+EXTRA_OECONF = "--disable-docs --disable-maintainer-mode"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/files/lemon.1 b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/files/lemon.1
new file mode 100644
index 000000000..914ee0701
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/files/lemon.1
@@ -0,0 +1,63 @@
+.Dd 2002-10-04
+.Dt LEMON 1
+.Os "Debian GNU/Linux"
+.\" Manual page created by Guus Sliepen <guus@debian.org>
+.Sh NAME
+.Nm lemon
+.Nd The Lemon Parser Generator
+.Sh SYNOPSIS
+.Nm
+.Op Fl bcgmqsx
+.Ar input
+.Sh DESCRIPTION
+.Nm
+is an LALR(1) parser generator for C or C++.
+It does the same job as bison and yacc.
+But
+.Nm
+is not another bison or yacc clone.
+It uses a different grammar syntax which is designed to reduce the number of coding errors.
+.Nm
+also uses a more sophisticated parsing engine that is faster than yacc and bison
+and which is both reentrant and thread-safe.
+Furthermore,
+.Nm
+implements features that can be used to eliminate resource leaks,
+making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers.
+.Pp
+.Nm
+will read the grammer from
+.Ar input
+and write out a parser for that grammar in the C language.
+.Sh OPTIONS
+.Bl -tag -width indent
+.It Fl b
+Print only the basis in report.
+.It Fl c
+Don't compress the action table.
+.It Fl g
+Print grammar without actions.
+.It Fl m
+Output a makeheaders compatible file.
+.It Fl q
+(Quiet) Don't print the report file.
+.It Fl s
+Print parser stats to standard output.
+.It Fl x
+Print the version number.
+.El
+.Sh FILES
+.Bl -tag -width indent
+.It Pa /usr/share/lemon/lempar.c
+Driver template for the
+.Nm
+parser generator.
+.El
+.Sh AUTHOR
+.Nm
+has been written by
+.An D. Richard Hipp Aq drh@hwaci.com .
+.Pp
+This manual page was written by
+.An Guus Sliepen Aq guus@debian.org
+for the Debian GNU/Linux system.
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon.inc
new file mode 100644
index 000000000..57b9fb710
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "The Lemon Parser Generator"
+HOMEPAGE = "http://www.hwaci.com/sw/lemon/"
+LICENSE = "PD"
+SECTION = "devel"
+
+SRC_URI = "http://www.sqlite.org/sqlite-${PV}.tar.gz \
+ file://lemon.1"
+
+S = "${WORKDIR}/sqlite-${PV}/tool"
+
+do_compile() {
+ ${CC} ${CFLAGS} lemon.c -c -o lemon.o
+ ${CCLD} ${LDFLAGS} lemon.o -o lemon
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 lemon ${D}${bindir}
+ install -m 0644 lempar.c ${D}${bindir}
+ install -d ${D}${mandir}/man1
+ install -m 0644 ${WORKDIR}/lemon.1 ${D}${mandir}/man1/
+}
+
+BBCLASSEXTEND = "native"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb
new file mode 100644
index 000000000..354db17e6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb
@@ -0,0 +1,7 @@
+require lemon.inc
+
+LIC_FILES_CHKSUM = "file://lemon.c;endline=8;md5=c7551a78fa3fdecd96d1ad6761d205ee"
+
+SRC_URI[md5sum] = "5437978aae90350cf984993091e0d695"
+SRC_URI[sha256sum] = "dbf352e8fbb74829f5e7a88f9f6ceeb80a709537f668c36e4b6cdfb271309ef6"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20150325-3.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20150325-3.1.bb
new file mode 100644
index 000000000..4a72896ce
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libedit/libedit_20150325-3.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "BSD replacement for libreadline"
+DESCRIPTION = "Command line editor library providing generic line editing, \
+history, and tokenization functions"
+HOMEPAGE = "http://www.thrysoee.dk/editline/"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
+
+DEPENDS = "ncurses"
+
+inherit autotools
+
+# upstream site does not allow wget's User-Agent
+FETCHCMD_wget += "-U bitbake"
+SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+SRC_URI[md5sum] = "43cdb5df3061d78b5e9d59109871b4f6"
+SRC_URI[sha256sum] = "c88a5e4af83c5f40dda8455886ac98923a9c33125699742603a88a0253fcc8c5"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb
new file mode 100644
index 000000000..cb4bc24a8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Fribidi library for bidirectional text"
+SECTION = "libs"
+PR = "r1"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+BBCLASSEXTEND = "native"
+
+PROVIDES = "libfribidi"
+
+inherit autotools lib_package pkgconfig
+
+CFLAGS_append = " -DPAGE_SIZE=4096 "
+
+SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "626db17d2d99b43615ad9d12500f568a"
+SRC_URI[sha256sum] = "49cf91586e48b52fe25872ff66c1da0dff0daac2593f9f300e2af12f44f64177"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
new file mode 100644
index 000000000..3fa9d9fc2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libgee/libgee_0.18.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
+and classes for commonly used data structures."
+HOMEPAGE = "http://live.gnome.org/Libgee"
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+BBCLASSEXTEND = "native"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+PE = "1"
+
+inherit autotools vala pkgconfig gobject-introspection
+do_configure_prepend() {
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f m4/$i
+ done
+}
+
+SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/${SHRT_VER}/${BP}.tar.xz"
+SRC_URI[md5sum] = "29ea6125e653d7e60b49a9a9544abc96"
+SRC_URI[sha256sum] = "4ad99ef937d071b4883c061df40bfe233f7649d50c354cf81235f180b4244399"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch
new file mode 100644
index 000000000..02117fa8d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch
@@ -0,0 +1,28 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57804cf..1aa7f27 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,6 +18,7 @@ ENDIF()
+ SET(SOURCES avl.c avl-cmp.c blob.c blobmsg.c uloop.c usock.c ustream.c ustream-fd.c vlist.c utils.c safe_list.c runqueue.c md5.c kvlist.c ulog.c base64.c)
+
+ ADD_LIBRARY(ubox SHARED ${SOURCES})
++SET_TARGET_PROPERTIES(ubox PROPERTIES VERSION 1.0.1 SOVERSION 1)
+ ADD_LIBRARY(ubox-static STATIC ${SOURCES})
+ SET_TARGET_PROPERTIES(ubox-static PROPERTIES OUTPUT_NAME ubox)
+
+@@ -46,6 +47,7 @@ find_library(json NAMES json-c)
+ IF(EXISTS ${json})
+ ADD_LIBRARY(blobmsg_json SHARED blobmsg_json.c)
+ TARGET_LINK_LIBRARIES(blobmsg_json ubox ${json})
++ SET_TARGET_PROPERTIES(blobmsg_json PROPERTIES VERSION 1.0.1 SOVERSION 1)
+
+ ADD_LIBRARY(blobmsg_json-static STATIC blobmsg_json.c)
+ SET_TARGET_PROPERTIES(blobmsg_json-static
+@@ -55,6 +57,7 @@ IF(EXISTS ${json})
+ TARGET_LINK_LIBRARIES(jshn blobmsg_json ${json})
+
+ ADD_LIBRARY(json_script SHARED json_script.c)
++ SET_TARGET_PROPERTIES(json_script PROPERTIES VERSION 1.0.1 SOVERSION 1)
+ TARGET_LINK_LIBRARIES(json_script ubox)
+
+ INSTALL(TARGETS blobmsg_json blobmsg_json-static jshn json_script
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/fix-libdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/fix-libdir.patch
new file mode 100644
index 000000000..6f09c8b29
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox/fix-libdir.patch
@@ -0,0 +1,40 @@
+[PATCH] fix the CMAKE_INSTALL_LIBDIR
+
+Upstream-Status: Pending
+
+libdir maybe /usr/lib64 for 64bit machine
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ CMakeLists.txt | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57804cf..2c7bdc1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -35,8 +35,8 @@ INSTALL(FILES ${headers}
+ DESTINATION include/libubox
+ )
+ INSTALL(TARGETS ubox ubox-static
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+
+ ADD_SUBDIRECTORY(lua)
+@@ -58,8 +58,8 @@ IF(EXISTS ${json})
+ TARGET_LINK_LIBRARIES(json_script ubox)
+
+ INSTALL(TARGETS blobmsg_json blobmsg_json-static jshn json_script
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION bin
+ )
+
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
new file mode 100644
index 000000000..609281a85
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/libubox/libubox_git.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "C utility functions for OpenWrt"
+SECTION = "libs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "\
+ file://avl.c;endline=39;md5=00810155fed3d604816ec5814523d60a \
+ file://avl-cmp.c;endline=15;md5=1603e6094b432a5f3f320877a06f41b5 \
+ file://base64.c;endline=61;md5=51fdff010d45b0086ac0a6e035693dc0 \
+ file://blobmsg.c;endline=15;md5=7ed64c1570e8c9b46c4fc6fbd16c489e \
+ file://list.h;endline=28;md5=2d5f5475fbd0f08741354c5a99c2e983 \
+ file://md5.h;endline=39;md5=048bf9f68963c207a0c2b3a94c9d2aaa \
+ file://md5.c;endline=51;md5=0a448eea0bcbc89e3c7e6608f2d119a0 \
+ file://usock.h;endline=18;md5=f0dfdc8de858e66d66d74036611bba14 \
+"
+
+SRC_URI = "\
+ git://git.openwrt.org/project/libubox.git \
+ file://0001-version-libraries.patch \
+ file://fix-libdir.patch \
+"
+
+SRCREV = "155bf39896f126b1ba121b816922a88dc34c31e3"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+DEPENDS = "json-c"
+
+EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_LUA=OFF"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb
new file mode 100644
index 000000000..c2f5ec0dc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/log4cplus/log4cplus_1.2.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "log4cplus provides a simple C++ logging API for log management"
+SECTION = "libs"
+HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
+BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"
+
+LICENSE = "Apache-2.0 & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cedaa287ececcb94f9f2880d9c4ef085"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}-stable/${PV}/${BP}.tar.gz"
+SRC_URI[md5sum] = "e250f0f431c0723f8b625323e7b6465d"
+SRC_URI[sha256sum] = "ad5ec3b62f2f0bdc7f06fa398bde61091fd2493e91059e17315b5197420dcf04"
+
+inherit autotools pkgconfig
+
+BBCLASSEXTEND += "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch
new file mode 100644
index 000000000..3e4aa7308
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/ltp-Do-not-link-against-libfl.patch
@@ -0,0 +1,31 @@
+From 5bda9c0af56869c6ff2c25d38ea087179c946bc6 Mon Sep 17 00:00:00 2001
+From: Chong Lu <Chong.Lu@windriver.com>
+Date: Tue, 11 Mar 2014 14:47:22 +0800
+Subject: [PATCH] ltp: Don't link against libfl
+
+We have already defined yywrap function in scan.l file. After this, we no longer need to
+link against libfl and so no longer get errors about undefined references to yylex.
+
+Upstream-status: Pending
+
+Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
+---
+ pan/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pan/Makefile b/pan/Makefile
+index 4cc6466..a4b575b 100644
+--- a/pan/Makefile
++++ b/pan/Makefile
+@@ -31,7 +31,7 @@ CPPFLAGS += -Wno-error
+
+ CPPFLAGS += -I$(abs_srcdir)
+
+-LDLIBS += -lm $(LEXLIB)
++LDLIBS += -lm
+
+ LFLAGS += -l
+
+--
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb
new file mode 100644
index 000000000..62117b136
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_1.0.0.bb
@@ -0,0 +1,97 @@
+SUMMARY = "Embedded Linux Device Driver Tests based on Linux Test Project"
+HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+PROVIDES += "ltp"
+DEPENDS += "zip-native virtual/kernel alsa-lib"
+
+RDEPENDS_${PN} += "pm-qa serialcheck"
+
+inherit autotools module-base kernel-module-split
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRCREV = "f086bed6cc88bf102eaad0e96cb7ebe79944a8ad"
+BRANCH ?= "master"
+
+SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \
+ file://ltp-Do-not-link-against-libfl.patch \
+"
+
+S = "${WORKDIR}/git"
+
+LTPROOT = "/opt/ltp"
+
+EXTRA_OEMAKE_append = " \
+ prefix=${LTPROOT} \
+ CROSS_COMPILE=${HOST_PREFIX} \
+ SKIP_IDCHECK=1 \
+ KERNEL_PATH=${STAGING_KERNEL_DIR} \
+ KERNEL_INC=${STAGING_KERNEL_DIR} \
+ KERNEL_USR_INC=${STAGING_INCDIR} \
+ ALSA_INCPATH=${STAGING_INCDIR} \
+ ALSA_LIBPATH=${STAGING_LIBDIR} \
+ PLATFORM=${MACHINE} \
+ RANLIB=${RANLIB} \
+ DESTDIR=${D} \
+ CC='${CC}' \
+ KERNEL_CC='${KERNEL_CC}' \
+"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+FILES_${PN}-dbg += " \
+ ${LTPROOT}/.debug \
+ ${LTPROOT}/bin/.debug \
+ ${LTPROOT}/runtest/.debug \
+ ${LTPROOT}/testcases/bin/.debug \
+ ${LTPROOT}/testcases/bin/*/bin/.debug \
+ ${LTPROOT}/testcases/bin/*/test/.debug \
+ ${LTPROOT}/testcases/bin/ddt/.debug \
+ ${LTPROOT}/testcases/bin/ddt/*/bin/.debug \
+ ${LTPROOT}/testcases/bin/ddt/*/test/.debug \
+ ${LTPROOT}/testcases/realtime/*/*/.debug \
+"
+
+FILES_${PN}-staticdev += "${LTPROOT}/lib"
+FILES_${PN} += "${LTPROOT}/*"
+
+KERNEL_MODULES_META_PACKAGE = "${PN}"
+
+kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt"
+
+# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call.
+# we explicitly force regeneration of that directory and pass configure options.
+do_configure_append() {
+ (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS})
+}
+
+# The makefiles make excessive use of make -C and several include testcases.mk
+# which triggers a build of the syscall header. To reproduce, build ltp,
+# then delete the header, then "make -j XX" and watch regen.sh run multiple
+# times. Its easier to generate this once here instead.
+do_compile_prepend () {
+ ( make -C ${B}/testcases/kernel include/linux_syscall_numbers.h )
+}
+
+do_compile_append () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake modules
+}
+
+do_install() {
+ oe_runmake install
+ install -d ${D}${datadir}
+ install -d ${D}${kmoddir}
+ mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir}
+}
+
+# do_make_scripts should be a separate task for the lock to work
+addtask make_scripts before do_compile
+do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
+do_make_scripts[deptask] = "do_populate_sysroot"
+
+# http://errors.yoctoproject.org/Errors/Details/56327/
+PNBLACKLIST[ltp-ddt] ?= "BROKEN: fails since last autotools.bbclass changes"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-not-parentheses.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-not-parentheses.patch
new file mode 100644
index 000000000..681c43da0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-not-parentheses.patch
@@ -0,0 +1,38 @@
+From 876fe5680d77800426f8c4c5680a235732d722e6 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 24 Aug 2015 17:37:54 +0800
+Subject: [PATCH] ltrace: fix gcc 5 logical not parentheses
+
+Upstream-Status: Pending
+
+Build ltrace with gcc 5.2, it fails with:
+
+error: logical not is only applied to the left hand side of comparison
+[-Werror=logical-not-parentheses]
+ if (!need_data(data, offset, SIZE / 8) < 0) \
+ ^
+
+Function need_data just return 0 on success and -1 if fail. So it is ok
+to just test if (need_data(data, offset, SIZE / 8) < 0).
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ ltrace-elf.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ltrace-elf.c b/ltrace-elf.c
+index c571d2a..7fe830f 100644
+--- a/ltrace-elf.c
++++ b/ltrace-elf.c
+@@ -218,7 +218,7 @@ need_data(Elf_Data *data, GElf_Xword offset, GElf_Xword size)
+ int \
+ NAME(Elf_Data *data, GElf_Xword offset, uint##SIZE##_t *retp) \
+ { \
+- if (!need_data(data, offset, SIZE / 8) < 0) \
++ if (need_data(data, offset, SIZE / 8) < 0) \
+ return -1; \
+ \
+ if (data->d_buf == NULL) /* NODATA section */ { \
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch
new file mode 100644
index 000000000..4f89d8f2e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/configure-allow-to-disable-selinux-support.patch
@@ -0,0 +1,36 @@
+From 887a403e38f590ebf1d04ce600d94cb7a351744c Mon Sep 17 00:00:00 2001
+From: Wenzong Fan <wenzong.fan@windriver.com>
+Date: Mon, 1 Dec 2014 00:57:42 -0500
+Subject: [PATCH] ltrace: allow to enable/disable selinux support
+
+Upstream-Status: Pending
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ configure.ac | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6fe5e3b..189885a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -125,8 +125,14 @@ AC_SUBST(libstdcxx_LIBS)
+
+
+ dnl Check security_get_boolean_active availability.
+-AC_CHECK_HEADERS(selinux/selinux.h)
+-AC_CHECK_LIB(selinux, security_get_boolean_active)
++AC_ARG_ENABLE([selinux],
++ AS_HELP_STRING([--enable-selinux],[enable SELinux support [default=auto]]),
++ [], [enable_selinux=auto])
++
++if test x$enable_selinux != xno; then
++ AC_CHECK_HEADERS(selinux/selinux.h)
++ AC_CHECK_LIB(selinux, security_get_boolean_active)
++fi
+
+ dnl Whether (and which) elfutils libdw.so to use for unwinding.
+ AC_ARG_WITH(elfutils,
+--
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch
new file mode 100644
index 000000000..8f3c0ecea
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.patch
@@ -0,0 +1,49 @@
+diff --git a/value.c b/value.c
+index d18db17..b98298e 100644
+--- a/value.c
++++ b/value.c
+@@ -1,6 +1,6 @@
+ /*
+ * This file is part of ltrace.
+- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
++ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+@@ -282,9 +282,9 @@ value_init_deref(struct value *ret_val, struct value *valp)
+ if (value_extract_word(valp, &l, NULL) < 0)
+ return -1;
+
+- /* We need "long" to be long enough to hold platform
++ /* We need "long" to be long enough to hold target
+ * pointers. */
+- typedef char assert__long_enough_long[-(sizeof(l) < sizeof(void *))];
++ assert(sizeof(l) >= sizeof(arch_addr_t));
+
+ value_common_init(ret_val, valp->inferior, valp,
+ valp->type->u.ptr_info.info, 0);
+diff --git a/lens_default.c b/lens_default.c
+index ed3d0e1..5d00814 100644
+--- a/lens_default.c
++++ b/lens_default.c
+@@ -1,6 +1,6 @@
+ /*
+ * This file is part of ltrace.
+- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
++ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
+ * Copyright (C) 1998,2004,2007,2008,2009 Juan Cespedes
+ * Copyright (C) 2006 Ian Wienand
+ * Copyright (C) 2006 Steve Fink
+@@ -342,9 +342,9 @@ format_array(FILE *stream, struct value *value, struct value_dict *arguments,
+ struct expr_node *length, size_t maxlen, int before,
+ const char *open, const char *close, const char *delim)
+ {
+- /* We need "long" to be long enough to cover the whole address
+- * space. */
+- typedef char assert__long_enough_long[-(sizeof(long) < sizeof(void *))];
++ /* We need "long" to be long enough to cover the whole target
++ * address space. */
++ assert(sizeof(long) >= sizeof(arch_addr_t));
+ long l;
+ if (expr_eval_word(length, value, arguments, &l) < 0)
+ return -1;
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
new file mode 100644
index 000000000..bc4e27166
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -0,0 +1,33 @@
+SUMMARY = "ltrace intercepts and records dynamic library calls"
+
+DESCRIPTION = "ltrace intercepts and records dynamic library calls \
+which are called by an executed process and the signals received by that process. \
+It can also intercept and print the system calls executed by the program.\
+"
+HOMEPAGE = "http://ltrace.org/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+PE = "1"
+PV = "7.3+git${SRCPV}"
+SRCREV = "37ecc41b58be3dbdd79592a76e331b5b371e4f81"
+
+DEPENDS = "elfutils"
+RDEPENDS_${PN} = "elfutils"
+SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git;branch=ltrace-0.7 \
+ file://ltrace-0.7.2-unused-typedef.patch \
+ file://configure-allow-to-disable-selinux-support.patch \
+ file://0001-ltrace-fix-gcc-5-logical-not-parentheses.patch \
+ "
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
+PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
+
+do_configure_prepend () {
+ ( cd ${S}; ./autogen.sh )
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/lua.pc.in b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/lua.pc.in
new file mode 100644
index 000000000..c27e86e85
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/lua.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+libdir=${prefix}/lib
+includedir=${prefix}/include
+
+Name: Lua
+Description: Lua language engine
+Version: @VERSION@
+Requires:
+Libs: -L${libdir} -llua -lm -ldl
+Cflags: -I${includedir}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/run-ptest b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/run-ptest
new file mode 100644
index 000000000..8e085e1af
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/run-ptest
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+cd test
+lua -e"_U=true" all.lua > lua-test.tmp
+
+echo "--- test output ---"
+cat lua-test.tmp
+echo ""
+echo ""
+echo "--- ptest result ---"
+
+grep "final OK \!\!\!" lua-test.tmp > /dev/null
+if [ $? -eq 0 ]; then
+ echo "PASS: lua"
+else
+ echo "FAIL: lua"
+fi
+
+rm -f lua-test.tmp
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch
new file mode 100644
index 000000000..f4cdc5d8c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch
@@ -0,0 +1,13 @@
+Index: lua-5.1.4/src/Makefile
+===================================================================
+--- a/src/Makefile.orig 2013-10-22 22:17:19.929103523 -0400
++++ a/src/Makefile 2013-10-22 22:18:27.992104545 -0400
+@@ -9,7 +9,7 @@
+ CC= gcc
+ CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
+ LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
+-LIBS= -lm $(SYSLIBS) $(MYLIBS)
++LIBS= -lm -lpthread $(SYSLIBS) $(MYLIBS)
+
+ AR= ar rcu
+ RANLIB= ranlib
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.2.bb
new file mode 100644
index 000000000..07a1a433c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/lua/lua_5.3.2.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "Lua is a powerful light-weight programming language designed \
+for extending applications."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=68fc2aa2b751a37ff265524ddf026d7f"
+HOMEPAGE = "http://www.lua.org/"
+
+PR = "r0"
+
+DEPENDS = "readline"
+SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
+ file://lua.pc.in \
+ "
+SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
+ 'http://www.lua.org/tests/lua-${PV}-tests.tar.gz;name=tarballtest \
+ file://run-ptest \
+ ', '', d)}"
+
+SRC_URI[tarballsrc.md5sum] = "33278c2ab5ee3c1a875be8d55c1ca2a1"
+SRC_URI[tarballsrc.sha256sum] = "c740c7bb23a936944e1cc63b7c3c5351a8976d7867c5252c8854f7b2af9da68f"
+SRC_URI[tarballtest.md5sum] = "a2b7ab1b8ff82a0145376e233ef30a4a"
+SRC_URI[tarballtest.sha256sum] = "56909863a3713dee3709b3dbd0c868237e4f5c9ea1744f5bf0ba8bafa6c4ed32"
+
+inherit pkgconfig binconfig ptest
+
+UCLIBC_PATCHES += "file://uclibc-pthread.patch"
+SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
+
+TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
+EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"
+
+do_configure_prepend() {
+ sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
+}
+
+do_compile () {
+ oe_runmake linux
+}
+
+do_install () {
+ oe_runmake \
+ 'INSTALL_TOP=${D}${prefix}' \
+ 'INSTALL_BIN=${D}${bindir}' \
+ 'INSTALL_INC=${D}${includedir}/' \
+ 'INSTALL_MAN=${D}${mandir}/man1' \
+ 'INSTALL_SHARE=${D}${datadir}/lua' \
+ 'INSTALL_LIB=${D}${libdir}' \
+ 'INSTALL_CMOD=${D}${libdir}/lua/5.3' \
+ install
+ install -d ${D}${libdir}/pkgconfig
+
+ sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
+ install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
+ rmdir ${D}${datadir}/lua/5.3
+ rmdir ${D}${datadir}/lua
+}
+
+do_install_ptest () {
+ cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV}-tests ${D}${PTEST_PATH}/test
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch
new file mode 100644
index 000000000..f123b3f55
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch
@@ -0,0 +1,33 @@
+From 528009f5ca0685c95ef27f6c8957160499c0576a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 10 May 2013 10:42:45 -0700
+Subject: [PATCH] Do not strip automatically, this leaves the stripping
+ busines to OE
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 278324a..5ecd6d5 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -665,12 +665,10 @@ $(LUAJIT_A): $(LJVMCORE_O)
+ $(LUAJIT_SO): $(LJVMCORE_O)
+ $(E) "DYNLINK $@"
+ $(Q)$(TARGET_LD) $(TARGET_ASHLDFLAGS) -o $@ $(LJVMCORE_DYNO) $(TARGET_ALIBS)
+- $(Q)$(TARGET_STRIP) $@
+
+ $(LUAJIT_T): $(TARGET_O) $(LUAJIT_O) $(TARGET_DEP)
+ $(E) "LINK $@"
+ $(Q)$(TARGET_LD) $(TARGET_ALDFLAGS) -o $@ $(LUAJIT_O) $(TARGET_O) $(TARGET_ALIBS)
+- $(Q)$(TARGET_STRIP) $@
+ $(E) "OK Successfully built LuaJIT"
+
+ ##############################################################################
+--
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
new file mode 100644
index 000000000..a0252aa94
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/luajit/luajit_2.0.4.bb
@@ -0,0 +1,63 @@
+SUMMARY = "Just-In-Time Compiler for Lua"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=3992f1fbae3b8b061f9056b7fcda8cc6"
+HOMEPAGE = "http://luajit.org"
+
+SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz \
+ file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
+"
+SRC_URI[md5sum] = "dd9c38307f2223a504cbfb96e477eca0"
+SRC_URI[sha256sum] = "620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d"
+
+S = "${WORKDIR}/LuaJIT-${PV}"
+
+inherit pkgconfig binconfig
+
+BBCLASSEXTEND = "native"
+
+do_configure_prepend() {
+ sed -i 's:PREFIX= /usr/local:PREFIX= ${prefix}:g' ${S}/Makefile
+ sed -i 's:MULTILIB= lib:MULTILIB= ${baselib}:g' ${S}/Makefile
+}
+
+# http://luajit.org/install.html#cross
+# Host luajit needs to be compiled with the same pointer size
+# If you want to cross-compile to any 32 bit target on an x64 OS,
+# you need to install the multilib development package (e.g.
+# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
+# (HOST_CC="gcc -m32").
+BUILD_CC_ARCH_append_powerpc = ' -m32'
+BUILD_CC_ARCH_append_x86 = ' -m32'
+BUILD_CC_ARCH_append_arm = ' -m32'
+
+EXTRA_OEMAKE_append_class-target = '\
+ CROSS=${HOST_PREFIX} \
+ HOST_CC="${BUILD_CC} ${BUILD_CC_ARCH}" \
+ TARGET_CFLAGS="${TOOLCHAIN_OPTIONS} ${TARGET_CC_ARCH}" \
+ TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" \
+ TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}" \
+'
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ rmdir ${D}${datadir}/lua/5.* \
+ ${D}${datadir}/lua \
+ ${D}${libdir}/lua/5.* \
+ ${D}${libdir}/lua
+}
+
+PACKAGES += 'luajit-common'
+
+FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
+ ${libdir}/libluajit-5.1.so.${PV} \
+"
+FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
+ ${libdir}/libluajit-5.1.so \
+ ${libdir}/pkgconfig/luajit.pc \
+"
+FILES_luajit-common = "${datadir}/${BPN}-${PV}"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
new file mode 100644
index 000000000..8103cf092
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
@@ -0,0 +1,208 @@
+diff -r -c -N ../mcpp-2.7.2-old/noconfig/vc2010.dif ./noconfig/vc2010.dif
+*** ../mcpp-2.7.2-old/noconfig/vc2010.dif Wed Dec 31 20:30:00 1969
+--- ./noconfig/vc2010.dif Fri May 14 12:47:22 2010
+***************
+*** 0 ****
+--- 1,67 ----
++ *** noconfig.H Thu Sep 25 15:34:56 2008
++ --- noconfig.H.vc2005 Thu Sep 25 17:23:49 2008
++ ***************
++ *** 15,21 ****
++ */
++
++ /* Define target operating-system. */
++ ! #define SYSTEM SYS_FREEBSD
++
++ /* Define target compiler. */
++ #ifndef COMPILER
++ --- 15,21 ----
++ */
++
++ /* Define target operating-system. */
++ ! #define SYSTEM SYS_WIN32
++
++ /* Define target compiler. */
++ #ifndef COMPILER
++ ***************
++ *** 26,36 ****
++ #define HOST_SYSTEM SYSTEM
++
++ /* Define host compiler. */
++ ! #define HOST_COMPILER GNUC
++
++ /* Version message. */
++ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
++ ! #define VERSION_MSG "GCC 3.4"
++ #if 0
++ "LCC-Win32 2006-03"
++ "Visual C 2005"
++ --- 26,36 ----
++ #define HOST_SYSTEM SYSTEM
++
++ /* Define host compiler. */
++ ! #define HOST_COMPILER MSC
++
++ /* Version message. */
++ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
++ ! #define VERSION_MSG "Visual C 2010"
++ #if 0
++ "LCC-Win32 2006-03"
++ "Visual C 2005"
++ ***************
++ *** 212,221 ****
++ #define ONE_PASS TRUE
++ #endif
++ #define COMPILER_EXT "_MSC_VER"
++ ! #define COMPILER_EXT_VAL "1500" /* VC 6.0: "1200" */
++ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
++ #define COMPILER_EXT2 "_MSC_FULL_VER"
++ ! #define COMPILER_EXT2_VAL "150021022" /* VC 6.0: "12008804" */
++ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
++ /* VC 2008: "150021022" */
++ #define COMPILER_SP1 "_MSC_EXTENSIONS"
++ --- 212,221 ----
++ #define ONE_PASS TRUE
++ #endif
++ #define COMPILER_EXT "_MSC_VER"
++ ! #define COMPILER_EXT_VAL "1600" /* VC 6.0: "1200" */
++ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
++ #define COMPILER_EXT2 "_MSC_FULL_VER"
++ ! #define COMPILER_EXT2_VAL "160030319" /* VC 6.0: "12008804" */
++ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
++ /* VC 2008: "150021022" */
++ #define COMPILER_SP1 "_MSC_EXTENSIONS"
+diff -r -c -N ../mcpp-2.7.2-old/src/internal.H ./src/internal.H
+*** ../mcpp-2.7.2-old/src/internal.H Wed Aug 27 10:31:16 2008
+--- ./src/internal.H Fri May 14 12:40:56 2010
+***************
+*** 390,395 ****
+--- 390,397 ----
+ extern char identifier[]; /* Lastly scanned name */
+ extern IFINFO ifstack[]; /* Information of #if nesting */
+ extern char work_buf[];
++ extern FILEINFO * sh_file;
++ extern int sh_line;
+ /* Temporary buffer for directive line and macro expansion */
+
+ /* main.c */
+***************
+*** 557,562 ****
+ #endif
+ #endif
+
+! #if HOST_HAVE_STPCPY
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+--- 559,564 ----
+ #endif
+ #endif
+
+! #if HOST_HAVE_STPCPY && !defined(stpcpy)
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+diff -r -c -N ../mcpp-2.7.2-old/src/main.c ./src/main.c
+*** ../mcpp-2.7.2-old/src/main.c Wed Nov 5 05:04:46 2008
+--- ./src/main.c Fri May 14 12:40:56 2010
+***************
+*** 326,331 ****
+--- 326,333 ----
+ = FALSE;
+ option_flags.trig = TRIGRAPHS_INIT;
+ option_flags.dig = DIGRAPHS_INIT;
++ sh_file = NULL;
++ sh_line = 0;
+ }
+
+ int mcpp_lib_main
+diff -r -c -N ../mcpp-2.7.2-old/src/support.c ./src/support.c
+*** ../mcpp-2.7.2-old/src/support.c Tue Jun 10 06:02:33 2008
+--- ./src/support.c Fri May 14 12:40:56 2010
+***************
+*** 188,194 ****
+ size_t length
+ )
+ {
+! if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */
+ size_t size = MAX( BUF_INCR_SIZE, length);
+
+ if (mem_buf_p->buffer == NULL) { /* 1st append */
+--- 188,194 ----
+ size_t length
+ )
+ {
+! if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */
+ size_t size = MAX( BUF_INCR_SIZE, length);
+
+ if (mem_buf_p->buffer == NULL) { /* 1st append */
+***************
+*** 1722,1727 ****
+--- 1722,1729 ----
+ sp -= 2;
+ while (*sp != '\n') /* Until end of line */
+ mcpp_fputc( *sp++, OUT);
++ mcpp_fputc( '\n', OUT);
++ wrong_line = TRUE;
+ }
+ goto end_line;
+ default: /* Not a comment */
+diff -r -c -N ../mcpp-2.7.2-old/src/system.c ./src/system.c
+*** ../mcpp-2.7.2-old/src/system.c 2008-11-26 10:53:51.000000000 +0100
+--- ./src/system.c 2011-02-21 16:18:05.678058106 +0100
+***************
+*** 3534,3539 ****
+--- 3534,3565 ----
+ FILEINFO * file;
+ const char * too_many_include_nest =
+ "More than %.0s%ld nesting of #include"; /* _F_ _W4_ */
++
++ //
++ // When encoding is UTF-8, skip BOM if present.
++ //
++ if(mbchar == UTF8 && fp != NULL && ftell(fp) == 0)
++ {
++ const unsigned char UTF8_BOM[3] = {0xEF, 0xBB, 0xBF};
++ unsigned char FILE_HEAD[3] = {0, 0, 0};
++ int i;
++ for(i = 0; i < 3; ++i)
++ {
++ FILE_HEAD[i] = getc(fp);
++ if(FILE_HEAD[i] != UTF8_BOM[i])
++ {
++ if(FILE_HEAD[i] == (unsigned char)EOF)
++ {
++ i--;
++ }
++ for(; i >= 0; --i)
++ {
++ ungetc(FILE_HEAD[i], fp);
++ }
++ break;
++ }
++ }
++ }
+
+ filename = set_fname( filename); /* Search or append to fnamelist[] */
+ fullname = set_fname( fullname); /* Search or append to fnamelist[] */
+***************
+*** 3858,3863 ****
+--- 3884,3892 ----
+ }
+ #endif
+
++ FILEINFO* sh_file;
++ int sh_line;
++
+ void sharp(
+ FILEINFO * sharp_file,
+ int flag /* Flag to append to the line for GCC */
+***************
+*** 3868,3875 ****
+ * else (i.e. 'sharp_file' is NULL) 'infile'.
+ */
+ {
+- static FILEINFO * sh_file;
+- static int sh_line;
+ FILEINFO * file;
+ int line;
+
+--- 3897,3902 ----
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
new file mode 100644
index 000000000..a7163a35a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "MCPP is a portable C/C++ preprocessor"
+HOMEPAGE = "http://mcpp.sourceforge.net/"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://ice-mcpp.patch "
+SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05"
+SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864"
+
+inherit autotools
+
+EXTRA_OECONF = " --enable-mcpplib "
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/memstat/memstat_1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
new file mode 100644
index 000000000..825215372
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Display virtual memory allocation"
+DESCRIPTION = "Lists all the processes, executables, and shared libraries \
+that are using up virtual memory. It's helpful to see how the shared memory \
+is used and which 'old' libs are loaded. \
+"
+HOMEPAGE = "http://memstattool.sourceforge.net/"
+SECTION = "devtool"
+
+LICENSE = "GPLv2"
+
+S = "${WORKDIR}/memstattool"
+
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=87be186443b1ac2cfa466f475e1ee0cb"
+
+SRC_URI = "http://sourceforge.net/projects/memstattool/files/memstat_${PV}.tar.gz \
+ "
+
+SRC_URI[md5sum] = "2c3acc0c62b2a18f6601b84e54aa7462"
+SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94"
+
+do_install_append(){
+ install -d ${D}${bindir}
+ install -m 0755 memstat ${D}${bindir}
+ install -d ${D}${sysconfdir}
+ install -m 0755 memstat.conf ${D}${sysconfdir}
+ install -d ${D}${mandir}/man1
+ install -m 0644 memstat.1 ${D}${mandir}/man1
+ install -d ${D}${docdir}/${BPN}
+ install -m 0644 memstat-tutorial.txt ${D}${docdir}/${BPN}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.4.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.4.1.bb
new file mode 100644
index 000000000..303a032fb
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mercurial/mercurial-native_3.4.1.bb
@@ -0,0 +1,26 @@
+SUMMARY = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS = "python-native"
+
+SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz"
+SRC_URI[md5sum] = "65783a60aefb46a11296b587e9403537"
+SRC_URI[sha256sum] = "7a8acf7329beda38ceea29c689212574d9a6bfffe24cf565015ea0066f7cee3f"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+inherit native
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} PREFIX=${prefix}"
+
+do_configure_append () {
+ sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+}
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.1.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.1.1.bb
new file mode 100644
index 000000000..7d009068d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/mpich/mpich_3.1.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Message Passing Interface (MPI) implementation"
+HOMEPAGE = "http://www.mpich.org/"
+SECTION = "devel"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2106f0435056f3dd9349747a766e5816"
+
+SRC_URI = " \
+ http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz \
+"
+
+SRC_URI[md5sum] = "40dc408b1e03cc36d80209baaa2d32b7"
+SRC_URI[sha256sum] = "455ccfaf4ec724d2cf5d8bff1f3d26a958ad196121e7ea26504fd3018757652d"
+
+CACHED_CONFIGUREVARS += "BASH_SHELL=${base_bindir}/bash"
+
+RDEPENDS_${PN} += "bash perl libxml2"
+S = "${WORKDIR}/${BP}"
+
+EXTRA_OECONF = "--enable-debuginfo \
+ --enable-fast \
+ --enable-shared \
+ --with-pm=gforker \
+ --disable-rpath \
+ --disable-f77 \
+ --disable-fc \
+ --disable-fortran \
+ --disable-cxx"
+
+inherit autotools-brokensep gettext
+
+do_configure_prepend() {
+ autoreconf --verbose --install --force -I . -I confdb/ -I maint/
+ oe_runconf
+ exit
+}
+
+# http://errors.yoctoproject.org/Errors/Details/35146/
+PNBLACKLIST[mpich] ?= "BROKEN: QA Issue: libmpi.la failed sanity test (workdir), QA Issue: mpich.pc failed sanity test (tmpdir)"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
new file mode 100644
index 000000000..e4701afa8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "utilies to read and write Intel model-specific registers"
+HOMEPAGE = "https://01.org/msr-tools"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=11;md5=678a3928c856042424c734f4a7586e65"
+SECTION = "devel"
+
+SRC_URI = "https://01.org/sites/default/files/downloads/msr-tools/msr-tools-${PV}.zip"
+SRC_URI[md5sum] = "67d18527f64fd707c9b7a79f13d19fd5"
+SRC_URI[sha256sum] = "f9457b5340f5f274da4239a461f0db6b514142b40461559d9c6150f05aab1d1e"
+
+S = "${WORKDIR}/msr-tools-master"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 rdmsr ${D}${sbindir}
+ install -m 0755 wrmsr ${D}${sbindir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja-native_1.6.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja-native_1.6.0.bb
new file mode 100644
index 000000000..c00710afd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/ninja/ninja-native_1.6.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Ninja is a small build system with a focus on speed."
+HOMEPAGE = "http://martine.github.com/ninja/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e"
+
+DEPENDS = "re2c-native"
+
+inherit native
+
+SRCREV="484c16336f19bd8970bb6e75322d61b92a229899"
+
+SRC_URI = "git://github.com/martine/ninja.git;branch=release"
+
+S="${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+ python ${S}/configure.py --bootstrap
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/ninja ${D}${bindir}/
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch
new file mode 100644
index 000000000..ed2473897
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch
@@ -0,0 +1,59 @@
+Bugfix for --no-registry in nodejs-v0.12.2
+
+diff -u -r node-v0.12.2_def/deps/npm/lib/cache/caching-client.js node-v0.12.2/deps/npm/lib/cache/caching-client.js
+--- node-v0.12.2_def/deps/npm/lib/cache/caching-client.js 2015-04-01 01:13:01.000000000 +0300
++++ node-v0.12.2/deps/npm/lib/cache/caching-client.js 2015-05-18 00:47:10.738599686 +0300
+@@ -67,6 +67,22 @@
+ var cacheBase = cacheFile(npm.config.get("cache"))(uri)
+ var cachePath = path.join(cacheBase, ".cache.json")
+
++ if (parsed.host === "noregistry") (function() {
++ var stat = null
++ var file = npm.config.get("cache") + parsed.pathname + "/.cache.json"
++ try {
++ stat = fs.statSync(cachePath)
++ } catch (ex) {}
++ if (!stat) try {
++ stat = fs.statSync(file)
++ cachePath = file
++ } catch (ex) {
++ stat = "Registry not defined and registry files not found: \"" +
++ cachePath + "\", \"" + file + "\"."
++ throw new Error(stat)
++ }
++ })()
++
+ // If the GET is part of a write operation (PUT or DELETE), then
+ // skip past the cache entirely, but still save the results.
+ if (uri.match(/\?write=true$/)) {
+@@ -83,12 +99,17 @@
+ }
+ catch (ex) {
+ data = null
++ if (parsed.host === "noregistry")
++ throw new Error("File \"" + cachePath+"\"" + " corrupted.")
+ }
+
+ params.stat = stat
+ params.data = data
+
+- get_.call(client, uri, cachePath, params, cb)
++ if (parsed.host === "noregistry")
++ cb(null, data, JSON.stringify(data), { statusCode : 304 })
++ else
++ get_.call(client, uri, cachePath, params, cb)
+ })
+ }
+ else {
+diff -u -r node-v0.12.2_def/deps/npm/lib/utils/map-to-registry.js node-v0.12.2/deps/npm/lib/utils/map-to-registry.js
+--- node-v0.12.2_def/deps/npm/lib/utils/map-to-registry.js 2015-04-01 01:13:01.000000000 +0300
++++ node-v0.12.2/deps/npm/lib/utils/map-to-registry.js 2015-05-18 01:15:10.030569613 +0300
+@@ -45,6 +45,8 @@
+
+ log.silly("mapToRegistry", "registry", registry)
+
++ if (!registry) return cb(null, "http://noregistry/" + name, {})
++
+ var auth = config.getCredentialsByURI(registry)
+
+ // normalize registry URL so resolution doesn't drop a piece of registry URL
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.4.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.4.3.bb
new file mode 100644
index 000000000..43761aeac
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_4.4.3.bb
@@ -0,0 +1,84 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=96aa1ac122c41f8c08a0683d4b2126b5"
+
+DEPENDS = "openssl"
+
+COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+ file://no-registry.patch \
+"
+SRC_URI[md5sum] = "74e83c9c512bd99b38a02edd740b4334"
+SRC_URI[sha256sum] = "57499bb0b1b86080459d4066e3c138579a278b2d0b1f5b2f19e66c69b4e8433c"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+ import re
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('powerpc64$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)}"
+GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
+ARCHFLAGS ?= ""
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+ export LD="${CXX}"
+ GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+ # $TARGET_ARCH settings don't match --dest-cpu settings
+ ./configure --prefix=${prefix} --without-snapshot --shared-openssl \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', True), d)}" \
+ --dest-os=linux \
+ ${ARCHFLAGS}
+}
+
+do_compile () {
+ export LD="${CXX}"
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+do_install_append_class-native() {
+ # use node from PATH instead of absolute path to sysroot
+ # node-v0.10.25/tools/install.py is using:
+ # shebang = os.path.join(node_prefix, 'bin/node')
+ # update_shebang(link_path, shebang)
+ # and node_prefix can be very long path to bindir in native sysroot and
+ # when it exceeds 128 character shebang limit it's stripped to incorrect path
+ # and npm fails to execute like in this case with 133 characters show in log.do_install:
+ # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
+ # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
+ # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
+ # npm-cli.js continues to use old shebang
+ sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+do_install_append_class-target() {
+ sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm"
+RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES_${PN}-systemtap = "${datadir}/systemtap"
+
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
new file mode 100644
index 000000000..14e75dc7a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Packages required for a target (on-device) SDK"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
+
+PR = "r1"
+
+inherit packagegroup allarch
+
+RPROVIDES_${PN} += "packagegroup-native-sdk"
+RREPLACES_${PN} += "packagegroup-native-sdk"
+RCONFLICTS_${PN} += "packagegroup-native-sdk"
+RDEPENDS_${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \
+ binutils-symlinks \
+ perl-modules \
+ flex flex-dev \
+ bison \
+ gawk \
+ sed \
+ grep \
+ autoconf automake \
+ make \
+ patch diffstat diffutils \
+ libstdc++-dev \
+ libtool libtool-dev \
+ pkgconfig"
+
+# usefull, but not in oe-core/meta-oe yet: patchutils
+RRECOMMENDS_${PN} = " g77-symlinks gfortran-symlinks"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch
new file mode 100644
index 000000000..ecf8e7493
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch
@@ -0,0 +1,166 @@
+From 869e52a9055c72970fed036a1510f676e6ce0824 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 13 Jun 2013 01:24:19 -0700
+Subject: [PATCH] Don't call deprecated glib functions and use the new gthread
+ API.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate[version Unmaintained Upstream]
+---
+ client/pk-console.c | 3 ++-
+ client/pk-generate-pack.c | 3 ++-
+ client/pk-monitor.c | 3 ++-
+ contrib/command-not-found/PackageKit.sh | 2 +-
+ contrib/command-not-found/pk-command-not-found.c | 4 ++--
+ contrib/debuginfo-install/pk-debuginfo-install.c | 4 ++--
+ src/pk-backend.c | 7 +++++++
+ src/pk-main.c | 4 ++--
+ 10 files changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/client/pk-console.c b/client/pk-console.c
+index de927e1..2435f27 100644
+--- a/client/pk-console.c
++++ b/client/pk-console.c
+@@ -1264,11 +1264,12 @@ main (int argc, char *argv[])
+ bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+-
++#if !GLIB_CHECK_VERSION(2,32,0)
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+ g_type_init ();
+ dbus_g_thread_init ();
++#endif
+
+ /* do stuff on ctrl-c */
+ signal (SIGINT, pk_console_sigint_cb);
+diff --git a/client/pk-generate-pack.c b/client/pk-generate-pack.c
+index 0b2b40f..20d7e8d 100644
+--- a/client/pk-generate-pack.c
++++ b/client/pk-generate-pack.c
+@@ -251,12 +251,13 @@ main (int argc, char *argv[])
+ bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+-
++#if !GLIB_CHECK_VERSION(2,32,0)
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+
+ g_type_init ();
+ dbus_g_thread_init ();
++#endif
+
+ /* do stuff on ctrl-c */
+ signal (SIGINT, pk_generate_pack_sigint_cb);
+diff --git a/client/pk-monitor.c b/client/pk-monitor.c
+index f230f7a..d43007f 100644
+--- a/client/pk-monitor.c
++++ b/client/pk-monitor.c
+@@ -285,11 +285,12 @@ main (int argc, char *argv[])
+ bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+-
++#if !GLIB_CHECK_VERSION(2,32,0)
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+ g_type_init ();
+ dbus_g_thread_init ();
++#endif
+
+ context = g_option_context_new (NULL);
+ /* TRANSLATORS: this is a program that monitors PackageKit */
+diff --git a/contrib/command-not-found/PackageKit.sh b/contrib/command-not-found/PackageKit.sh
+index d08989c..d708fff 100644
+--- a/contrib/command-not-found/PackageKit.sh
++++ b/contrib/command-not-found/PackageKit.sh
+@@ -18,7 +18,7 @@ command_not_found_handle () {
+
+ # run the command, or just print a warning
+ if [ $runcnf -eq 1 ]; then
+- /home/hughsie/.root/libexec/pk-command-not-found $1
++ /usr/lib/packagekit/pk-command-not-found $1
+ retval=$?
+ else
+ echo "bash: $1: command not found"
+diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
+index 70679c0..9f81ce4 100644
+--- a/contrib/command-not-found/pk-command-not-found.c
++++ b/contrib/command-not-found/pk-command-not-found.c
+@@ -659,12 +659,12 @@ main (int argc, char *argv[])
+ bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+-
++#if !GLIB_CHECK_VERSION(2,32,0)
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+ dbus_g_thread_init ();
+ g_type_init ();
+-
++#endif
+ context = g_option_context_new (NULL);
+ /* TRANSLATORS: tool that gets called when the command is not found */
+ g_option_context_set_summary (context, _("PackageKit Command Not Found"));
+diff --git a/contrib/debuginfo-install/pk-debuginfo-install.c b/contrib/debuginfo-install/pk-debuginfo-install.c
+index c12aca5..b0e1e7c 100644
+--- a/contrib/debuginfo-install/pk-debuginfo-install.c
++++ b/contrib/debuginfo-install/pk-debuginfo-install.c
+@@ -532,11 +532,11 @@ main (int argc, char *argv[])
+ bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+-
++#if !GLIB_CHECK_VERSION(2,32,0)
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+ g_type_init ();
+-
++#endif
+ context = g_option_context_new (NULL);
+ /* TRANSLATORS: tool that gets called when the command is not found */
+ g_option_context_set_summary (context, _("PackageKit Debuginfo Installer"));
+diff --git a/src/pk-backend.c b/src/pk-backend.c
+index 5216b63..5b83ae4 100644
+--- a/src/pk-backend.c
++++ b/src/pk-backend.c
+@@ -2103,7 +2103,14 @@ pk_backend_thread_create (PkBackend *backend, PkBackendThreadFunc func)
+ egg_warning ("already has thread");
+ return FALSE;
+ }
++#if !GLIB_CHECK_VERSION(2,32,0)
+ backend->priv->thread = g_thread_create ((GThreadFunc) func, backend, FALSE, NULL);
++#else
++ backend->priv->thread = g_thread_try_new ("daemon thread", (GThreadFunc) func, backend, NULL);
++ if (backend->priv->thread != NULL) {
++ g_thread_unref(backend->priv->thread);
++ }
++#endif
+ if (backend->priv->thread == NULL) {
+ egg_warning ("failed to create thread");
+ return FALSE;
+diff --git a/src/pk-main.c b/src/pk-main.c
+index 4c758cd..8fa2482 100644
+--- a/src/pk-main.c
++++ b/src/pk-main.c
+@@ -219,12 +219,12 @@ main (int argc, char *argv[])
+ bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+-
++#if !GLIB_CHECK_VERSION(2,32,0)
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+ dbus_g_thread_init ();
+ g_type_init ();
+-
++#endif
+ /* TRANSLATORS: describing the service that is running */
+ context = g_option_context_new (_("PackageKit service"));
+ g_option_context_add_main_entries (context, options, NULL);
+--
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch
new file mode 100644
index 000000000..48f959186
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch
@@ -0,0 +1,13 @@
+Index: PackageKit-0.6.0/configure.ac
+===================================================================
+--- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000
++++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000
+@@ -90,7 +90,7 @@
+ enable_strict=$default_strict)
+ if test x$enable_strict != xno; then
+ if test "$GCC" = "yes"; then
+- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror"
++ :
+ fi
+ fi
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch
new file mode 100644
index 000000000..5a73a19d5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch
@@ -0,0 +1,422 @@
+Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c
+===================================================================
+--- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000
++++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000
+@@ -29,8 +29,7 @@
+
++#include <stdio.h>
+ #include <libopkg/opkg.h>
+
+-static opkg_t *opkg;
+-
+ enum {
+ SEARCH_NAME,
+ SEARCH_DESCRIPTION,
+@@ -62,7 +60,7 @@
+ * check an opkg package for known GUI dependancies
+ */
+ static gboolean
+-opkg_is_gui_pkg (opkg_package_t *pkg)
++opkg_is_gui_pkg (pkg_t *pkg)
+ {
+
+ /* TODO: check appropriate tag */
+@@ -84,7 +82,7 @@
+ * check an opkg package to determine if it is a development package
+ */
+ static gboolean
+-opkg_is_devel_pkg (opkg_package_t *pkg)
++opkg_is_devel_pkg (pkg_t *pkg)
+ {
+ if (g_strrstr (pkg->name, "-dev"))
+ return TRUE;
+@@ -105,7 +103,7 @@
+ * returns true if the tag is present
+ */
+ static gboolean
+-opkg_check_tag (opkg_package_t *pkg, const gchar *tag)
++opkg_check_tag (pkg_t *pkg, const gchar *tag)
+ {
+ if (pkg->tags && tag)
+ return (g_strrstr (pkg->tags, tag) != NULL);
+@@ -118,7 +116,7 @@
+ {
+ switch (err)
+ {
+- case OPKG_NO_ERROR:
++/* case OPKG_NO_ERROR:
+ break;
+ case OPKG_PACKAGE_NOT_INSTALLED:
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
+@@ -140,7 +138,7 @@
+ break;
+ case OPKG_PACKAGE_NOT_AVAILABLE:
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL);
+- break;
++ break;*/
+ default:
+ opkg_unknown_error (backend, err, "Update package");
+ }
+@@ -152,7 +150,7 @@
+ static void
+ backend_initialize (PkBackend *backend)
+ {
+- opkg = opkg_new ();
++ int opkg = opkg_new ();
+
+ if (!opkg) {
+ pk_backend_error_code (backend,
+@@ -162,8 +160,8 @@
+ }
+
+ #ifdef OPKG_OFFLINE_ROOT
+- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT);
+- opkg_re_read_config_files (opkg);
++ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT);
++ opkg_re_read_config_files ();
+ #endif
+
+ }
+@@ -174,22 +172,22 @@
+ static void
+ backend_destroy (PkBackend *backend)
+ {
+- opkg_free (opkg);
++ opkg_free ();
+ }
+
+
+ static void
+-pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data)
++pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data)
+ {
+- PkBackend *backend = PK_BACKEND (data);
++ PkBackend *backend = (PkBackend*) data;
+ if (!backend)
+ return;
+
+ pk_backend_set_percentage (backend, pdata->percentage);
+- if (pdata->package)
++ if (pdata->pkg)
+ {
+ gchar *uid;
+- opkg_package_t *pkg = pdata->package;
++ pkg_t *pkg = pdata->pkg;
+ gint status = PK_INFO_ENUM_UNKNOWN;
+
+ uid = g_strdup_printf ("%s;%s;%s;",
+@@ -225,12 +223,12 @@
+ {
+ int ret;
+
+- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend);
++ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend);
+
+ if (ret) {
+- if (ret == OPKG_DOWNLOAD_FAILED)
+- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
+- else
++// if (ret == OPKG_DOWNLOAD_FAILED)
++// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
++// else
+ opkg_unknown_error (backend, ret, "Refreshing cache");
+ }
+ pk_backend_finished (backend);
+@@ -256,7 +254,7 @@
+ */
+
+ static void
+-pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
++pk_opkg_package_list_cb (pkg_t *pkg, void *data)
+ {
+ SearchParams *params = (SearchParams*) data;
+ gchar *uid;
+@@ -298,7 +296,7 @@
+ uid = g_strdup_printf ("%s;%s;%s;",
+ pkg->name, pkg->version, pkg->architecture);
+
+- if (pkg->installed)
++ if (pkg->state_status == SS_INSTALLED)
+ status = PK_INFO_ENUM_INSTALLED;
+ else
+ status = PK_INFO_ENUM_AVAILABLE;
+@@ -318,10 +316,10 @@
+ opkg_is_gui_pkg (pkg))
+ goto end_handle;
+ if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) &&
+- (!pkg->installed))
++ (pkg->state_status != SS_INSTALLED))
+ goto end_handle;
+ if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) &&
+- (pkg->installed))
++ (pkg->state_status == SS_INSTALLED))
+ goto end_handle;
+
+ pk_backend_package (params->backend, status, uid, pkg->description);
+@@ -338,7 +336,7 @@
+
+ params = pk_backend_get_pointer (backend, "search-params");
+
+- opkg_list_packages (opkg, pk_opkg_package_list_cb, params);
++ opkg_list_packages (pk_opkg_package_list_cb, params);
+
+ pk_backend_finished (params->backend);
+
+@@ -349,7 +347,7 @@
+ }
+
+ static void
+-backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search)
++backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search)
+ {
+ SearchParams *params;
+
+@@ -360,7 +358,7 @@
+ params = g_new0 (SearchParams, 1);
+ params->filters = filters;
+ params->search_type = SEARCH_NAME;
+- params->needle = g_utf8_strdown (search, -1);
++ params->needle = g_utf8_strdown (search[0], -1);
+ params->backend = backend;
+
+ pk_backend_set_pointer (backend, "search-params", params);
+@@ -371,7 +369,7 @@
+ * backend_search_description:
+ */
+ static void
+-backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search)
++backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search)
+ {
+ SearchParams *params;
+
+@@ -382,7 +380,7 @@
+ params = g_new0 (SearchParams, 1);
+ params->filters = filters;
+ params->search_type = SEARCH_DESCRIPTION;
+- params->needle = g_utf8_strdown (search, -1);
++ params->needle = g_utf8_strdown (search[0], -1);
+ params->backend = backend;
+
+ pk_backend_set_pointer (backend, "search-params", params);
+@@ -390,7 +388,7 @@
+ }
+
+ static void
+-backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search)
++backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search)
+ {
+ SearchParams *params;
+
+@@ -401,7 +399,7 @@
+ params = g_new0 (SearchParams, 1);
+ params->filters = filters;
+ params->search_type = SEARCH_TAG;
+- params->needle = g_strdup_printf ("group::%s", search);
++ params->needle = g_strdup_printf ("group::%s", search[0]);
+ params->backend = backend;
+
+ pk_backend_set_pointer (backend, "search-params", params);
+@@ -412,9 +410,9 @@
+ static gboolean
+ backend_install_packages_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
+ gint err, i;
+ gchar **package_ids;
++ gchar **parts;
+
+ package_ids = pk_backend_get_strv (backend, "pkids");
+
+@@ -424,13 +422,13 @@
+ {
+ pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL);
+
+- pi = pk_package_id_new_from_string (package_ids[i]);
++ parts = pk_package_id_split (package_ids[i]);
+
+- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend);
++ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
+ if (err)
+ handle_install_error (backend, err);
+
+- pk_package_id_free (pi);
++ g_strfreev (parts);
+ if (err != 0)
+ break;
+ }
+@@ -453,9 +451,9 @@
+ static gboolean
+ backend_remove_packages_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
+ gint err, i;
+ gchar **package_ids;
++ gchar **parts;
+ gboolean allow_deps;
+ gboolean autoremove;
+ gpointer *data;
+@@ -467,29 +465,30 @@
+ autoremove = GPOINTER_TO_INT (data[2]);
+ g_free (data);
+
+- opkg_set_option (opkg, (char *)"autoremove", &autoremove);
+- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps);
++ opkg_set_option ((char *)"autoremove", &autoremove);
++ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps);
+
+ err = 0;
+
+ for (i = 0; package_ids[i]; i++)
+ {
+- pi = pk_package_id_new_from_string (package_ids[i]);
+ pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL);
+
+- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend);
++ parts = pk_package_id_split (package_ids[i]);
++
++ err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
+
+ switch (err)
+ {
+- case OPKG_NO_ERROR:
+- break;
+- case OPKG_PACKAGE_NOT_INSTALLED:
+- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
+- break;
++ //case OPKG_NO_ERROR:
++ // break;
++ //case OPKG_PACKAGE_NOT_INSTALLED:
++ // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
++ // break;
+ default:
+ opkg_unknown_error (backend, err, "Remove");
+ }
+- pk_package_id_free (pi);
++ g_strfreev (parts);
+
+ if (err != 0)
+ break;
+@@ -540,7 +539,7 @@
+ gint err;
+
+ /* FIXME: support only_trusted */
+- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend);
++ err = opkg_upgrade_all (pk_opkg_progress_cb, backend);
+
+ if (err)
+ opkg_unknown_error (backend, err, "Upgrading system");
+@@ -564,29 +563,28 @@
+ static gboolean
+ backend_update_package_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
++ gchar **parts;
+ gint err = 0;
+ const gchar *package_id;
+
+ /* FIXME: support only_trusted */
+ package_id = pk_backend_get_string (backend, "pkgid");
+- pi = pk_package_id_new_from_string (package_id);
++ parts = pk_package_id_split (package_id);
+
+- if (!pi->name || !pi->version)
++ if (!parts)
+ {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "Package not found");
+- pk_package_id_free (pi);
+ pk_backend_finished (backend);
+ return FALSE;
+ }
+
+- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend);
++ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
+ if (err)
+ handle_install_error (backend, err);
+
+
+- pk_package_id_free (pi);
++ g_strfreev (parts);
+ pk_backend_finished (backend);
+ return (err != 0);
+ }
+@@ -610,13 +608,13 @@
+ */
+
+ static void
+-pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
++pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data)
+ {
+- PkBackend *backend = PK_BACKEND (data);
++ PkBackend *backend = (PkBackend*) data;
+ gchar *uid;
+ gint status;
+
+- if (pkg->installed)
++ if (pkg->state_status == SS_INSTALLED)
+ status = PK_INFO_ENUM_INSTALLED;
+ else
+ status = PK_INFO_ENUM_AVAILABLE;
+@@ -631,7 +629,7 @@
+ static gboolean
+ backend_get_updates_thread (PkBackend *backend)
+ {
+- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend);
++ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend);
+ pk_backend_finished (backend);
+ return TRUE;
+ }
+@@ -668,16 +666,18 @@
+ static gboolean
+ backend_get_details_thread (PkBackend *backend)
+ {
+- PkPackageId *pi;
+ gchar **package_ids;
++ gchar **parts;
+ int group_index;
+ PkGroupEnum group = 0;
+- opkg_package_t *pkg;
++ pkg_t *pkg;
+ gchar *newid;
+
+ package_ids = pk_backend_get_strv(backend, "package_ids");
+- pi = pk_package_id_new_from_string (package_ids[0]);
+- if (pi == NULL)
++ parts = pk_package_id_split (package_ids[0]);
++
++
++ if (!parts)
+ {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id");
+ pk_backend_finished (backend);
+@@ -685,8 +685,8 @@
+ }
+
+
+- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data);
+- pk_package_id_free (pi);
++ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]);
++ g_strfreev (parts);
+
+ if (!pkg)
+ {
+@@ -695,7 +695,7 @@
+ return FALSE;
+ }
+
+- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository);
++ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name);
+
+ if (pkg->tags) {
+ for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) {
+@@ -706,9 +706,8 @@
+ }
+ }
+
+- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
++ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size);
+ g_free (newid);
+- opkg_package_free(pkg);
+ pk_backend_finished (backend);
+ return TRUE;
+ }
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
new file mode 100644
index 000000000..3633f299d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
@@ -0,0 +1,65 @@
+SUMMARY = "PackageKit package management abstraction"
+SECTION = "libs"
+LICENSE = "GPL-2.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "gtk+ python polkit dbus dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native"
+RDEPENDS_${PN} = "opkg bash"
+
+inherit gnome pythonnative
+
+SRC_URI = "http://www.freedesktop.org/software/PackageKit/releases/PackageKit-${PV}.tar.bz2;name=archive \
+ file://configurefix.patch \
+ file://opkgfixes.patch \
+ file://0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch \
+ "
+
+SRC_URI[archive.md5sum] = "33a3127e9ed41e26671786aee9fe56ff"
+SRC_URI[archive.sha256sum] = "8dae41493dfb011442746d252b3435bf3204e17bf7c47e396f90fbd215260e14"
+
+S = "${WORKDIR}/PackageKit-${PV}"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[service-packs] = "--enable-service-packs,--disable-service-packs,libarchive"
+
+EXTRA_OECONF = "--with-security-framework=dummy \
+ --with-default-backend=opkg \
+ --enable-opkg \
+ --disable-tests \
+ --disable-ruck \
+ --disable-qt \
+ --disable-gstreamer-plugin \
+ --disable-local \
+ --disable-networkmanager \
+ --disable-device-rebind \
+ ac_cv_path_XMLTO=no \
+"
+
+#do_configure_prepend() {
+# mkdir -p m4
+# echo "EXTRA_DIST=" > gtk-doc.make
+#}
+
+do_configure_append() {
+ for i in $(find . -name Makefile) ; do
+ sed -i -e s:${STAGING_DIR_NATIVE}::g \
+ -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \
+ $i
+ done
+}
+
+PACKAGES =+ "${PN}-website"
+FILES_${PN}-website = "${datadir}/PackageKit/website"
+
+PACKAGES =+ "${PN}-python"
+FILES_${PN}-python = "${libdir}/python*"
+
+PACKAGES =+ "${PN}-gtkmodule"
+FILES_${PN}-gtkmodule = "${libdir}/gtk-2.0/*/*.so"
+
+FILES_${PN} += "${libdir}/packagekit-backend/*.so ${libdir}/pm-utils ${datadir}/dbus-1/system-services/ ${datadir}/PolicyKit ${datadir}/PackageKit"
+FILES_${PN}-dbg += "${libdir}/packagekit-backend/.debug/*.so ${libdir}/gtk-2.0/*/.debug"
+FILES_${PN}-dev += "${libdir}/packagekit-backend/*.la ${libdir}/gtk-2.0/*/*.la"
+FILES_${PN}-staticdev += "${libdir}/packagekit-backend/*.a ${libdir}/gtk-2.0/*/*.a"
+
+# PackageKit-0.5.6/backends/opkg/pk-backend-opkg.c:31:26: fatal error: libopkg/opkg.h: No such file or directory
+PNBLACKLIST[packagekit] ?= "BROKEN: depends on old deprecated libopkg which is currently disabled and will be removed soon"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
new file mode 100644
index 000000000..66054a257
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/ipc-run_0.94.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "\
+IPC::Run allows you run and interact with child processes \
+using files, pipes, and pseudo-ttys. Both system()-style and scripted \
+usages are supported and may be mixed. Likewise, functional and OO API \
+styles are both supported and may be mixed."
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
+DEPENDS = "perl"
+
+SRC_URI = "git://github.com/toddr/IPC-Run.git"
+SRCREV = "6bdf41e276e06d23e140783b13a6eaef4745c216"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb
new file mode 100644
index 000000000..b1a95e577
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/perl/libio-pty-perl_1.12.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Perl module for pseudo tty IO"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "11695a1a516b3bd1b90ce75ff0ce3e6d"
+SRC_URI[sha256sum] = "a2ef8770d3309178203f8c8ac25e623e63cf76e97830fd3be280ade1a555290d"
+
+S = "${WORKDIR}/IO-Tty-${PV}"
+
+inherit cpan
+
+FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.18/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.18/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
new file mode 100644
index 000000000..39c334f39
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php-5.6.18/change-AC_TRY_RUN-to-AC_TRY_LINK.patch
@@ -0,0 +1,56 @@
+[PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK
+
+Upstream-Status: Pending
+
+AC_TRY_RUN is not suitable for cross-compile
+
+Signed-off-by: Roy Li <rongqing.li@windriver.com>
+---
+ ext/fileinfo/config.m4 | 31 ++++++-------------------------
+ 1 file changed, 6 insertions(+), 25 deletions(-)
+
+diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4
+index 7e98d62..8a8ea0e 100644
+--- a/ext/fileinfo/config.m4
++++ b/ext/fileinfo/config.m4
+@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then
+ libmagic/readcdf.c libmagic/softmagic.c"
+
+ AC_MSG_CHECKING([for strcasestr])
+- AC_TRY_RUN([
+-#include <string.h>
+-#include <strings.h>
+-#include <stdlib.h>
+-
+-int main(void)
+-{
+- char *s0, *s1, *ret;
+-
+- s0 = (char *) malloc(42);
+- s1 = (char *) malloc(8);
+-
+- memset(s0, 'X', 42);
+- s0[24] = 'Y';
+- s0[26] = 'Z';
+- s0[41] = '\0';
+- memset(s1, 'x', 8);
+- s1[0] = 'y';
+- s1[2] = 'Z';
+- s1[7] = '\0';
+-
+- ret = strcasestr(s0, s1);
+-
+- return !(NULL != ret);
+-}
++ AC_TRY_COMPILE([
++ #include <string.h>
++ #include <strings.h>
++ #include <stdlib.h>
++ ],[
++ strcasestr(NULL, NULL);
+ ],[
+ dnl using the platform implementation
+ AC_MSG_RESULT(yes)
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
new file mode 100644
index 000000000..ee7a14334
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php.inc
@@ -0,0 +1,272 @@
+SUMMARY = "A server-side, HTML-embedded scripting language"
+HOMEPAGE = "http://www.php.net"
+SECTION = "console/network"
+
+LICENSE = "PHP-3.0"
+
+BBCLASSEXTEND = "native"
+DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native \
+ openssl libmcrypt"
+DEPENDS_class-native = "zlib-native libxml2-native"
+
+SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
+ file://acinclude-xml2-config.patch \
+ file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
+ file://0001-acinclude-use-pkgconfig-for-libxml2-config.patch \
+ "
+
+SRC_URI_append_class-target += " \
+ file://iconv.patch \
+ file://imap-fix-autofoo.patch \
+ file://pear-makefile.patch \
+ file://phar-makefile.patch \
+ file://php_exec_native.patch \
+ file://php-fpm.conf \
+ file://php-fpm-apache.conf \
+ file://configure.patch \
+ file://pthread-check-threads-m4.patch \
+ file://70_mod_php5.conf \
+ file://php-fpm.service \
+ "
+S = "${WORKDIR}/php-${PV}"
+
+inherit autotools pkgconfig pythonnative gettext
+
+# phpize is not scanned for absolute paths by default (but php-config is).
+#
+SSTATE_SCAN_FILES += "phpize"
+SSTATE_SCAN_FILES += "build-defs.h"
+
+PHP_LIBDIR = "${libdir}/php5"
+
+# Common EXTRA_OECONF
+COMMON_EXTRA_OECONF = "--enable-sockets \
+ --enable-pcntl \
+ --enable-shared \
+ --disable-opcache \
+ --disable-rpath \
+ --with-pic \
+ --libdir=${PHP_LIBDIR} \
+"
+EXTRA_OECONF = "--enable-mbstring \
+ --enable-wddx \
+ --enable-fpm \
+ --enable-zip \
+ --with-libdir=${baselib} \
+ --with-gettext=${STAGING_LIBDIR}/.. \
+ --with-zlib=${STAGING_LIBDIR}/.. \
+ --with-iconv=${STAGING_LIBDIR}/.. \
+ --with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
+ --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
+ --with-config-file-path=${sysconfdir}/php/apache2-php5 \
+ ${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
+ ${COMMON_EXTRA_OECONF} \
+"
+EXTRA_OECONF_class-native = " \
+ --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
+ --without-iconv \
+ ${COMMON_EXTRA_OECONF} \
+"
+
+PACKAGECONFIG ??= "mysql sqlite3 imap \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG_class-native = ""
+
+PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \
+ --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
+ --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
+ ,--without-mysql --without-mysqli --without-pdo-mysql \
+ ,mysql5"
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+ --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+ , \
+ ,sqlite3"
+PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
+PACKAGECONFIG[soap] = "--enable-libxml --enable-soap, --disable-soap, libxml2"
+PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
+PACKAGECONFIG[pam] = ",,libpam"
+PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
+ --with-imap-ssl=${STAGING_DIR_HOST} \
+ ,--without-imap --without-imap-ssl \
+ ,uw-imap"
+
+
+export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
+export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
+CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
+CFLAGS_append_aarch64 = " -O2"
+
+EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
+
+acpaths = ""
+
+do_configure_prepend () {
+ rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
+ find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_BINDIR_NATIVE}/httpd!'
+}
+
+do_configure_append() {
+ # No, libtool, we really don't want rpath set...
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool
+}
+
+do_install_append_class-native() {
+ rm -rf ${D}/${PHP_LIBDIR}/php/.registry
+ rm -rf ${D}/${PHP_LIBDIR}/php/.channels
+ rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]*
+}
+
+do_install_prepend() {
+ cat aclocal-copy/libtool.m4 aclocal-copy/lt~obsolete.m4 aclocal-copy/ltoptions.m4 \
+ aclocal-copy/ltsugar.m4 aclocal-copy/ltversion.m4 > ${S}/build/libtool.m4
+}
+
+do_install_prepend_class-target() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ # Install dummy config file so apxs doesn't fail
+ install -d ${D}${sysconfdir}/apache2
+ printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf
+ fi
+}
+
+# fixme
+do_install_append_class-target() {
+ install -d ${D}/${sysconfdir}/
+ if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then
+ mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/
+ fi
+ rm -rf ${D}/${TMPDIR}
+ rm -rf ${D}/.registry
+ rm -rf ${D}/.channels
+ rm -rf ${D}/.[a-z]*
+ rm -rf ${D}/var
+ rm -f ${D}/${sysconfdir}/php-fpm.conf.default
+ sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
+ install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
+ install -d ${D}/${sysconfdir}/apache2/conf.d
+ install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
+ install -d ${D}${sysconfdir}/init.d
+ sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
+ install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
+ ${D}${systemd_unitdir}/system/php-fpm.service
+ fi
+
+ TMP=`dirname ${D}/${TMPDIR}`
+ while test ${TMP} != ${D}; do
+ if [ -d ${TMP} ]; then
+ rmdir ${TMP}
+ fi
+ TMP=`dirname ${TMP}`;
+ done
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ install -d ${D}${libdir}/apache2/modules
+ install -d ${D}${sysconfdir}/apache2/modules.d
+ install -d ${D}${sysconfdir}/php/apache2-php5
+ install -m 755 libs/libphp5.so ${D}${libdir}/apache2/modules
+ install -m 644 ${WORKDIR}/70_mod_php5.conf ${D}${sysconfdir}/apache2/modules.d
+ sed -i s,lib/,${libdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php5.conf
+ cat ${S}/php.ini-production | \
+ sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
+ > ${D}${sysconfdir}/php/apache2-php5/php.ini
+ rm -f ${D}${sysconfdir}/apache2/httpd.conf*
+ fi
+}
+
+SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
+
+php_sysroot_preprocess () {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+
+ sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
+ sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
+}
+
+MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
+
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
+
+RDEPENDS_${PN}-pear = "${PN}"
+RDEPENDS_${PN}-phar = "${PN}-cli"
+RDEPENDS_${PN}-cli = "${PN}"
+RDEPENDS_${PN}-modphp = "${PN} apache2"
+RDEPENDS_${PN}-dev = "${PN}"
+
+INITSCRIPT_PACKAGES = "${PN}-fpm"
+inherit update-rc.d
+
+FILES_${PN}-dbg =+ "${bindir}/.debug \
+ ${libdir}/apache2/modules/.debug"
+FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc"
+FILES_${PN}-cli = "${bindir}/php"
+FILES_${PN}-phar = "${bindir}/phar*"
+FILES_${PN}-cgi = "${bindir}/php-cgi"
+FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service"
+FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
+CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+INITSCRIPT_NAME_${PN}-fpm = "php-fpm"
+INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60"
+FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \
+ ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \
+ ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \
+ ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \
+ ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \
+ ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \
+ ${PHP_LIBDIR}/php/data/PEAR \
+ ${sysconfdir}/pear.conf"
+FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
+ ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
+ ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
+ ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
+FILES_${PN} = "${PHP_LIBDIR}/php"
+FILES_${PN} += "${bindir}"
+
+SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server"
+FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}"
+
+MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}"
+RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+
+do_install_append_class-native() {
+ create_wrapper ${D}${bindir}/php \
+ PHP_PEAR_SYSCONF_DIR=${sysconfdir}/
+}
+
+SSTATEPOSTINSTFUNCS_append_class-native = " php_sstate_postinst "
+
+php_sstate_postinst() {
+ if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ]
+ then
+ head -n1 ${sysconfdir}/pear.conf > ${sysconfdir}/pear.tmp.conf
+ for p in `tail -n1 ${sysconfdir}/pear.conf | sed -s 's/;/ /g'`; do
+ echo $p | awk -F: 'BEGIN {OFS = ":"; ORS = ";"}{if(NF==3){print $1, length($3)-2*match($3, /^"/), $3} else {print $0}}';
+ done >> ${sysconfdir}/pear.tmp.conf
+ mv -f ${sysconfdir}/pear.tmp.conf ${sysconfdir}/pear.conf
+ fi
+}
+
+# Fails to build with thumb-1 (qemuarm)
+# | {standard input}: Assembler messages:
+# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3'
+# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
+# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3'
+# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
+# | make: *** [ext/standard/math.lo] Error 1
+ARM_INSTRUCTION_SET = "arm"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
new file mode 100644
index 000000000..51a5e43b6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-acinclude-use-pkgconfig-for-libxml2-config.patch
@@ -0,0 +1,90 @@
+From 003c9feaae6ed5c173edcea51193e49bc94ac39a Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen.kooi@linaro.org>
+Date: Tue, 17 Jun 2014 09:53:00 +0200
+Subject: [PATCH 3/8] acinclude: use pkgconfig for libxml2 config
+
+Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
+Upstream-Status: pending
+---
+ acinclude.m4 | 63 ++++++++++++++++++++++--------------------------------------
+ 1 file changed, 23 insertions(+), 40 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 206fcbf..a6c0d84 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2530,48 +2530,31 @@ dnl
+ dnl Common setup macro for libxml
+ dnl
+ AC_DEFUN([PHP_SETUP_LIBXML], [
+-AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
+-[
+-
+- ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
+-
++PKG_CHECK_MODULES([LIBXML], [libxml-2.0 > 2.6.11], [
++ PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
++ PHP_EVAL_INCLINE($LIBXML_CFLAGS)
++
++ dnl Check that build works with given libs
++ AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
++ PHP_TEST_BUILD(xmlInitParser,
++ [
++ php_cv_libxml_build_works=yes
++ AC_MSG_RESULT(yes)
++ ], [
++ AC_MSG_RESULT(no)
++ AC_MSG_ERROR([build test failed. Please check the config.log for details.])
++ ], [
++ [$]$1
++ ])
++ ])
++ if test "$php_cv_libxml_build_works" = "yes"; then
++ AC_DEFINE(HAVE_LIBXML, 1, [ ])
++ fi
++ $2
++], [
++ AC_MSG_ERROR([$LIBXML_PKG_ERRORS])
+ ])
+
+- if test -x "$ac_cv_php_xml2_config_path"; then
+- XML2_CONFIG="$ac_cv_php_xml2_config_path"
+- libxml_full_version=`$XML2_CONFIG --version`
+- ac_IFS=$IFS
+- IFS="."
+- set $libxml_full_version
+- IFS=$ac_IFS
+- LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3`
+- if test "$LIBXML_VERSION" -ge "2006011"; then
+- LIBXML_LIBS=`$XML2_CONFIG --libs`
+- LIBXML_INCS=`$XML2_CONFIG --cflags`
+- PHP_EVAL_LIBLINE($LIBXML_LIBS, $1)
+- PHP_EVAL_INCLINE($LIBXML_INCS)
+-
+- dnl Check that build works with given libs
+- AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [
+- PHP_TEST_BUILD(xmlInitParser,
+- [
+- php_cv_libxml_build_works=yes
+- ], [
+- AC_MSG_RESULT(no)
+- AC_MSG_ERROR([build test failed. Please check the config.log for details.])
+- ], [
+- [$]$1
+- ])
+- ])
+- if test "$php_cv_libxml_build_works" = "yes"; then
+- AC_DEFINE(HAVE_LIBXML, 1, [ ])
+- fi
+- $2
+- else
+- AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.])
+- fi
+-ifelse([$3],[],,[else $3])
+- fi
+ ])
+
+ dnl -------------------------------------------------------------------------
+--
+1.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
new file mode 100644
index 000000000..2f7d58155
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
@@ -0,0 +1,26 @@
+From ebc101e0728b9db6c687cff525e5dfc8eb0edbf3 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Thu, 3 Nov 2011 14:27:15 +0100
+Subject: [PATCH 2/8] php: don't use broken wrapper for mkdir
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+
+Upstream-Status: Inappropriate
+
+ Makefile.global | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.global b/Makefile.global
+index ff858c2..ae554b4 100644
+--- a/Makefile.global
++++ b/Makefile.global
+@@ -1,4 +1,4 @@
+-mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
++mkinstalldirs = mkdir -p
+ INSTALL = $(top_srcdir)/build/shtool install -c
+ INSTALL_DATA = $(INSTALL) -m 644
+
+--
+1.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
new file mode 100644
index 000000000..1de6fb11a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/70_mod_php5.conf
@@ -0,0 +1,12 @@
+# vim: ft=apache sw=4 ts=4
+<IfDefine PHP5>
+ # Load the module first
+ <IfModule !sapi_apache2.c>
+ LoadModule php5_module lib/apache2/modules/libphp5.so
+ </IfModule>
+
+ # Set it to handle the files
+ AddHandler php5-script .php .phtml .php3 .php4 .php5
+ AddType application/x-httpd-php-source .phps
+ DirectoryIndex index.html index.html.var index.php index.phtml
+</IfDefine>
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
new file mode 100644
index 000000000..30811a74b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
@@ -0,0 +1,25 @@
+Upstream-status: Unknown
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index 4fd452e..206fcbf 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2532,12 +2532,9 @@ dnl
+ AC_DEFUN([PHP_SETUP_LIBXML], [
+ AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
+ [
+- for i in $PHP_LIBXML_DIR /usr/local /usr; do
+- if test -x "$i/bin/xml2-config"; then
+- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
+- break
+- fi
+- done
++
++ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
++
+ ])
+
+ if test -x "$ac_cv_php_xml2_config_path"; then
+--
+1.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/configure.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/configure.patch
new file mode 100644
index 000000000..c5334c706
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/configure.patch
@@ -0,0 +1,11 @@
+--- php-5.1.6/configure.old 2006-09-12 07:54:14.000000000 -0700
++++ php-5.1.6/configure 2006-09-12 07:54:37.000000000 -0700
+@@ -14715,8 +14715,6 @@
+
+
+
+- unset ac_cv_func_dlopen
+- unset ac_cv_func___dlopen
+ unset found
+
+ echo $ac_n "checking for dlopen""... $ac_c" 1>&6
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
new file mode 100644
index 000000000..255fbb062
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/iconv.patch
@@ -0,0 +1,32 @@
+Upstream-status: Unknown
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index a6c0d84..df11abd 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2452,7 +2452,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
+ dnl Check libc first if no path is provided in --with-iconv
+ dnl
+
+- if test "$PHP_ICONV" = "yes"; then
++ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
++ if test "$PHP_ICONV" != "no"; then
+ dnl Reset LIBS temporarily as it may have already been included
+ dnl -liconv in.
+ LIBS_save="$LIBS"
+diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
+index d673b0a..1fbef13 100644
+--- a/ext/iconv/config.m4
++++ b/ext/iconv/config.m4
+@@ -15,7 +15,7 @@ if test "$PHP_ICONV" != "no"; then
+
+ if test "$iconv_avail" != "no"; then
+ if test -z "$ICONV_DIR"; then
+- for i in /usr/local /usr; do
++ for i in $PHP_ICONV /usr/local /usr; do
+ if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
+ PHP_ICONV_PREFIX="$i"
+ break
+--
+1.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
new file mode 100644
index 000000000..da04c2d95
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
@@ -0,0 +1,46 @@
+Upstream-status: Unknown
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index df11abd..06e7236 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2357,7 +2357,7 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[
+ PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
+ fi
+
+- for i in $PHP_OPENSSL_DIR; do
++ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do
+ if test -r $i/include/openssl/evp.h; then
+ OPENSSL_INCDIR=$i/include
+ fi
+diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
+index 3fcf674..f08caf7 100644
+--- a/ext/imap/config.m4
++++ b/ext/imap/config.m4
+@@ -109,7 +109,7 @@ if test "$PHP_IMAP" != "no"; then
+ PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
+ AC_DEFINE(HAVE_IMAP,1,[ ])
+
+- for i in $PHP_IMAP /usr/local /usr; do
++ for i in $PHP_IMAP $PHP_IMAP/usr /usr/local /usr; do
+ IMAP_INC_CHK()
+ el[]IMAP_INC_CHK(/include/c-client)
+ el[]IMAP_INC_CHK(/include/imap)
+@@ -198,13 +198,7 @@ if test "$PHP_IMAP" != "no"; then
+ AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
+ fi
+
+- if test ! -r "$IMAP_DIR/c-client/libc-client.a" && test -r "$IMAP_DIR/c-client/c-client.a" ; then
+- ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
+- elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
+- ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
+- fi
+-
+- for lib in c-client4 c-client imap; do
++ for lib in /usr/lib c-client4 c-client imap; do
+ IMAP_LIB=$lib
+ IMAP_LIB_CHK($PHP_LIBDIR)
+ IMAP_LIB_CHK(c-client)
+--
+1.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch
new file mode 100644
index 000000000..9927d2d96
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pear-makefile.patch
@@ -0,0 +1,18 @@
+Upstream-status: Unknown
+
+diff --git a/pear/Makefile.frag b/pear/Makefile.frag
+index 00bacae..739eeca 100644
+--- a/pear/Makefile.frag
++++ b/pear/Makefile.frag
+@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
+ PEAR_SUFFIX = -ds a$(program_suffix)
+
+ install-pear-installer: $(SAPI_CLI_PATH)
+- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+
+ install-pear:
+ @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
+--
+1.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
new file mode 100644
index 000000000..2f7fe34c7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/phar-makefile.patch
@@ -0,0 +1,35 @@
+Fix phar packaging
+
+Inherited from OE-Classic, with some additions to fix host paths leaking
+into the target package.
+
+Upstream-Status: Inappropriate [config]
+
+diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
+index 6516ddf..36e6cf4 100644
+--- a/ext/phar/Makefile.frag
++++ b/ext/phar/Makefile.frag
+@@ -5,20 +5,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
+
+ PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
+ PHP_PHARCMD_EXECUTABLE = ` \
+- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
+- if test "x$(PHP_MODULES)" != "x"; then \
+- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
+- for i in bz2 zlib phar; do \
+- if test -f "$(top_builddir)/modules/$$i.la"; then \
+- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+- fi; \
+- done; \
+- fi; \
+- else \
+- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
+- fi;`
+-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
++ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
++
++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
+
+ $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
+ -@test -d $(builddir)/phar || mkdir $(builddir)/phar
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
new file mode 100644
index 000000000..77cdd82a7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
@@ -0,0 +1,6 @@
+# Taken from http://wiki.apache.org/httpd/PHP-FPM
+
+LoadModule proxy_module lib/apache2/modules/mod_proxy.so
+LoadModule proxy_fcgi_module lib/apache2/modules/mod_proxy_fcgi.so
+
+ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/apache2/htdocs/
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.conf b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.conf
new file mode 100644
index 000000000..21e3dfb5c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.conf
@@ -0,0 +1,510 @@
+;;;;;;;;;;;;;;;;;;;;;
+; FPM Configuration ;
+;;;;;;;;;;;;;;;;;;;;;
+
+; All relative paths in this configuration file are relative to PHP's install
+; prefix (/usr). This prefix can be dynamicaly changed by using the
+; '-p' argument from the command line.
+
+; Include one or more files. If glob(3) exists, it is used to include a bunch of
+; files from a glob(3) pattern. This directive can be used everywhere in the
+; file.
+; Relative path can also be used. They will be prefixed by:
+; - the global prefix if it's been set (-p arguement)
+; - /usr otherwise
+;include=etc/fpm.d/*.conf
+
+;;;;;;;;;;;;;;;;;;
+; Global Options ;
+;;;;;;;;;;;;;;;;;;
+
+[global]
+; Pid file
+; Note: the default prefix is /var
+; Default Value: none
+;pid = run/php-fpm.pid
+
+; Error log file
+; If it's set to "syslog", log is sent to syslogd instead of being written
+; in a local file.
+; Note: the default prefix is /var
+; Default Value: log/php-fpm.log
+;error_log = log/php-fpm.log
+
+; syslog_facility is used to specify what type of program is logging the
+; message. This lets syslogd specify that messages from different facilities
+; will be handled differently.
+; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
+; Default Value: daemon
+;syslog.facility = daemon
+
+; syslog_ident is prepended to every message. If you have multiple FPM
+; instances running on the same server, you can change the default value
+; which must suit common needs.
+; Default Value: php-fpm
+;syslog.ident = php-fpm
+
+; Log level
+; Possible Values: alert, error, warning, notice, debug
+; Default Value: notice
+;log_level = notice
+
+; If this number of child processes exit with SIGSEGV or SIGBUS within the time
+; interval set by emergency_restart_interval then FPM will restart. A value
+; of '0' means 'Off'.
+; Default Value: 0
+;emergency_restart_threshold = 0
+
+; Interval of time used by emergency_restart_interval to determine when
+; a graceful restart will be initiated. This can be useful to work around
+; accidental corruptions in an accelerator's shared memory.
+; Available Units: s(econds), m(inutes), h(ours), or d(ays)
+; Default Unit: seconds
+; Default Value: 0
+;emergency_restart_interval = 0
+
+; Time limit for child processes to wait for a reaction on signals from master.
+; Available units: s(econds), m(inutes), h(ours), or d(ays)
+; Default Unit: seconds
+; Default Value: 0
+;process_control_timeout = 0
+
+; The maximum number of processes FPM will fork. This has been design to control
+; the global number of processes when using dynamic PM within a lot of pools.
+; Use it with caution.
+; Note: A value of 0 indicates no limit
+; Default Value: 0
+; process.max = 128
+
+; Specify the nice(2) priority to apply to the master process (only if set)
+; The value can vary from -19 (highest priority) to 20 (lower priority)
+; Note: - It will only work if the FPM master process is launched as root
+; - The pool process will inherit the master process priority
+; unless it specified otherwise
+; Default Value: no set
+; process.priority = -19
+
+; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
+; Default Value: yes
+;daemonize = yes
+
+; Set open file descriptor rlimit for the master process.
+; Default Value: system defined value
+;rlimit_files = 1024
+
+; Set max core size rlimit for the master process.
+; Possible Values: 'unlimited' or an integer greater or equal to 0
+; Default Value: system defined value
+;rlimit_core = 0
+
+; Specify the event mechanism FPM will use. The following is available:
+; - select (any POSIX os)
+; - poll (any POSIX os)
+; - epoll (linux >= 2.5.44)
+; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)
+; - /dev/poll (Solaris >= 7)
+; - port (Solaris >= 10)
+; Default Value: not set (auto detection)
+; events.mechanism = epoll
+
+;;;;;;;;;;;;;;;;;;;;
+; Pool Definitions ;
+;;;;;;;;;;;;;;;;;;;;
+
+; Multiple pools of child processes may be started with different listening
+; ports and different management options. The name of the pool will be
+; used in logs and stats. There is no limitation on the number of pools which
+; FPM can handle. Your system will tell you anyway :)
+
+; Start a new pool named 'www'.
+; the variable $pool can we used in any directive and will be replaced by the
+; pool name ('www' here)
+[www]
+
+; Per pool prefix
+; It only applies on the following directives:
+; - 'slowlog'
+; - 'listen' (unixsocket)
+; - 'chroot'
+; - 'chdir'
+; - 'php_values'
+; - 'php_admin_values'
+; When not set, the global prefix (or /usr) applies instead.
+; Note: This directive can also be relative to the global prefix.
+; Default Value: none
+;prefix = /path/to/pools/$pool
+
+; Unix user/group of processes
+; Note: The user is mandatory. If the group is not set, the default user's group
+; will be used.
+user = nobody
+;group = nobody
+
+; The address on which to accept FastCGI requests.
+; Valid syntaxes are:
+; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
+; a specific port;
+; 'port' - to listen on a TCP socket to all addresses on a
+; specific port;
+; '/path/to/unix/socket' - to listen on a unix socket.
+; Note: This value is mandatory.
+listen = 127.0.0.1:9000
+
+; Set listen(2) backlog. A value of '-1' means unlimited.
+; Default Value: 128 (-1 on FreeBSD and OpenBSD)
+;listen.backlog = -1
+
+; Set permissions for unix socket, if one is used. In Linux, read/write
+; permissions must be set in order to allow connections from a web server. Many
+; BSD-derived systems allow connections regardless of permissions.
+; Default Values: user and group are set as the running user
+; mode is set to 0666
+;listen.owner = nobody
+;listen.group = nobody
+;listen.mode = 0666
+
+; List of ipv4 addresses of FastCGI clients which are allowed to connect.
+; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
+; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
+; must be separated by a comma. If this value is left blank, connections will be
+; accepted from any ip address.
+; Default Value: any
+;listen.allowed_clients = 127.0.0.1
+
+; Specify the nice(2) priority to apply to the pool processes (only if set)
+; The value can vary from -19 (highest priority) to 20 (lower priority)
+; Note: - It will only work if the FPM master process is launched as root
+; - The pool processes will inherit the master process priority
+; unless it specified otherwise
+; Default Value: no set
+; priority = -19
+
+; Choose how the process manager will control the number of child processes.
+; Possible Values:
+; static - a fixed number (pm.max_children) of child processes;
+; dynamic - the number of child processes are set dynamically based on the
+; following directives. With this process management, there will be
+; always at least 1 children.
+; pm.max_children - the maximum number of children that can
+; be alive at the same time.
+; pm.start_servers - the number of children created on startup.
+; pm.min_spare_servers - the minimum number of children in 'idle'
+; state (waiting to process). If the number
+; of 'idle' processes is less than this
+; number then some children will be created.
+; pm.max_spare_servers - the maximum number of children in 'idle'
+; state (waiting to process). If the number
+; of 'idle' processes is greater than this
+; number then some children will be killed.
+; ondemand - no children are created at startup. Children will be forked when
+; new requests will connect. The following parameter are used:
+; pm.max_children - the maximum number of children that
+; can be alive at the same time.
+; pm.process_idle_timeout - The number of seconds after which
+; an idle process will be killed.
+; Note: This value is mandatory.
+pm = dynamic
+
+; The number of child processes to be created when pm is set to 'static' and the
+; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
+; This value sets the limit on the number of simultaneous requests that will be
+; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
+; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
+; CGI. The below defaults are based on a server without much resources. Don't
+; forget to tweak pm.* to fit your needs.
+; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
+; Note: This value is mandatory.
+pm.max_children = 5
+
+; The number of child processes created on startup.
+; Note: Used only when pm is set to 'dynamic'
+; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
+pm.start_servers = 2
+
+; The desired minimum number of idle server processes.
+; Note: Used only when pm is set to 'dynamic'
+; Note: Mandatory when pm is set to 'dynamic'
+pm.min_spare_servers = 1
+
+; The desired maximum number of idle server processes.
+; Note: Used only when pm is set to 'dynamic'
+; Note: Mandatory when pm is set to 'dynamic'
+pm.max_spare_servers = 3
+
+; The number of seconds after which an idle process will be killed.
+; Note: Used only when pm is set to 'ondemand'
+; Default Value: 10s
+;pm.process_idle_timeout = 10s;
+
+; The number of requests each child process should execute before respawning.
+; This can be useful to work around memory leaks in 3rd party libraries. For
+; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
+; Default Value: 0
+;pm.max_requests = 500
+
+; The URI to view the FPM status page. If this value is not set, no URI will be
+; recognized as a status page. It shows the following informations:
+; pool - the name of the pool;
+; process manager - static, dynamic or ondemand;
+; start time - the date and time FPM has started;
+; start since - number of seconds since FPM has started;
+; accepted conn - the number of request accepted by the pool;
+; listen queue - the number of request in the queue of pending
+; connections (see backlog in listen(2));
+; max listen queue - the maximum number of requests in the queue
+; of pending connections since FPM has started;
+; listen queue len - the size of the socket queue of pending connections;
+; idle processes - the number of idle processes;
+; active processes - the number of active processes;
+; total processes - the number of idle + active processes;
+; max active processes - the maximum number of active processes since FPM
+; has started;
+; max children reached - number of times, the process limit has been reached,
+; when pm tries to start more children (works only for
+; pm 'dynamic' and 'ondemand');
+; Value are updated in real time.
+; Example output:
+; pool: www
+; process manager: static
+; start time: 01/Jul/2011:17:53:49 +0200
+; start since: 62636
+; accepted conn: 190460
+; listen queue: 0
+; max listen queue: 1
+; listen queue len: 42
+; idle processes: 4
+; active processes: 11
+; total processes: 15
+; max active processes: 12
+; max children reached: 0
+;
+; By default the status page output is formatted as text/plain. Passing either
+; 'html', 'xml' or 'json' in the query string will return the corresponding
+; output syntax. Example:
+; http://www.foo.bar/status
+; http://www.foo.bar/status?json
+; http://www.foo.bar/status?html
+; http://www.foo.bar/status?xml
+;
+; By default the status page only outputs short status. Passing 'full' in the
+; query string will also return status for each pool process.
+; Example:
+; http://www.foo.bar/status?full
+; http://www.foo.bar/status?json&full
+; http://www.foo.bar/status?html&full
+; http://www.foo.bar/status?xml&full
+; The Full status returns for each process:
+; pid - the PID of the process;
+; state - the state of the process (Idle, Running, ...);
+; start time - the date and time the process has started;
+; start since - the number of seconds since the process has started;
+; requests - the number of requests the process has served;
+; request duration - the duration in µs of the requests;
+; request method - the request method (GET, POST, ...);
+; request URI - the request URI with the query string;
+; content length - the content length of the request (only with POST);
+; user - the user (PHP_AUTH_USER) (or '-' if not set);
+; script - the main script called (or '-' if not set);
+; last request cpu - the %cpu the last request consumed
+; it's always 0 if the process is not in Idle state
+; because CPU calculation is done when the request
+; processing has terminated;
+; last request memory - the max amount of memory the last request consumed
+; it's always 0 if the process is not in Idle state
+; because memory calculation is done when the request
+; processing has terminated;
+; If the process is in Idle state, then informations are related to the
+; last request the process has served. Otherwise informations are related to
+; the current request being served.
+; Example output:
+; ************************
+; pid: 31330
+; state: Running
+; start time: 01/Jul/2011:17:53:49 +0200
+; start since: 63087
+; requests: 12808
+; request duration: 1250261
+; request method: GET
+; request URI: /test_mem.php?N=10000
+; content length: 0
+; user: -
+; script: /home/fat/web/docs/php/test_mem.php
+; last request cpu: 0.00
+; last request memory: 0
+;
+; Note: There is a real-time FPM status monitoring sample web page available
+; It's available in: /usr/share/fpm/status.html
+;
+; Note: The value must start with a leading slash (/). The value can be
+; anything, but it may not be a good idea to use the .php extension or it
+; may conflict with a real PHP file.
+; Default Value: not set
+;pm.status_path = /status
+
+; The ping URI to call the monitoring page of FPM. If this value is not set, no
+; URI will be recognized as a ping page. This could be used to test from outside
+; that FPM is alive and responding, or to
+; - create a graph of FPM availability (rrd or such);
+; - remove a server from a group if it is not responding (load balancing);
+; - trigger alerts for the operating team (24/7).
+; Note: The value must start with a leading slash (/). The value can be
+; anything, but it may not be a good idea to use the .php extension or it
+; may conflict with a real PHP file.
+; Default Value: not set
+;ping.path = /ping
+
+; This directive may be used to customize the response of a ping request. The
+; response is formatted as text/plain with a 200 response code.
+; Default Value: pong
+;ping.response = pong
+
+; The access log file
+; Default: not set
+;access.log = log/$pool.access.log
+
+; The access log format.
+; The following syntax is allowed
+; %%: the '%' character
+; %C: %CPU used by the request
+; it can accept the following format:
+; - %{user}C for user CPU only
+; - %{system}C for system CPU only
+; - %{total}C for user + system CPU (default)
+; %d: time taken to serve the request
+; it can accept the following format:
+; - %{seconds}d (default)
+; - %{miliseconds}d
+; - %{mili}d
+; - %{microseconds}d
+; - %{micro}d
+; %e: an environment variable (same as $_ENV or $_SERVER)
+; it must be associated with embraces to specify the name of the env
+; variable. Some exemples:
+; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
+; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
+; %f: script filename
+; %l: content-length of the request (for POST request only)
+; %m: request method
+; %M: peak of memory allocated by PHP
+; it can accept the following format:
+; - %{bytes}M (default)
+; - %{kilobytes}M
+; - %{kilo}M
+; - %{megabytes}M
+; - %{mega}M
+; %n: pool name
+; %o: ouput header
+; it must be associated with embraces to specify the name of the header:
+; - %{Content-Type}o
+; - %{X-Powered-By}o
+; - %{Transfert-Encoding}o
+; - ....
+; %p: PID of the child that serviced the request
+; %P: PID of the parent of the child that serviced the request
+; %q: the query string
+; %Q: the '?' character if query string exists
+; %r: the request URI (without the query string, see %q and %Q)
+; %R: remote IP address
+; %s: status (response code)
+; %t: server time the request was received
+; it can accept a strftime(3) format:
+; %d/%b/%Y:%H:%M:%S %z (default)
+; %T: time the log has been written (the request has finished)
+; it can accept a strftime(3) format:
+; %d/%b/%Y:%H:%M:%S %z (default)
+; %u: remote user
+;
+; Default: "%R - %u %t \"%m %r\" %s"
+;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
+
+; The log file for slow requests
+; Default Value: not set
+; Note: slowlog is mandatory if request_slowlog_timeout is set
+;slowlog = log/$pool.log.slow
+
+; The timeout for serving a single request after which a PHP backtrace will be
+; dumped to the 'slowlog' file. A value of '0s' means 'off'.
+; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
+; Default Value: 0
+;request_slowlog_timeout = 0
+
+; The timeout for serving a single request after which the worker process will
+; be killed. This option should be used when the 'max_execution_time' ini option
+; does not stop script execution for some reason. A value of '0' means 'off'.
+; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
+; Default Value: 0
+;request_terminate_timeout = 0
+
+; Set open file descriptor rlimit.
+; Default Value: system defined value
+;rlimit_files = 1024
+
+; Set max core size rlimit.
+; Possible Values: 'unlimited' or an integer greater or equal to 0
+; Default Value: system defined value
+;rlimit_core = 0
+
+; Chroot to this directory at the start. This value must be defined as an
+; absolute path. When this value is not set, chroot is not used.
+; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
+; of its subdirectories. If the pool prefix is not set, the global prefix
+; will be used instead.
+; Note: chrooting is a great security feature and should be used whenever
+; possible. However, all PHP paths will be relative to the chroot
+; (error_log, sessions.save_path, ...).
+; Default Value: not set
+;chroot =
+
+; Chdir to this directory at the start.
+; Note: relative path can be used.
+; Default Value: current directory or / when chroot
+;chdir = /var/www
+
+; Redirect worker stdout and stderr into main error log. If not set, stdout and
+; stderr will be redirected to /dev/null according to FastCGI specs.
+; Note: on highloaded environement, this can cause some delay in the page
+; process time (several ms).
+; Default Value: no
+;catch_workers_output = yes
+
+; Limits the extensions of the main script FPM will allow to parse. This can
+; prevent configuration mistakes on the web server side. You should only limit
+; FPM to .php extensions to prevent malicious users to use other extensions to
+; exectute php code.
+; Note: set an empty value to allow all extensions.
+; Default Value: .php
+;security.limit_extensions = .php .php3 .php4 .php5
+
+; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
+; the current environment.
+; Default Value: clean env
+;env[HOSTNAME] = $HOSTNAME
+;env[PATH] = /usr/local/bin:/usr/bin:/bin
+;env[TMP] = /tmp
+;env[TMPDIR] = /tmp
+;env[TEMP] = /tmp
+
+; Additional php.ini defines, specific to this pool of workers. These settings
+; overwrite the values previously defined in the php.ini. The directives are the
+; same as the PHP SAPI:
+; php_value/php_flag - you can set classic ini defines which can
+; be overwritten from PHP call 'ini_set'.
+; php_admin_value/php_admin_flag - these directives won't be overwritten by
+; PHP call 'ini_set'
+; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
+
+; Defining 'extension' will load the corresponding shared extension from
+; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
+; overwrite previously defined php.ini values, but will append the new value
+; instead.
+
+; Note: path INI options can be relative and will be expanded with the prefix
+; (pool, global or /usr)
+
+; Default Value: nothing is defined by default except the values in php.ini and
+; specified at startup with the -d argument
+;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
+;php_flag[display_errors] = off
+;php_admin_value[error_log] = /var/log/fpm-php.www.log
+;php_admin_flag[log_errors] = on
+;php_admin_value[memory_limit] = 32M
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.service b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.service
new file mode 100644
index 000000000..ac79dc931
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php-fpm.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=PHP-FPM
+After=network.target
+[Service]
+Type=forking
+PIDFile=@LOCALSTATEDIR@/run/php-fpm.pid
+ExecStart=@SYSCONFDIR@/init.d/php-fpm start
+ExecStop=@SYSCONFDIR@/init.d/php-fpm stop
+[Install]
+WantedBy=multi-user.target
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
new file mode 100644
index 000000000..0506bddaf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/php_exec_native.patch
@@ -0,0 +1,18 @@
+Upstream-status: Inappriate
+
+diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
+index cdfa1f7..0fe11e3 100644
+--- a/sapi/cli/config.m4
++++ b/sapi/cli/config.m4
+@@ -36,7 +36,7 @@ if test "$PHP_CLI" != "no"; then
+ esac
+
+ dnl Set executable for tests
+- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
++ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
+ PHP_SUBST(PHP_EXECUTABLE)
+
+ dnl Expose to Makefile
+--
+1.9.3
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
new file mode 100644
index 000000000..0c564cd88
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php/pthread-check-threads-m4.patch
@@ -0,0 +1,30 @@
+From d8067ceacbf54e79c9c6b68675332c09eaa0b55d Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 8 Apr 2013 14:29:51 +0800
+Subject: [PATCH] pthread-check
+
+Enable pthreads support when cross-compiling
+
+Upstream-Status: Inapproprate [config]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ TSRM/threads.m4 | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/TSRM/threads.m4 b/TSRM/threads.m4
+index 38494ce..15d9454 100644
+--- a/TSRM/threads.m4
++++ b/TSRM/threads.m4
+@@ -86,7 +86,7 @@ int main() {
+ pthreads_working=no
+ ], [
+ dnl For cross compiling running this test is of no use. NetWare supports pthreads
+- pthreads_working=no
++ pthreads_working=yes
+ case $host_alias in
+ *netware*)
+ pthreads_working=yes
+--
+1.7.4.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.32.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.32.bb
new file mode 100644
index 000000000..4ee3c3830
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.5.32.bb
@@ -0,0 +1,6 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=464ca70af214d2407f6b7d4458158afd"
+
+SRC_URI[md5sum] = "47443f39152d671d24bc839e6a49049d"
+SRC_URI[sha256sum] = "b0f2c108db8e05db9f6366aaba9a754fd0ee31f3f86ee889561b608dfd6e92ee"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.18.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.18.bb
new file mode 100644
index 000000000..2ce012f1b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/php/php_5.6.18.bb
@@ -0,0 +1,7 @@
+require php.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b602636d46a61c0ac0432bbf5c078fe4"
+
+SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch"
+SRC_URI[md5sum] = "7340353bedd998286ba2c4d87d7864f8"
+SRC_URI[sha256sum] = "c3cd4a29a9562309d36e2b128407d6eaa5c7dde590d2b1a464457383e517f4ed"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
new file mode 100644
index 000000000..7322df8e7
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
@@ -0,0 +1,66 @@
+DESCRIPTION = "Utilities for testing Power Management"
+HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/PmQa"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PV = "0.4.14"
+
+BRANCH ?= "master"
+
+# Corresponds to tag pm-qa-v0.4.14
+SRCREV = "9111d1930f02337394cf16e84ad2a27f33607cbb"
+
+SRC_URI = "git://git.linaro.org/power/pm-qa.git;protocol=git;branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-pthread"
+
+do_compile () {
+ # Find all the .c files in this project and build them.
+ for x in `find . -name "*.c"`
+ do
+ util=`echo ${x} | sed s/.c$//`
+ oe_runmake ${util}
+ done
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${libdir}/${BPN}
+
+ # Install the compiled binaries that were built in the previous step
+ for x in `find . -name "*.c"`
+ do
+ util=`echo ${x} | sed s/.c$//`
+ util_basename=`basename ${util}`
+ install -m 0755 ${util} ${D}${bindir}/${util_basename}
+ done
+
+ # Install the helper scripts in a subdirectory of $libdir
+ for script in `find . -name "*.sh" | grep include`
+ do
+ # Remove hardcoded relative paths
+ sed -i -e 's#..\/utils\/##' ${script}
+
+ script_basename=`basename ${script}`
+ install -m 0755 $script ${D}${libdir}/${BPN}/${script_basename}
+ done
+
+ # Install the shell scripts NOT in the $libdir directory since those
+ # will be installed elsewhere
+ for script in `find . -name "*.sh" | grep -v include`
+ do
+ # if the script includes any helper scripts from the $libdir
+ # directory then change the source path to the absolute path
+ # to reflect the install location of the helper scripts.
+ sed -i -e "s#source ../include#source ${libdir}/${BPN}#g" ${script}
+ # Remove hardcoded relative paths
+ sed -i -e 's#..\/utils\/##' ${script}
+
+ script_basename=`basename ${script}`
+ install -m 0755 $script ${D}${bindir}/${script_basename}
+ done
+}
+RDEPENDS_${PN} +="bash"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch
new file mode 100644
index 000000000..7ccdab0f2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch
@@ -0,0 +1,66 @@
+From 03a886252f6555d6b0af76b654e76459642b89da Mon Sep 17 00:00:00 2001
+From: Yunguo Wei <yunguo.wei@windriver.com>
+Date: Tue, 3 Dec 2013 18:12:50 +0800
+Subject: [PATCH] pmtools: switch to dynamic buffer for huge ACPI tables
+
+For servers like Canoe Pass or Thunder Ridge, there are much more
+entries in ACPI table, so original 1K buffer is insufficient.
+
+We switch to dynamic buffer on this situation.
+
+Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
+
+
+Upstream-Status: Pending
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ madt/madt.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/madt/madt.c b/madt/madt.c
+index aed965c..8770cd5 100644
+--- a/madt/madt.c
++++ b/madt/madt.c
+@@ -51,7 +51,9 @@ get_next_entry(acpi_table_entry_header * entry_header)
+ return retval;
+ }
+
+-u8 buffer[1024];
++
++u8 buf[1024];
++u8 *buffer = buf;
+
+ main()
+ {
+@@ -75,6 +77,17 @@ main()
+
+ if (verbose) printf("header.length %d\n", madt_header->header.length);
+
++ /* if 1K buffer is insufficient for acpi table, switch to a larger memory buffer */
++ if(expected_length > sizeof(buf)) {
++ buffer = malloc(expected_length);
++ if (!buffer) {
++ perror("malloc");
++ exit(1);
++ }
++ memset(buffer, 0, expected_length);
++ memcpy(buffer, buf, sizeof(struct acpi_table_madt));
++ }
++
+ acpi_table_print((void*)&(buffer[bytes_read]), 0);
+
+ bytes_read = sizeof(struct acpi_table_madt);
+@@ -118,6 +131,9 @@ done:
+ printf("Checksum 0x%x != 0; 0x%x in header ERROR\n", csum,
+ madt_header->header.checksum);
+
++ if(buffer != buf)
++ free(buffer);
++
+ return 0;
+ }
+
+--
+1.8.1.2
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
new file mode 100644
index 000000000..22ed8e2ff
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "This is a small collection of power management \
+ test and investigation tools"
+HOMEPAGE = "http://lesswatts.org/projects/acpi"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+PV = "20130209+git${SRCPV}"
+
+SRC_URI = "git://github.com/anyc/pmtools.git \
+ file://pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch \
+"
+SRCREV = "3ebe0e54c54061b4c627236cbe35d820de2e1168"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+
+S = "${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${bindir} ${D}${docdir}
+ install -m 755 ${S}/acpidump/acpidump ${D}${bindir}
+ install -m 755 ${S}/acpixtract/acpixtract ${D}${bindir}
+ install -m 755 ${S}/madt/madt ${D}${bindir}
+ install -m 644 ${S}/README ${D}${docdir}
+}
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb
new file mode 100644
index 000000000..049f9d4e8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_2.6.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
+efficient yet extensible format. Google uses Protocol Buffers for almost \
+all of its internal RPC protocols and file formats."
+HOMEPAGE = "https://github.com/google/protobuf"
+SECTION = "console/tools"
+LICENSE = "BSD-3-Clause"
+
+DEPENDS = "zlib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=af6809583bfde9a31595a58bb4a24514"
+
+SRCREV = "bba83652e1be610bdb7ee1566ad18346d98b843c"
+
+PV = "2.6.1+git${SRCPV}"
+
+SRC_URI = "git://github.com/google/protobuf.git"
+
+EXTRA_OECONF += " --with-protoc=echo"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb
new file mode 100644
index 000000000..3eb18829f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-futures_3.0.5.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=3d78c5bb15ac641d34f2ddc3bd7f51fa"
+HOMEPAGE = "http://code.google.com/p/pythonfutures"
+DEPENDS = "python"
+
+SRC_URI = "https://pypi.python.org/packages/source/f/futures/futures-${PV}.tar.gz"
+SRC_URI[md5sum] = "ced2c365e518242512d7a398b515ff95"
+SRC_URI[sha256sum] = "0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406f981df"
+
+S = "${WORKDIR}/futures-${PV}"
+
+inherit setuptools
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb
new file mode 100644
index 000000000..a2a6c400f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/python/python-simplejson_3.8.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Simple, fast, extensible JSON encoder/decoder for Python"
+HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
+SECTION = "devel/python"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c6338d7abd321c0b50a2a547e441c52e"
+PR = "r1"
+
+SRCNAME = "simplejson"
+
+SRC_URI = "http://cheeseshop.python.org/packages/source/s/simplejson/${SRCNAME}-${PV}.tar.gz"
+SRC_URI[md5sum] = "53b1371bbf883b129a12d594a97e9a18"
+SRC_URI[sha256sum] = "d58439c548433adcda98e695be53e526ba940a4b9c44fb9a05d92cd495cdd47f"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+inherit distutils
+
+RDEPENDS_${PN} = "\
+ python-core \
+ python-re \
+ python-io \
+ python-netserver \
+ python-numbers \
+"
+
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch
new file mode 100644
index 000000000..f69254a29
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Add-option-to-enable-internal-loopback.patch
@@ -0,0 +1,81 @@
+From 059d5512e840fe68e2bb37add6c9208fa9c34d15 Mon Sep 17 00:00:00 2001
+From: Sekhar Nori <nsekhar@ti.com>
+Date: Tue, 24 Feb 2015 22:16:37 +0530
+Subject: [PATCH 1/2] Add option to enable internal loopback
+
+Upstream-status: Pending
+---
+ serialcheck.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+diff --git a/serialcheck.c b/serialcheck.c
+index 4f5b747..4100c37 100644
+--- a/serialcheck.c
++++ b/serialcheck.c
+@@ -12,6 +12,8 @@
+ #include <sys/ioctl.h>
+ #include <linux/serial.h>
+
++#define TIOCM_LOOP 0x8000
++
+ #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
+ #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
+ #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
+@@ -40,6 +42,7 @@ struct g_opt {
+ unsigned char hflow;
+ unsigned char do_termios;
+ unsigned char *cmp_buff;
++ unsigned char loopback;
+ };
+
+ /* name, key, arg, flags, doc, group */
+@@ -51,6 +54,7 @@ static struct argp_option options[] = {
+ {"mode", 'm', "M", 0, "transfer mode (d = duplex, t = send r = receive)", 0},
+ {"loops", 'l', "NUM", 0, "loops to perform (0 => wait fot CTRL-C", 0},
+ {"no-termios", 'n', NULL, 0, "No termios change (baud rate etc. remains unchanged)", 0},
++ {"loopback", 'k', NULL, 0, "loopback mode", 0},
+ {NULL, 0, NULL, 0, NULL, 0}
+ };
+
+@@ -67,6 +71,7 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state)
+ go->baudrate = 115200;
+ go->loops = UINT_MAX;
+ go->do_termios = 1;
++ go->loopback = 0;
+ break;
+ case ARGP_KEY_ARG:
+ ret = ARGP_ERR_UNKNOWN;
+@@ -113,6 +118,9 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state)
+ } else
+ go->loops = num;
+ break;
++ case 'k':
++ go->loopback = 1;
++ break;
+ default:
+ ret = ARGP_ERR_UNKNOWN;
+ }
+@@ -487,6 +495,21 @@ int main(int argc, char *argv[])
+ die("tcflush failed: %m\n");
+ }
+
++ if (opts.loopback) {
++ unsigned int mcr;
++
++ ret = ioctl(fd, TIOCMGET, &mcr);
++ if (ret < 0)
++ die("mcr get failed: %m\n");
++
++ mcr |= TIOCM_LOOP;
++
++ ret = ioctl(fd, TIOCMSET, &mcr);
++ if (ret < 0)
++ die ("mcr set failed: %m\n");
++
++ }
++
+ ret = fcntl(fd, F_SETFL, 0);
+ if (ret)
+ printf("Failed to remove nonblock mode\n");
+--
+1.9.1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Makefile-Change-order-of-link-flags.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Makefile-Change-order-of-link-flags.patch
new file mode 100644
index 000000000..2ab48345d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0001-Makefile-Change-order-of-link-flags.patch
@@ -0,0 +1,34 @@
+From efc8a4e717ba919c869c2da1c7de2d08bc976926 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Feb 2016 18:48:07 +0000
+Subject: [PATCH] Makefile: Change order of link flags
+
+This helps in injectcting LDFLAGS from env to take effect
+as it appears last on cmdline now
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ Makefile | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index ba2bfbb..6d13e68 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,9 @@
+-CFLAGS=-O2 -Wall -Wextra -g -Wno-sign-compare -Wno-pointer-sign
+-CC=gcc
++CFLAGS?=-O2 -Wall -Wextra -g -Wno-sign-compare -Wno-pointer-sign
++CC?=gcc
+ all: serialcheck
++serialcheck : serialcheck.o
++ $(CC) -o serialcheck serialcheck.o $(CFLAGS) $(LDFLAGS)
++
++%.o : %.c
++ $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
++
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch
new file mode 100644
index 000000000..1b8c95b10
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck/0002-Restore-original-loopback-config.patch
@@ -0,0 +1,49 @@
+From a6e5813d2f8402bf3a311c8bcda02623bfb76882 Mon Sep 17 00:00:00 2001
+From: Carlos Hernandez <ceh@ti.com>
+Date: Tue, 24 Feb 2015 16:00:34 -0500
+Subject: [PATCH 2/2] Restore original loopback config
+
+If loopback option is enabled, disable it at the end of the test.
+
+Signed-off-by: Carlos Hernandez <ceh@ti.com>
+Upstream-status: Pending
+---
+ serialcheck.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/serialcheck.c b/serialcheck.c
+index 4100c37..06470f7 100644
+--- a/serialcheck.c
++++ b/serialcheck.c
+@@ -427,6 +427,7 @@ int main(int argc, char *argv[])
+ unsigned char *data;
+ unsigned int open_mode;
+ off_t data_len;
++ unsigned int mcr;
+
+ argp_parse(&argp, argc, argv, 0, NULL, &opts);
+ if (!opts.file_trans)
+@@ -496,8 +497,6 @@ int main(int argc, char *argv[])
+ }
+
+ if (opts.loopback) {
+- unsigned int mcr;
+-
+ ret = ioctl(fd, TIOCMGET, &mcr);
+ if (ret < 0)
+ die("mcr get failed: %m\n");
+@@ -535,6 +534,12 @@ int main(int argc, char *argv[])
+ ret = tcsetattr(fd, TCSAFLUSH, &old_term);
+ if (ret)
+ printf("tcsetattr() of old ones failed: %m\n");
++ if (opts.loopback) {
++ mcr &= ~(TIOCM_LOOP);
++ ret = ioctl(fd, TIOCMSET, &mcr);
++ }
++ if (ret)
++ printf("disabling loopback failed: %m\n");
+
+ close(fd);
+ return status;
+--
+1.9.1
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
new file mode 100644
index 000000000..cd5e0a4e5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Application to verify operation of serial ports"
+HOMEPAGE = "http://git.breakpoint.cc/cgit/bigeasy/serialcheck.git/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://git.breakpoint.cc/bigeasy/serialcheck.git \
+ file://0001-Add-option-to-enable-internal-loopback.patch \
+ file://0002-Restore-original-loopback-config.patch \
+ file://0001-Makefile-Change-order-of-link-flags.patch \
+ "
+
+SRCREV = "63854a2d0c0129efab132ec328a75279e013fb84"
+
+S = "${WORKDIR}/git"
+
+DEPENDS_append_libc-musl = " argp-standalone"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+CFLAGS_prepend = "-Wall -Wextra -Wno-sign-compare -Wno-pointer-sign "
+LDFLAGS_append_libc-musl = " -largp"
+
+do_install() {
+ install -d ${D}${bindir}
+ install ${S}/serialcheck ${D}${bindir}
+ install -d ${D}${docdir}/${BP}
+ install ${S}/Readme.txt ${D}${docdir}/${BP}
+}
+CLEANBROKEN = "1"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
new file mode 100644
index 000000000..358cbefdd
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
@@ -0,0 +1,31 @@
+From c209ed0e7ffca32fe3714bad9cc54bdb00c286bb Mon Sep 17 00:00:00 2001
+From: Ting Liu <b28495@freescale.com>
+Date: Mon, 15 Apr 2013 16:28:37 +0800
+Subject: [PATCH] Makefile.am: disable docs
+
+Upstream-Status: Inappropriate [OE specific]
+
+docs need some generating tool (for example, doxygen) from host which may
+be not available. Disable it to avoid build issue.
+
+Signed-off-by: Ting Liu <b28495@freescale.com>
+---
+ Makefile.am | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 0a6ebc9..6b42f41 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1,7 @@
+
+ ACLOCAL_AMFLAGS = -I config
+
+-SUBDIRS = include examples docs tests msc config
++SUBDIRS = include examples tests msc config
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = $(PACKAGE).pc
+--
+1.7.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
new file mode 100644
index 000000000..ab15a7e7f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Templatized C++ Command Line Parser"
+HOMEPAGE = "http://tclap.sourceforge.net/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8ab0ff134bcc584d0e6b5b9f8732453"
+
+SRCREV = "3627d9402e529770df9b0edf2aa8c0e0d6c6bb41"
+SRC_URI = "git://git.code.sf.net/p/tclap/code \
+ file://Makefile.am-disable-docs.patch \
+"
+
+S = "${WORKDIR}/git"
+inherit autotools
+
+ALLOW_EMPTY_${PN} = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch
new file mode 100644
index 000000000..a0c157f5a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/configure.use.fontconfig.with.xft.patch
@@ -0,0 +1,13 @@
+--- a/configure.in.orig 2014-05-10 14:35:39.859147385 +0000
++++ b/configure.in 2014-05-10 14:36:20.282925184 +0000
+@@ -554,8 +554,8 @@
+ dnl make sure package configurator (xft-config or pkg-config
+ dnl says that xft is present.
+ found_xft=yes
+- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no"
+- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no"
++ XFT_CFLAGS=`pkg-config --cflags xft fontconfig 2>/dev/null` || found_xft="no"
++ XFT_LIBS=`pkg-config --libs xft fontconfig 2>/dev/null` || found_xft="no"
+ AC_MSG_RESULT([$found_xft])
+ dnl make sure that compiling against Xft header file doesn't bomb
+ if test "$found_xft" = "yes" ; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
new file mode 100644
index 000000000..c51e47542
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
@@ -0,0 +1,32 @@
+Patch by Sergei Golovan allows to find tclConfig.sh in /usr/share/tcltk/tcl8.5
+and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian
+installation.
+
+--- tk8.5-8.5.8.orig/unix/configure
++++ tk8.5-8.5.8/unix/configure
+@@ -1431,6 +1431,7 @@
+ `ls -d ${prefix}/lib 2>/dev/null` \
+ `ls -d /usr/local/lib 2>/dev/null` \
+ `ls -d /usr/contrib/lib 2>/dev/null` \
++ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
+ `ls -d /usr/lib 2>/dev/null` \
+ ; do
+ if test -f "$i/tclConfig.sh" ; then
+--- tk8.5-8.5.8.orig/unix/tcl.m4
++++ tk8.5-8.5.8/unix/tcl.m4
+@@ -93,6 +93,7 @@
+ `ls -d ${prefix}/lib 2>/dev/null` \
+ `ls -d /usr/local/lib 2>/dev/null` \
+ `ls -d /usr/contrib/lib 2>/dev/null` \
++ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
+ `ls -d /usr/lib 2>/dev/null` \
+ ; do
+ if test -f "$i/tclConfig.sh" ; then
+@@ -223,6 +224,7 @@
+ `ls -d ${prefix}/lib 2>/dev/null` \
+ `ls -d /usr/local/lib 2>/dev/null` \
+ `ls -d /usr/contrib/lib 2>/dev/null` \
++ `ls -d /usr/share/tcltk/tk8.5 2>/dev/null` \
+ `ls -d /usr/lib 2>/dev/null` \
+ ; do
+ if test -f "$i/tkConfig.sh" ; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
new file mode 100644
index 000000000..d1bb7105c
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
@@ -0,0 +1,16 @@
+--- /tmp/configure.in 2010-05-19 13:29:03.000000000 +0200
++++ unix/configure.in 2010-05-19 13:42:05.000000000 +0200
+@@ -526,13 +526,9 @@
+ found_xft="yes"
+ dnl make sure package configurator (xft-config or pkg-config
+ dnl says that xft is present.
+- XFT_CFLAGS=`xft-config --cflags 2>/dev/null` || found_xft="no"
+- XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no"
+- if test "$found_xft" = "no" ; then
+ found_xft=yes
+ XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no"
+ XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no"
+- fi
+ AC_MSG_RESULT([$found_xft])
+ dnl make sure that compiling against Xft header file doesn't bomb
+ if test "$found_xft" = "yes" ; then
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff
new file mode 100644
index 000000000..7d31f9fdc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/non-linux.diff
@@ -0,0 +1,27 @@
+Patch by Sergei Golovan (originally by Mike Markley and Chris Waters) fixes
+building on non-linux Debian architectures.
+
+--- tk8.5-8.5.8.orig/unix/configure
++++ tk8.5-8.5.8/unix/configure
+@@ -4447,6 +4447,9 @@
+ if test "`uname -s`" = "AIX" ; then
+ tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
+ fi
++ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then
++ tcl_cv_sys_version=NetBSD-Debian
++ fi
+ fi
+ fi
+
+--- tk8.5-8.5.8.orig/unix/tcl.m4
++++ tk8.5-8.5.8/unix/tcl.m4
+@@ -962,6 +962,9 @@
+ if test "`uname -s`" = "AIX" ; then
+ tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
+ fi
++ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then
++ tcl_cv_sys_version=NetBSD-Debian
++ fi
+ fi
+ fi
+ ])
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff
new file mode 100644
index 000000000..ee38c2a1a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tklibrary.diff
@@ -0,0 +1,22 @@
+--- tk8.5-8.5.8.orig/unix/configure
++++ tk8.5-8.5.8/unix/configure
+@@ -11070,7 +11070,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)'
+--- tk8.5-8.5.8.orig/unix/configure.in
++++ tk8.5-8.5.8/unix/configure.in
+@@ -607,7 +607,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)'
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff
new file mode 100644
index 000000000..4e1546973
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff
@@ -0,0 +1,41 @@
+Patch by Chris Waters sets path which are normally point to a directory
+with Tk sources to a subdirectory of /usr/include/tcl8.4 (debian/rules
+puts private Tk headers there).
+
+--- tk8.5-8.5.8.orig/unix/tkConfig.sh.in
++++ tk8.5-8.5.8/unix/tkConfig.sh.in
+@@ -55,7 +55,7 @@
+
+ # String to pass to linker to pick up the Tk library from its
+ # build directory.
+-TK_BUILD_LIB_SPEC='@TK_BUILD_LIB_SPEC@'
++TK_BUILD_LIB_SPEC='@TK_LIB_SPEC@'
+
+ # String to pass to linker to pick up the Tk library from its
+ # installed directory.
+@@ -71,7 +71,7 @@
+ # different place than the directory containing the source files, this
+ # points to the location of the sources, not the location where Tk was
+ # compiled.
+-TK_SRC_DIR='@TK_SRC_DIR@'
++TK_SRC_DIR='@includedir@/tk-private'
+
+ # Needed if you want to make a 'fat' shared library library
+ # containing tk objects or link a different wish.
+@@ -86,14 +86,14 @@
+
+ # String to pass to linker to pick up the Tk stub library from its
+ # build directory.
+-TK_BUILD_STUB_LIB_SPEC='@TK_BUILD_STUB_LIB_SPEC@'
++TK_BUILD_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@'
+
+ # String to pass to linker to pick up the Tk stub library from its
+ # installed directory.
+ TK_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@'
+
+ # Path to the Tk stub library in the build directory.
+-TK_BUILD_STUB_LIB_PATH='@TK_BUILD_STUB_LIB_PATH@'
++TK_BUILD_STUB_LIB_PATH='@TK_STUB_LIB_PATH@'
+
+ # Path to the Tk stub library in the install directory.
+ TK_STUB_LIB_PATH='@TK_STUB_LIB_PATH@'
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.4.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.4.bb
new file mode 100644
index 000000000..d8eca5008
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/tcltk/tk_8.6.4.bb
@@ -0,0 +1,79 @@
+SUMMARY = "Tool Command Language ToolKit Extension"
+HOMEPAGE = "http://tcl.sourceforge.net"
+SECTION = "devel/tcltk"
+
+# http://www.tcl.tk/software/tcltk/license.html
+LICENSE = "tcl"
+LIC_FILES_CHKSUM = "file://../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../library/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../macosx/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../tests/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../unix/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../win/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+ file://../xlib/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
+"
+
+DEPENDS = "tcl virtual/libx11 libxt"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/tcl/${BPN}${PV}-src.tar.gz \
+ file://confsearch.diff;striplevel=2 \
+ file://non-linux.diff;striplevel=2 \
+ file://tklibrary.diff;striplevel=2 \
+ file://tkprivate.diff;striplevel=2 \
+ file://fix-xft.diff \
+ file://configure.use.fontconfig.with.xft.patch \
+"
+SRC_URI[md5sum] = "261754d7dc2a582f00e35547777e1fea"
+SRC_URI[sha256sum] = "08f99df85e5dc9c4271762163c6aabb962c8b297dc5c4c1af8bdd05fc2dd26c1"
+
+S = "${WORKDIR}/${BPN}${PV}/unix"
+
+# Short version format: "8.6"
+VER = "${@os.path.splitext(d.getVar('PV', True))[0]}"
+
+LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
+inherit autotools distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = "\
+ --enable-threads \
+ --with-x \
+ --with-tcl=${STAGING_BINDIR_CROSS} \
+ --libdir=${libdir} \
+"
+
+do_install_append() {
+ ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
+ oe_libinstall -so libtk${VER} ${D}${libdir}
+ ln -sf wish${VER} ${D}${bindir}/wish
+
+ # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
+ if [ "$libdir" != "/usr/lib" ]; then
+ # Move files to correct library directory
+ mv ${D}/usr/lib/tk${VER}/* ${D}/${libdir}/tk${VER}/
+ # Remove unneeded/incorrect dir ('usr/lib/')
+ rm -rf ${D}/usr/lib
+ fi
+}
+
+PACKAGECONFIG ??= "xft"
+PACKAGECONFIG[xft] = "--enable-xft,--disable-xft,xft"
+PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
+
+PACKAGES =+ "${PN}-lib"
+
+FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
+FILES_${PN} += "${libdir}/tk*"
+
+# isn't getting picked up by shlibs code
+RDEPENDS_${PN} += "tk-lib"
+RDEPENDS_${PN}_class-native = ""
+
+BBCLASSEXTEND = "native"
+
+# Fix the path in sstate
+SSTATE_SCAN_FILES += "*Config.sh"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch
new file mode 100644
index 000000000..4434e839f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007e-shared.patch
@@ -0,0 +1,82 @@
+Fix linking libraries built with -fPIC with this library
+
+Patch borrowed from Fedora
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+Upstream-Status: Pending
+
+diff -up imap-2007e/src/osdep/unix/Makefile.shared imap-2007e/src/osdep/unix/Makefile
+--- imap-2007e/src/osdep/unix/Makefile.shared 2009-07-07 19:28:02.909755512 -0500
++++ imap-2007e/src/osdep/unix/Makefile 2009-07-07 19:29:35.870006799 -0500
+@@ -170,6 +170,10 @@ BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRA
+ EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\
+ PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP)
+
++# Need this for the shared library rule to work correctly
++.SUFFIXES: .o .so
++SOFILES=${BINARIES:.o=.so}
++
+
+ # Here if no make argument established
+
+@@ -845,18 +849,24 @@ vu2: # VAX Ultrix 2.3, etc.
+
+ # Build it!
+
+-build: clean once $(ARCHIVE)
++build: clean once $(ARCHIVE) $(SHLIBNAME)
+
+-all: $(ARCHIVE)
++all: $(ARCHIVE) $(SHLIBNAME)
+
+ $(ARCHIVE): $(BINARIES)
+ sh -c '$(RM) $(ARCHIVE) || true'
+ @$(CAT) ARCHIVE
+ @$(SH) ARCHIVE
+
+-.c.o:
+- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` $*.c
++$(SHLIBNAME): $(SOFILES)
++ gcc -shared -Wl,-soname,$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `cat LDFLAGS`
++ ln -s $(SHLIBNAME) lib$(SHLIBBASE).so
+
++.c.so: osdep.h
++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` ${@:.so=.c} -o $@
++
++.c.o:
++ $(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` $*.c
+
+ # Cleanup
+
+@@ -895,8 +905,7 @@ utf8aux.o: mail.h misc.h osdep.h utf8.h
+
+
+ # OS-dependent
+-
+-osdep.o:mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
++OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
+ osdep.h env_unix.h tcp_unix.h \
+ osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\
+ auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \
+@@ -910,12 +919,19 @@ osdep.o:mail.h misc.h env.h fs.h ftl.h n
+ write.c sslstdio.c \
+ strerror.c strpbrk.c strstr.c strtok.c strtoul.c \
+ OSCFLAGS
++
++osdep.o: $(OSDEPS)
++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c
++ @echo ========================================================================
+ @echo Building OS-dependent module
+ @echo If you get No such file error messages for files x509.h, ssl.h,
+ @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL
+ @echo is not installed on your system. Either install OpenSSL first
+ @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none
+- `$(CAT) CCTYPE` -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c
++ @echo ========================================================================
++
++osdep.so: $(OSDEPS)
++ $(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `cat OSCFLAGS` -c osdep.c -o $@
+
+ osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c
+ $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch
new file mode 100644
index 000000000..6ec04761a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/imap-2007f-format-security.patch
@@ -0,0 +1,20 @@
+Fix error found with "-Werror=format-security" flag
+
+Patch borrowed from Fedora
+
+Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
+
+Upstream-Status: Pending
+
+diff -Naur imap-2007f.orig/src/osdep/unix/flocklnx.c imap-2007f/src/osdep/unix/flocklnx.c
+--- imap-2007f.orig/src/osdep/unix/flocklnx.c 2011-07-23 02:20:11.000000000 +0200
++++ imap-2007f/src/osdep/unix/flocklnx.c 2014-04-14 19:17:46.429000000 +0200
+@@ -57,7 +57,7 @@
+ case ENOLCK: /* lock table is full */
+ sprintf (tmp,"File locking failure: %s",strerror (errno));
+ mm_log (tmp,WARN); /* give the user a warning of what happened */
+- if (!logged++) syslog (LOG_ERR,tmp);
++ if (!logged++) syslog (LOG_ERR, "%s", tmp);
+ /* return failure if non-blocking lock */
+ if (op & LOCK_NB) return -1;
+ sleep (5); /* slow down in case it loops */
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch
new file mode 100644
index 000000000..f729ee207
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch
@@ -0,0 +1,12 @@
+diff -urN imap-2007.orig/Makefile imap-2007/Makefile
+--- imap-2007.orig/Makefile 2007-12-20 23:11:10.000000000 +0100
++++ imap-2007/Makefile 2008-03-19 14:08:47.000000000 +0100
+@@ -690,7 +690,7 @@
+ @$(SH) -c '(test $(BUILDTYPE) = rebuild -o $(BUILDTYPE) = `$(CAT) OSTYPE`) || (echo Already built for `$(CAT) OSTYPE` -- you must do \"make clean\" first && exit 1)'
+ @echo Rebuilding c-client for `$(CAT) OSTYPE`...
+ @$(TOUCH) SPECIALS
+- $(CD) c-client;$(MAKE) all CC=`$(CAT) CCTYPE` \
++ $(CD) c-client;$(MAKE) all CC="`$(CAT) CCTYPE`" \
+ CFLAGS="`$(CAT) CFLAGS`" `$(CAT) SPECIALS`
+
+ rebuildclean:
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
new file mode 100644
index 000000000..52b689ed6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -0,0 +1,44 @@
+SUMMARY = "UW c-client library for mail protocols"
+SECTION = "devel"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97"
+
+DEPENDS = "openssl"
+
+SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \
+ file://quote_cctype.patch \
+ file://imap-2007e-shared.patch \
+ file://imap-2007f-format-security.patch \
+ "
+
+SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369"
+SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28"
+
+S = "${WORKDIR}/imap-${PV}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG[pam] = ",,libpam"
+
+EXTRA_OEMAKE = "CC='${CC}'"
+
+HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h"
+
+do_compile() {
+ echo "SSLINCLUDE=${STAGING_INCDIR} SSLLIB=${STAGING_LIBDIR}" > ${S}/SPECIALS
+ oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'lnp', 'slx', d)}
+}
+
+do_install() {
+ install -d ${D}${includedir}/c-client
+ install ${HEADERS} ${D}${includedir}/c-client
+ install -d ${D}${libdir}
+ install c-client/c-client.a ${D}${libdir}/libc-client.a
+}
+
+RPROVIDES_${PN} = "libc-client"
+RREPLACES_${PN} = "libc-client"
+RCONFLICTS_${PN} = "libc-client"
+
+ALLOW_EMPTY_${PN} = "1"
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
new file mode 100644
index 000000000..074513038
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
@@ -0,0 +1,16 @@
+DESCRIPTION = "Vala DBus Binding Tool"
+SECTION = "devel"
+DEPENDS = "vala libgee libxml2 intltool-native"
+HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+PE = "1"
+INC_PR = "r3"
+
+export XDG_DATA_DIRS = "${STAGING_DATADIR}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/freesmartphone/sources/${BP}.tar.bz2"
+
+inherit autotools perlnative pkgconfig
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch
new file mode 100644
index 000000000..14d84ae8a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool/0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch
@@ -0,0 +1,34 @@
+From 8abed2e5bf8e7815b11df6d22042d5f0ac8efcb0 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 5 May 2015 13:43:35 +0200
+Subject: [PATCH] configure.ac: don't use dash in m4 macro names
+
+* otherwise it doesn't get expanded and vala-dbus-binding-tool ends with version 'vala-dbus-binding-tool_version'
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ configure.ac | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 48f007c..18d0bde 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,9 +1,9 @@
+-m4_define([vala-dbus-binding-tool_released], [0])
+-m4_define([vala-dbus-binding-tool_base_version], [1.0])
+-m4_define([vala-dbus-binding-tool_maybe_gitrev], m4_if(vala-dbus-binding-tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])]))
+-m4_define([vala-dbus-binding-tool_version], m4_if(vala-dbus-binding-tool_released, [1], [vala-dbus-binding-tool_base_version], [vala-dbus-binding-tool_base_version-vala-dbus-binding-tool_maybe_gitrev]))
++m4_define([vala_dbus_binding_tool_released], [0])
++m4_define([vala_dbus_binding_tool_base_version], [1.0])
++m4_define([vala_dbus_binding_tool_maybe_gitrev], m4_if(vala_dbus_binding_tool_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])]))
++m4_define([vala_dbus_binding_tool_version], m4_if(vala_dbus_binding_tool_released, [1], [vala_dbus_binding_tool_base_version], [vala_dbus_binding_tool_base_version-vala_dbus_binding_tool_maybe_gitrev]))
+
+-AC_INIT([vala-dbus-binding-tool], [vala-dbus-binding-tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool])
++AC_INIT([vala-dbus-binding-tool], [vala_dbus_binding_tool_version], [fso@openphoenux.org], [vala-dbus-binding-tool])
+ AC_CONFIG_SRCDIR([src/Makefile.am])
+ AC_CONFIG_HEADERS(config.h)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+--
+2.3.5
+
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb
new file mode 100644
index 000000000..82fb73c3f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb
@@ -0,0 +1,4 @@
+require vala-dbus-binding-tool.inc
+
+SRC_URI[md5sum] = "59eab7abf38f35355d3786803bd2441f"
+SRC_URI[sha256sum] = "1e37ab2e6238eaef9f573560ea7379e6955570f7c9503083e50c4c185c1956df"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
new file mode 100644
index 000000000..02a869f2a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
@@ -0,0 +1,18 @@
+require vala-dbus-binding-tool.inc
+
+# Temporary remove negative preference, because there are 2 versions of 0.4.0 archives:
+# the original one depending on libgee1.0 from
+# http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2
+# and new one depending on libgee0.8 from
+# http://sourceforge.net/projects/freesmartphone/files/sources/
+# The original one can be already deployed on various premirrors,
+# so prefer the git recipe which doesn't suffer from this issue
+# DEFAULT_PREFERENCE = "-1"
+
+SRCREV = "742c04c2bb0743891904522ce47e50f9e5c99b12"
+PV = "0.4.0+gitr${SRCPV}"
+
+SRC_URI = "git://github.com/freesmartphone/vala-dbus-binding-tool.git;protocol=https \
+ file://0001-configure.ac-don-t-use-dash-in-m4-macro-names.patch \
+"
+S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.3.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.3.bb
new file mode 100644
index 000000000..2355c9dfc
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.3.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Xerces-c is a validating xml parser written in C++"
+DESCRIPTION = "Xerces-C++ makes it easy to give your application \
+ the ability to read and write XML data. \
+ A shared library is provided for parsing, generating, \
+ manipulating, and validating XML documents using \
+ the DOM, SAX, and SAX2 APIs."
+HOMEPAGE = "http://xerces.apache.org/xerces-c/"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "http://apache.lauf-forum.at/xerces/c/3/sources/${BP}.tar.bz2"
+SRC_URI[md5sum] = "5e333b55cb43e6b025ddf0e5d0f0fb0d"
+SRC_URI[sha256sum] = "fc5e5e0247b108b8d64d75aeb124cabdee9b7fcd725a89fe2242b4637b25c1fa"
+
+inherit autotools
+
+PACKAGECONFIG ??= "curl icu"
+PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR},--with-curl=no,curl"
+PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR},--with-icu=no,icu"
+
+do_install_prepend () {
+ sed -i -e 's:-L${STAGING_DIR}/lib:-L\$\{libdir\}:g' ${B}/xerces-c.pc
+}
+
+PACKAGES = "libxerces-c \
+ libxerces-c-dbg \
+ libxerces-c-dev \
+ xerces-c-samples \
+ xerces-c-samples-dbg \
+ libxerces-c-staticdev \
+ "
+
+FILES_libxerces-c = "${libdir}/libxerces-c-3.1.so"
+FILES_libxerces-c-dbg = "${libdir}/.debug \
+ ${prefix}/src/debug "
+FILES_libxerces-c-dev = "${libdir}/lib*.la \
+ ${libdir}/libxerces-c.so \
+ ${libdir}/pkgconfig/xerces-c.pc \
+ ${includedir}/xercesc \
+ "
+FILES_xerces-c-samples = "${bindir}/*"
+FILES_xerces-c-samples-dbg = "${bindir}/.debug/"
+FILES_libxerces-c-staticdev = "${libdir}/lib*.a"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb b/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
new file mode 100644
index 000000000..1bf538955
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Yet Another JSON Library."
+
+DESCRIPTION = "YAJL is a small event-driven (SAX-style) JSON parser \
+written in ANSI C, and a small validating JSON generator."
+
+HOMEPAGE = "http://lloyd.github.com/yajl/"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=39af6eb42999852bdd3ea00ad120a36d"
+
+SRC_URI = "git://github.com/lloyd/yajl"
+SRCREV = "a0ecdde0c042b9256170f2f8890dd9451a4240aa"
+
+S = "${WORKDIR}/git"
+
+inherit cmake lib_package
+
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
OpenPOWER on IntegriCloud