summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2014-10-10 03:20:04 +0200
committerTudor Florea <tudor.florea@enea.com>2014-10-10 03:20:04 +0200
commit1b8dfe266937a37a4c642f96ceb2347bf4c00a17 (patch)
tree0c6aab146bb3c82efd9c7846a9a4e70dcb0ec84f /meta-oe/recipes-devtools
downloadmeta-openembedded-daisy-140929.tar.gz
initial commit for Enea Linux 4.0-140929daisy-140929
Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-devtools')
-rw-r--r--meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc15
-rw-r--r--meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb13
-rw-r--r--meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch49
-rw-r--r--meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch39
-rw-r--r--meta-oe/recipes-devtools/bootchart/bootchart_git.bb21
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad_svn.bb73
-rw-r--r--meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch29
-rw-r--r--meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service10
-rw-r--r--meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service11
-rw-r--r--meta-oe/recipes-devtools/cloud9/cloud9/index.js2
-rw-r--r--meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb117
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch69
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb40
-rw-r--r--meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb11
-rw-r--r--meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb13
-rw-r--r--meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch47
-rw-r--r--meta-oe/recipes-devtools/geany/geany_1.23.bb16
-rw-r--r--meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb20
-rw-r--r--meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch51
-rw-r--r--meta-oe/recipes-devtools/glade/glade3_3.8.2.bb25
-rw-r--r--meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch27
-rw-r--r--meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb13
-rw-r--r--meta-oe/recipes-devtools/lemon/files/lemon.163
-rw-r--r--meta-oe/recipes-devtools/lemon/lemon.inc25
-rw-r--r--meta-oe/recipes-devtools/lemon/lemon_3.5.4.bb7
-rw-r--r--meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch12
-rw-r--r--meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb35
-rw-r--r--meta-oe/recipes-devtools/libedit/libedit_20130712-3.1.bb20
-rw-r--r--meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb17
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee.inc18
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee_0.6.4.bb10
-rw-r--r--meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb16
-rw-r--r--meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch40
-rw-r--r--meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-wdt_test_suite-Make-sure-to-include-generated-header.patch34
-rw-r--r--meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb77
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch49
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace_git.bb25
-rw-r--r--meta-oe/recipes-devtools/lua/lua/lua.pc11
-rw-r--r--meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch13
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch605
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc11
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch18
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch44
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch13
-rw-r--r--meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb55
-rw-r--r--meta-oe/recipes-devtools/lua/lua_5.2.2.bb49
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch33
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch105
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb54
-rw-r--r--meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch208
-rw-r--r--meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb16
-rw-r--r--meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb27
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch60
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch13
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb47
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb42
-rw-r--r--meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb28
-rw-r--r--meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch166
-rw-r--r--meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch13
-rw-r--r--meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch422
-rw-r--r--meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb62
-rw-r--r--meta-oe/recipes-devtools/perl/libio-pty-perl_1.10.bb14
-rw-r--r--meta-oe/recipes-devtools/php/php.inc133
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch26
-rw-r--r--meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch18
-rw-r--r--meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch38
-rw-r--r--meta-oe/recipes-devtools/php/php/iconv.patch27
-rw-r--r--meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch41
-rw-r--r--meta-oe/recipes-devtools/php/php/pear-makefile.patch13
-rw-r--r--meta-oe/recipes-devtools/php/php/phar-makefile.patch26
-rw-r--r--meta-oe/recipes-devtools/php/php/php-fpm-apache.conf6
-rw-r--r--meta-oe/recipes-devtools/php/php/php-fpm.conf510
-rw-r--r--meta-oe/recipes-devtools/php/php/php_exec_native.patch19
-rw-r--r--meta-oe/recipes-devtools/php/php_5.4.14.bb21
-rw-r--r--meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb65
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb20
-rw-r--r--meta-oe/recipes-devtools/python/pyrtm_0.2.bb12
-rw-r--r--meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb19
-rw-r--r--meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb21
-rw-r--r--meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb35
-rw-r--r--meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch27
-rw-r--r--meta-oe/recipes-devtools/python/python-cython_0.15.1.bb19
-rw-r--r--meta-oe/recipes-devtools/python/python-dateutil_1.5.bb22
-rw-r--r--meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb18
-rw-r--r--meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb14
-rw-r--r--meta-oe/recipes-devtools/python/python-futures_2.1.5.bb14
-rw-r--r--meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb18
-rw-r--r--meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb19
-rw-r--r--meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb14
-rw-r--r--meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch14
-rw-r--r--meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb13
-rw-r--r--meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb33
-rw-r--r--meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch39
-rw-r--r--meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb23
-rw-r--r--meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch29
-rw-r--r--meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch29
-rw-r--r--meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb36
-rw-r--r--meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch33
-rw-r--r--meta-oe/recipes-devtools/python/python-numeric_24.2.bb14
-rw-r--r--meta-oe/recipes-devtools/python/python-pexpect_2.3.bb23
-rw-r--r--meta-oe/recipes-devtools/python/python-pip_1.3.1.bb14
-rw-r--r--meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb14
-rw-r--r--meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb15
-rw-r--r--meta-oe/recipes-devtools/python/python-pyopenssl_0.13.bb24
-rw-r--r--meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch12
-rw-r--r--meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff248
-rw-r--r--meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb103
-rw-r--r--meta-oe/recipes-devtools/python/python-pyserial_2.4.bb22
-rw-r--r--meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb25
-rw-r--r--meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb18
-rw-r--r--meta-oe/recipes-devtools/python/python-pyyaml/setup.py64
-rw-r--r--meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb22
-rw-r--r--meta-oe/recipes-devtools/python/python-simplejson_2.2.1.bb27
-rw-r--r--meta-oe/recipes-devtools/python/python-sip_4.14.2.bb46
-rw-r--r--meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb20
-rw-r--r--meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb14
-rw-r--r--meta-oe/recipes-devtools/python/python-tornado/0001-disable-AI_ADDRCONFIG-flag.patch32
-rw-r--r--meta-oe/recipes-devtools/python/python-tornado_git.bb16
-rw-r--r--meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb222
-rw-r--r--meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb16
-rw-r--r--meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb19
-rw-r--r--meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb22
-rw-r--r--meta-oe/recipes-devtools/swig/swig.inc63
-rw-r--r--meta-oe/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch69
-rw-r--r--meta-oe/recipes-devtools/swig/swig_2.0.12.bb7
-rw-r--r--meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch31
-rw-r--r--meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb14
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk-8.6.0/confsearch.diff32
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk-8.6.0/fix-xft.diff16
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk-8.6.0/non-linux.diff45
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk-8.6.0/tklibrary.diff22
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk-8.6.0/tkprivate.diff41
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb54
-rw-r--r--meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc16
-rw-r--r--meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb4
-rw-r--r--meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb9
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb18
137 files changed, 6245 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc b/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc
new file mode 100644
index 0000000000..e8785f4de2
--- /dev/null
+++ b/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive.inc
@@ -0,0 +1,15 @@
1LICENSE = "GPLv3"
2HOMEPAGE = "http://www.gnu.org/software/autoconf-archive/"
3SECTION = "devel"
4
5DEPENDS += "m4-native"
6DEPENDS_virtclass-native = "m4-native gnu-config-native"
7DEPENDS_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk"
8
9RDEPENDS_${PN} = "m4 gnu-config"
10RDEPENDS_${PN}_virtclass-native = "m4-native gnu-config-native"
11RDEPENDS_${PN}_virtclass-nativesdk = "m4-nativesdk gnu-config-nativesdk"
12
13SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2"
14
15inherit autotools
diff --git a/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb b/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb
new file mode 100644
index 0000000000..5baaecc344
--- /dev/null
+++ b/meta-oe/recipes-devtools/autoconf-archive/autoconf-archive_2012.04.07.bb
@@ -0,0 +1,13 @@
1require autoconf-archive.inc
2
3
4PARALLEL_MAKE = ""
5
6LICENSE = "GPLv2 & GPLv3"
7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
8
9SRC_URI[md5sum] = "e842c5b9fae021007bd70550362e5e80"
10SRC_URI[sha256sum] = "040b443bf68efd52fbfcb294b556bfbbbfe432db78445ca25e0cfe2e88f96a14"
11
12EXTRA_OECONF += "ac_cv_path_M4=m4"
13BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch b/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
new file mode 100644
index 0000000000..4581ef25fc
--- /dev/null
+++ b/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
@@ -0,0 +1,49 @@
1From 8d40b4c286e005e82fa50b66fbbbde22b7e65e15 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sun, 20 May 2012 21:35:34 +0200
4Subject: [PATCH 1/2] svg: add rudimentary support for ARM cpuinfo
5
6On ARM /proc/cpuinfo looks like this:
7
8root@beagleboneA3-0428:~# cat /proc/cpuinfo
9Processor : ARMv7 Processor rev 2 (v7l)
10BogoMIPS : 498.89
11Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
12CPU implementer : 0x41
13CPU architecture: 7
14CPU variant : 0x3
15CPU part : 0xc08
16CPU revision : 2
17
18Hardware : am335xevm
19Revision : 0000
20Serial : 0000000000000000
21
22So no real way to get the actual SoC name, TI AM3359, but a lot better than 'Unknown'
23
24Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
25---
26
27Upstream-Status: submitted
28
29 svg.c | 4 ++++
30 1 file changed, 4 insertions(+)
31
32diff --git a/svg.c b/svg.c
33index 80e0292..53724b2 100644
34--- a/svg.c
35+++ b/svg.c
36@@ -178,6 +178,10 @@ void svg_title(void)
37 strncpy(cpu, &buf[13], 255);
38 break;
39 }
40+ if (strstr(buf, "Processor")) {
41+ strncpy(cpu, &buf[12], 255);
42+ break;
43+ }
44 }
45 fclose(f);
46 }
47--
481.7.10
49
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch b/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
new file mode 100644
index 0000000000..f63d98aee5
--- /dev/null
+++ b/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
@@ -0,0 +1,39 @@
1From e3adb4c312c6ba3491b7c173559efac7a53e5abc Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sun, 20 May 2012 22:12:29 +0200
4Subject: [PATCH 2/2] svg: open /etc/os-release and use PRETTY_NAME for the
5 'Build' name
6
7Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8---
9
10Upstream-Status: Submitted
11
12 svg.c | 11 +++++++++++
13 1 file changed, 11 insertions(+)
14
15diff --git a/svg.c b/svg.c
16index 53724b2..c675d84 100644
17--- a/svg.c
18+++ b/svg.c
19@@ -194,6 +194,17 @@ void svg_title(void)
20 fclose(f);
21 }
22
23+ f = fopen("/etc/os-release", "r");
24+ if(f) {
25+ while (fgets(buf, 255, f)) {
26+ if (strstr(buf, "PRETTY_NAME=")) {
27+ strncpy(build, &buf[12], 255);
28+ break;
29+ }
30+ }
31+ fclose(f);
32+ }
33+
34 svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
35 uts.nodename, date);
36 svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
37--
381.7.10
39
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart_git.bb b/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
new file mode 100644
index 0000000000..a8b81849f3
--- /dev/null
+++ b/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
@@ -0,0 +1,21 @@
1DESCRIPTION = "Monitors where the system spends its time at start, creating a graph of all processes, disk utilization, and wait time."
2HOMEPAGE = "http://meego.gitorious.org/meego-developer-tools/bootchart"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
6
7PV = "1.16"
8PR = "r1"
9PE = "1"
10
11SRC_URI = "git://gitorious.org/meego-developer-tools/bootchart.git \
12 file://0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch \
13 file://0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch \
14"
15
16SRCREV = "872fb107028e377eef3c0c7c8a6e0f7c32b8ebb8"
17
18S = "${WORKDIR}/git"
19
20inherit autotools
21
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb b/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
new file mode 100644
index 0000000000..2c5941d7ee
--- /dev/null
+++ b/meta-oe/recipes-devtools/breakpad/breakpad_svn.bb
@@ -0,0 +1,73 @@
1# Released under the MIT license (see COPYING.MIT for the terms)
2
3# Applications using this library needs to add link against libbreakpad_client.a.
4
5SUMMARY = "An open-source multi-platform crash reporting system"
6DESCRIPTION = "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. "
7HOMEPAGE = "https://code.google.com/p/google-breakpad/"
8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=56c24a43c81c3af6fcf590851931489e"
10SECTION = "libs"
11
12inherit autotools
13
14BBCLASSEXTEND = "native"
15
16SRCREV = "r1318"
17SRC_URI = "svn://google-breakpad.googlecode.com/svn;module=trunk;protocol=http"
18S = "${WORKDIR}/trunk"
19
20do_install_append() {
21 install -d ${D}${includedir}
22 install -d ${D}${includedir}/breakpad
23
24 install -d ${D}${includedir}/breakpad/client/linux/crash_generation
25 install -m 0644 ${S}/src/client/linux/crash_generation/crash_generation_client.h ${D}${includedir}/breakpad/client/linux/crash_generation/crash_generation_client.h
26
27 install -d ${D}${includedir}/breakpad/client/linux/handler/
28 install -m 0644 ${S}/src/client/linux/handler/exception_handler.h ${D}${includedir}/breakpad/client/linux/handler/exception_handler.h
29 install -m 0644 ${S}/src/client/linux/handler/minidump_descriptor.h ${D}${includedir}/breakpad/client/linux/handler/minidump_descriptor.h
30
31 install -d ${D}${includedir}/breakpad/client/linux/minidump_writer
32 install -m 0644 ${S}/src/client/linux/minidump_writer/linux_dumper.h ${D}${includedir}/breakpad/client/linux/minidump_writer/linux_dumper.h
33 install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h
34
35 install -d ${D}${includedir}/breakpad/common
36 install -m 0644 ${S}/src/common/memory.h ${D}${includedir}/breakpad/common/memory.h
37 install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h
38 install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h
39
40 install -d ${D}${includedir}/breakpad/google_breakpad/common
41 install -m 0644 ${S}/src/google_breakpad/common/breakpad_types.h ${D}${includedir}/breakpad/google_breakpad/common/breakpad_types.h
42 install -m 0644 ${S}/src/google_breakpad/common/minidump_format.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_format.h
43 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_amd64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_amd64.h
44 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm.h
45 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h
46 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_mips.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_mips.h
47 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc64.h
48 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc.h
49 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_sparc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_sparc.h
50 install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_x86.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_x86.h
51 install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_linux.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_linux.h
52 install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_mac.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_mac.h
53 install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_ps3.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_ps3.h
54 install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_solaris.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_solaris.h
55 install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_win32.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_win32.h
56
57 install -d ${D}${includedir}/breakpad/third_party/lss
58 install -m 0644 ${S}/src/third_party/lss/linux_syscall_support.h ${D}${includedir}/breakpad/third_party/lss/linux_syscall_support.h
59}
60
61PACKAGES =+ "${PN}-minidump-upload ${PN}-sym-upload"
62
63FILES_${PN}-minidump-upload = "${bindir}/minidump_upload"
64FILES_${PN}-sym-upload = "${bindir}/sym_upload"
65
66
67SYSROOT_PREPROCESS_FUNCS += "breakpad_populate_sysroot"
68breakpad_populate_sysroot() {
69 sysroot_stage_dir ${D}/usr/include ${SYSROOT_DESTDIR}/usr/include
70 sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
71 sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
72}
73
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch b/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
new file mode 100644
index 0000000000..b32311a82f
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloud9/cloud9/0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch
@@ -0,0 +1,29 @@
1From ac1953d04f3f26d6aa5d8f53a9397d3ba0e96fa3 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@circuitco.com>
3Date: Fri, 11 May 2012 15:23:02 +0000
4Subject: [PATCH] ide: use 'node' as interpreter for sketches instead of
5 argv[0]
6
7This enables running scripts with node 0.6.x instead of 0.4.x
8
9Signed-off-by: root <root@beaglebone.(none)>
10---
11 server/cloud9/ide.js | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-)
13
14diff --git a/server/cloud9/ide.js b/server/cloud9/ide.js
15index ce782f5..6c4e0f7 100644
16--- a/server/cloud9/ide.js
17+++ b/server/cloud9/ide.js
18@@ -53,7 +53,7 @@ var Ide = module.exports = function(options, httpServer, exts, socket) {
19 };
20
21 this.$users = {};
22- this.nodeCmd = process.argv[0];
23+ this.nodeCmd = "node";
24
25 var davOptions = {
26 node: this.options.mountDir,
27--
281.7.7
29
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service b/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service
new file mode 100644
index 0000000000..cb9b6e2db9
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloud9/cloud9/cloud9-avahi.service
@@ -0,0 +1,10 @@
1<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
2<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
3
4<service-group>
5 <name replace-wildcards="yes">Cloud9 IDE on %h</name>
6 <service>
7 <type>_http._tcp</type>
8 <port>3000</port>
9 </service>
10</service-group>
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service b/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service
new file mode 100644
index 0000000000..495b131ffa
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloud9/cloud9/cloud9.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=Cloud9 IDE
3ConditionPathExists=|/var/lib/cloud9
4
5[Service]
6Restart=always
7EnvironmentFile=-/etc/default/node
8ExecStart=/usr/bin/node4 /usr/share/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9/index.js b/meta-oe/recipes-devtools/cloud9/cloud9/index.js
new file mode 100644
index 0000000000..e40dd6dc26
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloud9/cloud9/index.js
@@ -0,0 +1,2 @@
1var o3 = require('./o3.js')
2module.exports = o3.xml; \ No newline at end of file
diff --git a/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb b/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
new file mode 100644
index 0000000000..b5dbaa8d8e
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloud9/cloud9_0.6.bb
@@ -0,0 +1,117 @@
1SUMMARY = "Meet Cloud9, development-as-a-service for Javascripters and other developers"
2HOMEPAGE = "http://c9.io"
3LICENSE = "GPLv3"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=4784c3bcff601fd8f9515f52a11e7018"
5
6PR = "r5"
7
8# Nodejs-native for node-waf, nodejs4-native for the headers
9DEPENDS = "libxml2 nodejs-native nodejs4-native"
10
11inherit systemd
12
13SRC_URI = "git://github.com/ajaxorg/cloud9.git;name=cloud9ide \
14 git://github.com/ajaxorg/o3;destsuffix=o3;name=o3 \
15 git://github.com/ajaxorg/ace.git;destsuffix=git/support/ace;name=ace \
16 git://github.com/ajaxorg/ace.wiki.git;destsuffix=git/support/ace/doc/wiki;name=acewiki \
17 git://github.com/ajaxorg/apf.git;destsuffix=git/support/apf;name=apf \
18 git://github.com/ajaxorg/async.js.git;destsuffix=git/support/asyncjs;name=asyncjs \
19 git://github.com/ajaxorg/connect.git;destsuffix=git/support/connect;name=connect;branch=ajaxorg \
20 git://github.com/jashkenas/coffee-script.git;destsuffix=git/support/connect/support/coffee-script;name=coffee-script \
21 git://github.com/visionmedia/expresso.git;destsuffix=git/support/connect/support/expresso;name=expresso \
22 git://github.com/visionmedia/node-jscoverage.git;destsuffix=git/support/connect/support/expresso/deps/jscoverage;name=jscoverage \
23 git://github.com/cloudhead/less.js.git;destsuffix=git/support/connect/support/less;name=less \
24 git://github.com/matehat/sass.js.git;destsuffix=git/support/connect/support/sass;name=sass \
25 git://github.com/ajaxorg/jsDAV.git;destsuffix=git/support/jsdav;name=jsdav \
26 git://github.com/fjakobs/async.js.git;destsuffix=git/support/jsdav/support/async.js;name=async-js \
27 git://github.com/felixge/node-formidable.git;destsuffix=git/support/jsdav/support/formidable;name=formidable \
28 git://github.com/ajaxorg/jsftp.git;destsuffix=git/support/jsdav/support/jsftp;name=jsftp \
29 git://github.com/Gozala/streamer.git;destsuffix=git/support/jsdav/support/jsftp/support/streamer;name=streamer \
30 git://github.com/ajaxorg/node-sftp.git;destsuffix=git/support/jsdav/support/node-sftp;name=sftp \
31 git://github.com/ajaxorg/lib-v8debug.git;destsuffix=git/support/lib-v8debug;name=lib-v8debug \
32 git://github.com/ajaxorg/socket.io.git;destsuffix=git/support/socket.io;name=socketio;branch=cadorn-upstream \
33 git://github.com/LearnBoost/socket.io-client.git;destsuffix=git/support/socket.io-client;name=socketio-client \
34 git://github.com/ajaxorg/treehugger.git;destsuffix=git/support/treehugger;name=treehugger \
35 git://github.com/ajaxorg/UglifyJS.git;destsuffix=git/support/uglify-js;name=uglify-js \
36 file://index.js \
37 file://cloud9-avahi.service \
38 file://cloud9.service \
39 file://0001-ide-use-node-as-interpreter-for-sketches-instead-of-.patch \
40"
41
42SRCREV_cloud9ide = "c4e2574896a22bb749f0500b25f41c888d346bed"
43SRCREV_o3 = "d66d4e3252e505f44ada6804c8cab39915ce8afd"
44SRCREV_ace = "0fc5392cbe46fb134052c3065a238ad8e3b31cfd"
45SRCREV_acewiki = "d2a65d0addc2e5ab922bbff9cb6022a4652b4f13"
46SRCREV_apf = "2560b762b2b0e5a8b46f8a4062f927a9a9d239f4"
47SRCREV_asyncjs = "d36ead408e2959b1e99572114ef3a1b6a48c1072"
48SRCREV_connect = "6bec95b51f2286b942bc7f340d62d816bcdc13d4"
49SRCREV_coffee-script = "a53c104db16d3ac9d13cf9f16834edec250b9749"
50SRCREV_expresso = "7f10ab7fa655299b4e2f519065b0495e6ac34ef2"
51SRCREV_jscoverage = "0d4608a6b4275b020ba665389aa75897d5d4a584"
52SRCREV_less = "a2807288008587b95c6c2f8ba5cac16f1bcab98f"
53SRCREV_sass = "4dfd4c699e7a8baf226215ab044854c4507f4420"
54SRCREV_jsdav = "f04ebf3d012cc8aeabfcfb2b8fab8966d52929e9"
55SRCREV_async-js = "92fb710a70efd3cdc2376ebfba71a7fb3a4f1651"
56SRCREV_formidable = "a37292d4b7d6d76a38909ed670334c9068d40871"
57SRCREV_jsftp = "e3f10c8927347c170cdd0150ef38e18272acf942"
58SRCREV_streamer = "1a7f75d4065819171ac91a09974199b932dbe17d"
59SRCREV_sftp = "a0539345134970d7535a19cb2608e3d1bc119d71"
60SRCREV_lib-v8debug = "7c11897f4bc77c7275c2b6dff5becc72ac018662"
61SRCREV_socketio = "735d5239b325df2ba67d2b9bb4ec32442283bc06"
62SRCREV_socketio-client = "4375ef1344ecb8ad75a3848a00af6b391822f86b"
63SRCREV_treehugger = "436d0d6dd0ce43782e6be08ad12c356730626996"
64SRCREV_uglify-js = "941c845c4a01e4e47a158458fe846eb36d0828ad"
65
66SRCREV_FORMAT = "cloud9ide"
67
68S = "${WORKDIR}/git"
69
70do_configure () {
71 cd ${WORKDIR}/o3
72 node-waf -vv configure
73}
74
75EXTRA_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"
76
77do_compile () {
78 cd ${WORKDIR}/o3
79 node4 tools/gluegen.js
80 cd hosts
81 ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node.o node-o3/sh_node.cc
82 ${CXX} ${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o sh_node_libs.o node-o3/sh_node_libs.cc
83 cd ..
84 ${CXX} ${TARGET_LDFLAGS} hosts/sh_node.o hosts/sh_node_libs.o -o o3.node -shared -Wl,-Bdynamic -lxml2
85}
86
87do_install () {
88 install -m 0755 -d ${D}${datadir}/cloud9 ${D}${bindir} ${D}/var/lib/cloud9
89 rsync -r --exclude=".*" ${S}/* ${D}${datadir}/cloud9
90
91 touch ${D}${bindir}/cloud9
92 echo "#!/bin/sh" > ${D}${bindir}/cloud9
93 echo "node4 ${datadir}/cloud9/bin/cloud9.js -l 0.0.0.0 -w /var/lib/cloud9 -p 3000" >> ${D}${bindir}/cloud9
94 chmod 0755 ${D}${bindir}/cloud9
95
96 install -m 0755 -d ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml
97 install -m 0644 ${WORKDIR}/index.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/index.js
98 install -m 0644 ${WORKDIR}/o3/modules/o3.js ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.js
99 install -m 0755 ${WORKDIR}/o3/o3.node ${D}${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/o3.node
100
101 install -m 0755 -d ${D}${sysconfdir}/avahi/services/
102 install -m 0644 ${WORKDIR}/cloud9-avahi.service ${D}${sysconfdir}/avahi/services/
103
104 install -d ${D}${systemd_unitdir}/system
105 install -m 0644 ${WORKDIR}/cloud9.service ${D}${systemd_unitdir}/system
106}
107
108FILES_${PN}-dbg += "${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/o3-xml/.debug \
109 ${datadir}/cloud9/support/jsdav/support/node-o3-xml-v4/lib/.debug \
110"
111
112RDEPENDS_${PN} = "nodejs4 nodejs gzip"
113
114RPROVIDES_${PN} += "${PN}-systemd"
115RREPLACES_${PN} += "${PN}-systemd"
116RCONFLICTS_${PN} += "${PN}-systemd"
117SYSTEMD_SERVICE_${PN} = "cloud9.service"
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch b/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
new file mode 100644
index 0000000000..38504fef6b
--- /dev/null
+++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
@@ -0,0 +1,69 @@
1Index: git/configure
2===================================================================
3--- git.orig/configure 2012-11-19 21:07:51.917429465 -0800
4+++ git/configure 2012-11-19 21:13:19.337437278 -0800
5@@ -275,8 +275,11 @@
6 assert "$SYSTEM" "$SYSTEM" "unsupported"
7
8 CORES=${CORES:-${DCORES}}
9-printf "Detecting machine architecture..."
10-PLATFORM=`uname -m 2> /dev/null`
11+if test -z "$PLATFORM"; then
12+ printf "Detecting machine architecture..."
13+ PLATFORM=`uname -m 2> /dev/null`
14+fi
15+
16 case $PLATFORM in
17 "macppc"|"Power Macintosh"|"powerpc")
18 MM="${MM:-"CK_MD_RMO"}"
19@@ -439,14 +442,18 @@
20 GZIP_SUFFIX=".gz"
21 fi
22
23-printf "Finding suitable compiler........"
24-CC=`pathsearch "${CC:-cc}"`
25-if test -z "$CC" -o ! -x "$CC"; then
26- CC=`pathsearch "${CC:-gcc}"`
27+if test -z "$CC"; then
28+ printf "Finding suitable compiler........"
29+ CC=`pathsearch "${CC:-cc}"`
30+ if test -z "$CC" -o ! -x "$CC"; then
31+ CC=`pathsearch "${CC:-gcc}"`
32+ fi
33 fi
34 assert "$CC" "not found"
35
36-cat << EOF > .1.c
37+if test -z "$COMPILER"; then
38+
39+ cat << EOF > .1.c
40 #include <stdio.h>
41 int main(void) {
42 #if defined(__GNUC__) && (__GNUC__ >= 4)
43@@ -460,16 +467,16 @@
44 #endif
45 }
46 EOF
47-
48-$CC -o .1 .1.c
49-COMPILER=`./.1`
50-r=$?
51-rm -f .1.c .1
52-
53-if test "$r" -ne 0; then
54- assert "" "update compiler"
55-else
56- echo "success [$CC]"
57+ $CC -o .1 .1.c
58+ COMPILER=`./.1`
59+ r=$?
60+ rm -f .1.c .1
61+
62+ if test "$r" -ne 0; then
63+ assert "" "update compiler"
64+ else
65+ echo "success [$CC]"
66+ fi
67 fi
68
69 if test "$COMPILER" = "suncc"; then
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
new file mode 100644
index 0000000000..fe57d9e4b6
--- /dev/null
+++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -0,0 +1,40 @@
1DESCRIPTION = "Concurrency Kit provides a plethora of concurrency primitives, \
2safe memory reclamation mechanisms and non-blocking data structures \
3designed to aid in the design and implementation of high performance \
4concurrent systems."
5
6LICENSE = "BSD & Apache-2.0"
7HOMEPAGE = "http://concurrencykit.org"
8SECTION = "base"
9
10SRCREV = "900d203aa9e41288545368ea40da0bee89f7907f"
11LIC_FILES_CHKSUM = "file://LICENSE;md5=f12611e65e064515ce264249b2bdea98"
12SRC_URI = "git://git.concurrencykit.org/ck.git \
13 file://cross.patch \
14"
15
16S = "${WORKDIR}/git"
17
18COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*"
19
20inherit autotools
21
22PLAT_powerpc64 = "ppc64"
23PLAT ?= "${HOST_ARCH}"
24
25do_configure () {
26 export PLATFORM=${PLAT}
27 export COMPILER='gcc'
28 ${S}/configure \
29 --prefix=${prefix} \
30 --includedir=${includedir} \
31 --libdir=${libdir} \
32}
33
34do_compile () {
35 oe_runmake
36}
37
38do_install () {
39 oe_runmake 'DESTDIR=${D}' install
40}
diff --git a/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb b/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb
new file mode 100644
index 0000000000..3e525fe4f8
--- /dev/null
+++ b/meta-oe/recipes-devtools/cppunit/cppunit_1.13.1.bb
@@ -0,0 +1,11 @@
1DESCRIPTION = "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. "
2HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit"
3LICENSE = "LGPL-2.1"
4SECTION = "libs"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
7SRC_URI = "http://dev-www.libreoffice.org/src/cppunit-${PV}.tar.gz"
8SRC_URI[md5sum] = "fa9aa839145cdf860bf596532bb8af97"
9SRC_URI[sha256sum] = "d5b9f3ffc9f1634d75b20b54f48c02e0817bca6afa1d5160b244889d6bff8e0f"
10
11inherit autotools
diff --git a/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
new file mode 100644
index 0000000000..f5fe9b9f22
--- /dev/null
+++ b/meta-oe/recipes-devtools/dejagnu/dejagnu_1.4.4.bb
@@ -0,0 +1,13 @@
1SUMMARY = "GNU unit testing framework, written in Expect and Tcl"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
4SECTION = "devel"
5
6inherit autotools
7
8SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
9
10SRC_URI[md5sum] = "053f18fd5d00873de365413cab17a666"
11SRC_URI[sha256sum] = "d0fbedef20fb0843318d60551023631176b27ceb1e11de7468a971770d0e048d"
12
13BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch b/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch
new file mode 100644
index 0000000000..5166fece09
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany/0001-configure.ac-remove-additional-c-test.patch
@@ -0,0 +1,47 @@
1From e62d5b59262ec7ffe07931790712c7e247377795 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Thu, 21 Feb 2013 09:31:31 +0100
4Subject: [PATCH] configure.ac remove additional c++ test
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9For openembedded cross-builds CXX can contain something like:
10
11arm-oe-linux-gnueabi-g++ -march=armv5te -marm -mthumb-interwork --sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemuarm
12
13This ends up in
14
15configure:5582: error: No C++ compiler found. Please install a C++ compiler.
16
17Anyway if [1] is still valid, the combination of AC_PROG_CC and AC_PROG_CXX
18should thow an error message.
19
20[1] http://lists.gnu.org/archive/html/bug-autoconf/2010-05/msg00001.html
21
22Upstream-Status: Inappropriate [configuration]
23
24Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
25---
26 configure.ac | 5 -----
27 1 files changed, 0 insertions(+), 5 deletions(-)
28
29diff --git a/configure.ac b/configure.ac
30index c37312a..742bf35 100644
31--- a/configure.ac
32+++ b/configure.ac
33@@ -26,11 +26,6 @@ AC_USE_SYSTEM_EXTENSIONS
34 AC_PROG_CC
35
36 AC_PROG_CXX
37-# check for C++ compiler explicitly and fail if none is found, do this check
38-# after AC_PROG_CXX has set the CXX environment variable
39-if ! which $CXX >/dev/null 2>&1; then
40- AC_MSG_ERROR([No C++ compiler found. Please install a C++ compiler.])
41-fi
42
43 AC_PROG_INSTALL
44 AC_PROG_LN_S
45--
461.7.6.5
47
diff --git a/meta-oe/recipes-devtools/geany/geany_1.23.bb b/meta-oe/recipes-devtools/geany/geany_1.23.bb
new file mode 100644
index 0000000000..4e0d4bf8c6
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany_1.23.bb
@@ -0,0 +1,16 @@
1SUMMARY = "A fast and lightweight IDE"
2HOMEPAGE = "http://www.geany.org/"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
5DEPENDS = "gtk+"
6
7inherit autotools pkgconfig perlnative
8
9SRC_URI = " \
10 http://download.geany.org/${PN}-${PV}.tar.bz2 \
11 file://0001-configure.ac-remove-additional-c-test.patch \
12"
13SRC_URI[md5sum] = "4290e8c32305e916f57bb0f0233bbec2"
14SRC_URI[sha256sum] = "cdd4a772694803c837ae59e56f7bdc2faba174509317211f522e7d25dfcbe8b0"
15
16FILES_${PN} += "${datadir}/icons"
diff --git a/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb b/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
new file mode 100644
index 0000000000..1f853083ce
--- /dev/null
+++ b/meta-oe/recipes-devtools/giflib/giflib_4.1.6.bb
@@ -0,0 +1,20 @@
1SUMMARY = "shared library for GIF images"
2SECTION = "libs"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
5PR = "r3"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2"
8
9inherit autotools
10
11EXTRA_OECONF = "--disable-x11"
12
13PACKAGES += "${PN}-utils"
14FILES_${PN} = "${libdir}/libgif.so.*"
15FILES_${PN}-utils = "${bindir}"
16
17BBCLASSEXTEND = "native"
18
19SRC_URI[md5sum] = "7125644155ae6ad33dbc9fc15a14735f"
20SRC_URI[sha256sum] = "e1c1ced9c5bc8f93ef0faf0a8c7717abf784d10a7b270d2285e8e1f3b93f2bed"
diff --git a/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch b/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
new file mode 100644
index 0000000000..1b24c39ce8
--- /dev/null
+++ b/meta-oe/recipes-devtools/glade/files/0001-gnome-doc-utils.make-sysrooted-pkg-config.patch
@@ -0,0 +1,51 @@
1From aed002cd9ff9e8f972120fbac33b4a65aba952e1 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Tue, 25 Sep 2012 10:28:33 +0200
4Subject: [PATCH] gnome-doc-utils.make: sysrooted pkg-config
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9same approach as used used in gnome-disk-utility:
10
11In cross environment we have to prepend the sysroot to the path found by
12pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
13it ends up using the files from host system. Now usually people have gnome installed
14so the build succeeds but if you dont have gnome installed on build host then
15it wont find the files on host system and packages using gnome-doc-utils wont
16compile.
17
18This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
19will be empty
20
21Upstream-Status: pending
22
23Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
24---
25 gnome-doc-utils.make | 10 +++++-----
26 1 files changed, 5 insertions(+), 5 deletions(-)
27
28diff --git a/gnome-doc-utils.make b/gnome-doc-utils.make
29index 42d9df3..f71bbfa 100644
30--- a/gnome-doc-utils.make
31+++ b/gnome-doc-utils.make
32@@ -133,11 +133,11 @@ _DOC_ABS_SRCDIR = @abs_srcdir@
33 _xml2po ?= `which xml2po`
34 _xml2po_mode = $(if $(DOC_ID),mallard,docbook)
35
36-_db2html ?= `$(PKG_CONFIG) --variable db2html gnome-doc-utils`
37-_db2omf ?= `$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
38-_chunks ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
39-_credits ?= `$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
40-_ids ?= $(shell $(PKG_CONFIG) --variable xmldir gnome-doc-utils)/gnome/xslt/docbook/utils/ids.xsl
41+_db2html ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2html gnome-doc-utils`
42+_db2omf ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable db2omf gnome-doc-utils`
43+_chunks ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/chunks.xsl
44+_credits ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/credits.xsl
45+_ids ?= ${PKG_CONFIG_SYSROOT_DIR}`$(PKG_CONFIG) --variable xmldir gnome-doc-utils`/gnome/xslt/docbook/utils/ids.xsl
46
47 if ENABLE_SK
48 _ENABLE_SK = true
49--
501.7.6.5
51
diff --git a/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb b/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb
new file mode 100644
index 0000000000..eec40e401f
--- /dev/null
+++ b/meta-oe/recipes-devtools/glade/glade3_3.8.2.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Glade - A User Interface Designer"
2HOMEPAGE = "http://www.gnu.org/software/gnash"
3LICENSE = "GPLv2 & LGPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
5 file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7"
6DEPENDS = "gtk+ gnome-doc-utils-native"
7
8PR = "r1"
9
10inherit autotools pkgconfig pythonnative
11
12SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade3/3.8/glade3-${PV}.tar.xz \
13 file://0001-gnome-doc-utils.make-sysrooted-pkg-config.patch"
14SRC_URI[md5sum] = "b5da0ce717b2dc710e93a10b97c0f9ce"
15SRC_URI[sha256sum] = "f180a5018eee6e3fe574854cb025af897dd9962b01d17d5752e626876d388b19"
16
17EXTRA_OECONF += "--disable-scrollkeeper"
18
19do_configure_prepend() {
20 sed -i '/^if HAVE_GNOME_DOC_UTILS/,/^endif/d' ${S}/Makefile.am
21}
22
23FILES_${PN} += "${datadir}/icons"
24FILES_${PN}-dbg += "${libdir}/glade3/modules/.debug"
25FILES_${PN}-dev += "${libdir}/glade3/modules/*.la"
diff --git a/meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch b/meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch
new file mode 100644
index 0000000000..5d83818c03
--- /dev/null
+++ b/meta-oe/recipes-devtools/icon-slicer/files/0001-Makefile.am-no-examples.patch
@@ -0,0 +1,27 @@
1From e6d53086524a94d27920614e38966020e0b2b3ef Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Mon, 5 Nov 2012 11:25:02 +0100
4Subject: [PATCH] Makefile.am: no examples
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream-Status: Inappropriate [configuration]
10
11Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
12
13---
14 Makefile.am | 2 +-
15 1 files changed, 1 insertions(+), 1 deletions(-)
16
17diff --git a/Makefile.am b/Makefile.am
18index 28ee7eb..af437a6 100644
19--- a/Makefile.am
20+++ b/Makefile.am
21@@ -1 +1 @@
22-SUBDIRS = src examples
23\ No newline at end of file
24+SUBDIRS = src
25--
261.7.6.5
27
diff --git a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
new file mode 100644
index 0000000000..d6cfd35629
--- /dev/null
+++ b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
@@ -0,0 +1,13 @@
1LICENSE = "GPLv2"
2LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
3
4DEPENDS = "gdk-pixbuf popt"
5
6SRC_URI = "http://freedesktop.org/software/${BPN}/releases/${BPN}-${PV}.tar.gz \
7 file://0001-Makefile.am-no-examples.patch"
8SRC_URI[md5sum] = "5c5374d4f265b0abe4daef1d03f87104"
9SRC_URI[sha256sum] = "05f0216dd0c25a17859de66357f64da5033375b6fbf5f31ca54867311160b64d"
10
11inherit autotools
12
13BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/lemon/files/lemon.1 b/meta-oe/recipes-devtools/lemon/files/lemon.1
new file mode 100644
index 0000000000..914ee07013
--- /dev/null
+++ b/meta-oe/recipes-devtools/lemon/files/lemon.1
@@ -0,0 +1,63 @@
1.Dd 2002-10-04
2.Dt LEMON 1
3.Os "Debian GNU/Linux"
4.\" Manual page created by Guus Sliepen <guus@debian.org>
5.Sh NAME
6.Nm lemon
7.Nd The Lemon Parser Generator
8.Sh SYNOPSIS
9.Nm
10.Op Fl bcgmqsx
11.Ar input
12.Sh DESCRIPTION
13.Nm
14is an LALR(1) parser generator for C or C++.
15It does the same job as bison and yacc.
16But
17.Nm
18is not another bison or yacc clone.
19It uses a different grammar syntax which is designed to reduce the number of coding errors.
20.Nm
21also uses a more sophisticated parsing engine that is faster than yacc and bison
22and which is both reentrant and thread-safe.
23Furthermore,
24.Nm
25implements features that can be used to eliminate resource leaks,
26making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers.
27.Pp
28.Nm
29will read the grammer from
30.Ar input
31and write out a parser for that grammar in the C language.
32.Sh OPTIONS
33.Bl -tag -width indent
34.It Fl b
35Print only the basis in report.
36.It Fl c
37Don't compress the action table.
38.It Fl g
39Print grammar without actions.
40.It Fl m
41Output a makeheaders compatible file.
42.It Fl q
43(Quiet) Don't print the report file.
44.It Fl s
45Print parser stats to standard output.
46.It Fl x
47Print the version number.
48.El
49.Sh FILES
50.Bl -tag -width indent
51.It Pa /usr/share/lemon/lempar.c
52Driver template for the
53.Nm
54parser generator.
55.El
56.Sh AUTHOR
57.Nm
58has been written by
59.An D. Richard Hipp Aq drh@hwaci.com .
60.Pp
61This manual page was written by
62.An Guus Sliepen Aq guus@debian.org
63for the Debian GNU/Linux system.
diff --git a/meta-oe/recipes-devtools/lemon/lemon.inc b/meta-oe/recipes-devtools/lemon/lemon.inc
new file mode 100644
index 0000000000..57b9fb710e
--- /dev/null
+++ b/meta-oe/recipes-devtools/lemon/lemon.inc
@@ -0,0 +1,25 @@
1DESCRIPTION = "The Lemon Parser Generator"
2HOMEPAGE = "http://www.hwaci.com/sw/lemon/"
3LICENSE = "PD"
4SECTION = "devel"
5
6SRC_URI = "http://www.sqlite.org/sqlite-${PV}.tar.gz \
7 file://lemon.1"
8
9S = "${WORKDIR}/sqlite-${PV}/tool"
10
11do_compile() {
12 ${CC} ${CFLAGS} lemon.c -c -o lemon.o
13 ${CCLD} ${LDFLAGS} lemon.o -o lemon
14}
15
16do_install() {
17 install -d ${D}${bindir}
18 install -m 0755 lemon ${D}${bindir}
19 install -m 0644 lempar.c ${D}${bindir}
20 install -d ${D}${mandir}/man1
21 install -m 0644 ${WORKDIR}/lemon.1 ${D}${mandir}/man1/
22}
23
24BBCLASSEXTEND = "native"
25
diff --git a/meta-oe/recipes-devtools/lemon/lemon_3.5.4.bb b/meta-oe/recipes-devtools/lemon/lemon_3.5.4.bb
new file mode 100644
index 0000000000..7df47d41f5
--- /dev/null
+++ b/meta-oe/recipes-devtools/lemon/lemon_3.5.4.bb
@@ -0,0 +1,7 @@
1require lemon.inc
2
3LIC_FILES_CHKSUM = "file://lemon.c;endline=8;md5=c7551a78fa3fdecd96d1ad6761d205ee"
4
5SRC_URI[md5sum] = "f17da840eed792e896c3408d0ce97718"
6SRC_URI[sha256sum] = "47daba209bd3bcffa1c5fcd5fdfc4f524eae619b4fa855aeeb1bbbc8bd2bb04f"
7
diff --git a/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch b/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch
new file mode 100644
index 0000000000..f729ee2074
--- /dev/null
+++ b/meta-oe/recipes-devtools/libc-client/files/quote_cctype.patch
@@ -0,0 +1,12 @@
1diff -urN imap-2007.orig/Makefile imap-2007/Makefile
2--- imap-2007.orig/Makefile 2007-12-20 23:11:10.000000000 +0100
3+++ imap-2007/Makefile 2008-03-19 14:08:47.000000000 +0100
4@@ -690,7 +690,7 @@
5 @$(SH) -c '(test $(BUILDTYPE) = rebuild -o $(BUILDTYPE) = `$(CAT) OSTYPE`) || (echo Already built for `$(CAT) OSTYPE` -- you must do \"make clean\" first && exit 1)'
6 @echo Rebuilding c-client for `$(CAT) OSTYPE`...
7 @$(TOUCH) SPECIALS
8- $(CD) c-client;$(MAKE) all CC=`$(CAT) CCTYPE` \
9+ $(CD) c-client;$(MAKE) all CC="`$(CAT) CCTYPE`" \
10 CFLAGS="`$(CAT) CFLAGS`" `$(CAT) SPECIALS`
11
12 rebuildclean:
diff --git a/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb b/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb
new file mode 100644
index 0000000000..150ff9028d
--- /dev/null
+++ b/meta-oe/recipes-devtools/libc-client/libc-client_2007e.bb
@@ -0,0 +1,35 @@
1SUMMARY = "UW c-client library for mail protocols"
2SECTION = "devel"
3
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97"
6
7DEPENDS = "openssl libpam"
8
9PR = "r1"
10
11SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \
12 file://quote_cctype.patch"
13
14SRC_URI[md5sum] = "7903800dc2604000016de070e0c55840"
15SRC_URI[sha256sum] = "4b1137b87249782496ec3eeacaf83bbf09312a7d2ae3aead262179041b55565f"
16
17S = "${WORKDIR}/imap-${PV}"
18
19EXTRA_OEMAKE = "CC='${CC}'"
20
21HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h"
22
23do_compile() {
24 echo "SSLINCLUDE=${STAGING_INCDIR} SSLLIB=${STAGING_LIBDIR}" > ${S}/SPECIALS
25 oe_runmake lnp
26}
27
28do_install() {
29 install -d ${D}${includedir}/c-client
30 install ${HEADERS} ${D}${includedir}/c-client
31 install -d ${D}${libdir}
32 install c-client/c-client.a ${D}${libdir}/libc-client.a
33}
34
35ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-oe/recipes-devtools/libedit/libedit_20130712-3.1.bb b/meta-oe/recipes-devtools/libedit/libedit_20130712-3.1.bb
new file mode 100644
index 0000000000..1f76bb2c74
--- /dev/null
+++ b/meta-oe/recipes-devtools/libedit/libedit_20130712-3.1.bb
@@ -0,0 +1,20 @@
1SUMMARY = "BSD replacement for libreadline"
2DESCRIPTION = "Command line editor library providing generic line editing, \
3history, and tokenization functions"
4HOMEPAGE = "http://www.thrysoee.dk/editline/"
5SECTION = "libs"
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://COPYING;md5=1e4228d0c5a9093b01aeaaeae6641533"
8
9DEPENDS = "ncurses"
10
11inherit autotools
12
13# upstream site does not allow wget's User-Agent
14FETCHCMD_wget += "-U bitbake"
15SRC_URI = "http://www.thrysoee.dk/editline/${BPN}-${PV}.tar.gz"
16
17S = "${WORKDIR}/${BPN}-${PV}"
18
19SRC_URI[md5sum] = "0891336c697362727a1fa7e60c5cb96c"
20SRC_URI[sha256sum] = "5d9b1a9dd66f1fe28bbd98e4d8ed1a22d8da0d08d902407dcc4a0702c8d88a37"
diff --git a/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb
new file mode 100644
index 0000000000..cb4bc24a87
--- /dev/null
+++ b/meta-oe/recipes-devtools/libfribidi/fribidi_0.19.2.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Fribidi library for bidirectional text"
2SECTION = "libs"
3PR = "r1"
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
6BBCLASSEXTEND = "native"
7
8PROVIDES = "libfribidi"
9
10inherit autotools lib_package pkgconfig
11
12CFLAGS_append = " -DPAGE_SIZE=4096 "
13
14SRC_URI = "http://fribidi.org/download/fribidi-${PV}.tar.gz"
15
16SRC_URI[md5sum] = "626db17d2d99b43615ad9d12500f568a"
17SRC_URI[sha256sum] = "49cf91586e48b52fe25872ff66c1da0dff0daac2593f9f300e2af12f44f64177"
diff --git a/meta-oe/recipes-devtools/libgee/libgee.inc b/meta-oe/recipes-devtools/libgee/libgee.inc
new file mode 100644
index 0000000000..c681285440
--- /dev/null
+++ b/meta-oe/recipes-devtools/libgee/libgee.inc
@@ -0,0 +1,18 @@
1DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
2and classes for commonly used data structures."
3HOMEPAGE = "http://live.gnome.org/Libgee"
4SECTION = "libs"
5DEPENDS = "glib-2.0"
6BBCLASSEXTEND = "native"
7LICENSE = "LGPLv2.1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
9INC_PR = "r6"
10PE = "1"
11
12inherit autotools vala
13do_configure_prepend() {
14 MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
15 for i in ${MACROS}; do
16 rm -f m4/$i
17 done
18}
diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.6.4.bb b/meta-oe/recipes-devtools/libgee/libgee_0.6.4.bb
new file mode 100644
index 0000000000..fbd14662fd
--- /dev/null
+++ b/meta-oe/recipes-devtools/libgee/libgee_0.6.4.bb
@@ -0,0 +1,10 @@
1require libgee.inc
2PE = "1"
3PR = "${INC_PR}.2"
4DEPENDS += "gobject-introspection-stub"
5DEPENDS_virtclass-native += "gobject-introspection-stub-native"
6
7SHRT_VER = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
8SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/${SHRT_VER}/${BP}.tar.xz"
9SRC_URI[md5sum] = "a32bf498cf33d5e3417823a7b252ad22"
10SRC_URI[sha256sum] = "55f39f3b28e676f6cbd9377d83edd031084436a4da41280a9503c94faffb1665"
diff --git a/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb
new file mode 100644
index 0000000000..9e08a64542
--- /dev/null
+++ b/meta-oe/recipes-devtools/log4cplus/log4cplus_1.1.1.bb
@@ -0,0 +1,16 @@
1SUMMARY = "log4cplus provides a simple C++ logging API for log management"
2SECTION = "libs"
3HOMEPAGE = "http://sourceforge.net/projects/log4cplus/"
4BUGTRACKER = "http://sourceforge.net/p/log4cplus/bugs/"
5
6LICENSE = "Apache-2.0"
7LIC_FILES_CHKSUM = "file://INSTALL;md5=0278479fa183a2ff8ab216669424b764"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/project/log4cplus/log4cplus-stable/${PV}/log4cplus-${PV}.tar.gz"
10
11SRC_URI[md5sum] = "104bd6dd07ee71bc52ee9adca4d4d5fc"
12SRC_URI[sha256sum] = "96905e763fc6f1e3a854c3d1964c21e877de909bdddd0aed99806c62a68be838"
13
14inherit autotools pkgconfig
15
16BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch
new file mode 100644
index 0000000000..0b4ee64551
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch
@@ -0,0 +1,40 @@
1From e0fc5bea466c16b9d754a8ac8d0453e396678a2c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 19 Feb 2014 20:28:07 -0800
4Subject: [PATCH] KERNEL_INC in modern kernel should point at toplevel
5 kerneldir
6
7Reason is kernel headers are not only in toplevel
8include/ but also in toplevel arch/ dir
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 Makefile | 6 +++---
13 1 file changed, 3 insertions(+), 3 deletions(-)
14
15diff --git a/Makefile b/Makefile
16index 031d8bc..73e9b3c 100644
17--- a/Makefile
18+++ b/Makefile
19@@ -245,15 +245,15 @@ endif
20
21 modules_edma:
22 @echo "Going to compile edma test kernel modules for $(PLATFORM)"
23- cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM)
24+ cd testcases/ddt/edma_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM)
25
26 modules_gpio:
27 @echo "Going to compile gpio test kernel modules for $(PLATFORM)"
28- cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM)
29+ cd testcases/ddt/gpio_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM)
30
31 modules_ipc:
32 @echo "Going to compile IPC test kernel modules for $(PLATFORM)"
33- cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC)/.. PLATFORM=$(PLATFORM)
34+ cd testcases/ddt/ipc_test_suite/src/kernel; make CROSS_COMPILE=$(CROSS_COMPILE) KERNEL_DIR=$(KERNEL_INC) PLATFORM=$(PLATFORM)
35
36 modules: $(MODULES_TO_BUILD)
37
38--
391.9.0
40
diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-wdt_test_suite-Make-sure-to-include-generated-header.patch b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-wdt_test_suite-Make-sure-to-include-generated-header.patch
new file mode 100644
index 0000000000..56b0333ca4
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt/0001-wdt_test_suite-Make-sure-to-include-generated-header.patch
@@ -0,0 +1,34 @@
1From 4a8f24892514cd5e4d11b9105c843db49eea921b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 19 Feb 2014 19:41:33 -0800
4Subject: [PATCH] wdt_test_suite: Make sure to include generated headers
5
6This makes sure that its using the generated headers
7and not the raw headers from kernel, generated headers
8are built for the given machine already when kernel is
9built and are available in configured/compiled kernel tree
10already
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 testcases/ddt/wdt_test_suite/Makefile | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/testcases/ddt/wdt_test_suite/Makefile b/testcases/ddt/wdt_test_suite/Makefile
18index 90a6a90..22a1cfd 100644
19--- a/testcases/ddt/wdt_test_suite/Makefile
20+++ b/testcases/ddt/wdt_test_suite/Makefile
21@@ -20,8 +20,8 @@ INCLUDES = -I $(KERNEL_INC) -I src/interface/common -I ../utils/user
22 INCLUDES = -I src/parser \
23 -I src/interface/common \
24 -I ../utils/user \
25- -I $(KERNEL_INC)/include \
26- -I $(KERNEL_INC)/arch/arm/include
27+ -I $(KERNEL_INC)/include/generated \
28+ -I $(KERNEL_INC)/arch/arm/include/generated \
29
30 #List of source files- Update this on adding a new C file
31 SOURCES := \
32--
331.9.0
34
diff --git a/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb
new file mode 100644
index 0000000000..a70d5b9753
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb
@@ -0,0 +1,77 @@
1SUMMARY = "Embedded Linux Device Driver Tests based on Linux Test Project"
2HOMEPAGE = "http://arago-project.org/git/projects/test-automation/ltp-ddt.git"
3SECTION = "console/utils"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
6PR = "r1"
7
8PROVIDES += "ltp"
9DEPENDS += "zip-native virtual/kernel alsa-lib"
10
11inherit autotools module-base kernel-module-split
12
13PACKAGE_ARCH = "${MACHINE_ARCH}"
14
15SRCREV = "4f77e2e33357d2b23211ecd22f27f521aa01469a"
16BRANCH ?= "master"
17
18SRC_URI = "git://arago-project.org/git/projects/test-automation/ltp-ddt.git;branch=${BRANCH} \
19 file://0001-wdt_test_suite-Make-sure-to-include-generated-header.patch \
20 file://0001-KERNEL_INC-in-modern-kernel-should-point-at-toplevel.patch \
21 "
22
23S = "${WORKDIR}/git"
24
25LTPROOT = "/opt/ltp"
26
27EXTRA_OEMAKE_append = " \
28 prefix=${LTPROOT} \
29 CROSS_COMPILE=${HOST_PREFIX} \
30 SKIP_IDCHECK=1 \
31 KERNEL_INC=${STAGING_KERNEL_DIR} \
32 KERNEL_USR_INC=${STAGING_INCDIR} \
33 ALSA_INCPATH=${STAGING_INCDIR} \
34 ALSA_LIBPATH=${STAGING_LIBDIR} \
35 PLATFORM=${MACHINE} \
36 RANLIB=${RANLIB} \
37"
38
39TARGET_CC_ARCH += "${LDFLAGS}"
40
41FILES_${PN}-dbg += " \
42 ${LTPROOT}/.debug \
43 ${LTPROOT}/bin/.debug \
44 ${LTPROOT}/runtest/.debug \
45 ${LTPROOT}/testcases/bin/.debug \
46 ${LTPROOT}/testcases/bin/*/bin/.debug \
47 ${LTPROOT}/testcases/bin/*/test/.debug \
48 ${LTPROOT}/testcases/bin/ddt/.debug \
49 ${LTPROOT}/testcases/bin/ddt/*/bin/.debug \
50 ${LTPROOT}/testcases/bin/ddt/*/test/.debug \
51 ${LTPROOT}/testcases/realtime/*/*/.debug \
52"
53
54FILES_${PN}-staticdev += "${LTPROOT}/lib"
55FILES_${PN} += "${LTPROOT}/*"
56
57do_configure() {
58 cp ${S}/include/config.h.default ${S}/include/config.h
59 cp ${S}/include/mk/config.mk.default ${S}/include/mk/config.mk
60 cp ${S}/include/mk/features.mk.default ${S}/include/mk/features.mk
61 echo "${TAG}" > ${S}/ChangeLog
62}
63
64kmoddir = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/ddt"
65
66do_compile_append () {
67 oe_runmake DESTDIR=${D} modules
68}
69
70do_install() {
71 oe_runmake DESTDIR=${D} install
72 install -d ${D}${datadir}
73 install -d ${D}${kmoddir}
74 cp -a ${D}${LTPROOT}/share/* ${D}${datadir}
75 rm -rf ${D}${LTPROOT}/share/
76 mv ${D}${LTPROOT}/testcases/bin/ddt/*.ko ${D}${kmoddir}
77}
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch b/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch
new file mode 100644
index 0000000000..8f3c0ecea1
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace-git/ltrace-0.7.2-unused-typedef.patch
@@ -0,0 +1,49 @@
1diff --git a/value.c b/value.c
2index d18db17..b98298e 100644
3--- a/value.c
4+++ b/value.c
5@@ -1,6 +1,6 @@
6 /*
7 * This file is part of ltrace.
8- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
9+ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
10 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13@@ -282,9 +282,9 @@ value_init_deref(struct value *ret_val, struct value *valp)
14 if (value_extract_word(valp, &l, NULL) < 0)
15 return -1;
16
17- /* We need "long" to be long enough to hold platform
18+ /* We need "long" to be long enough to hold target
19 * pointers. */
20- typedef char assert__long_enough_long[-(sizeof(l) < sizeof(void *))];
21+ assert(sizeof(l) >= sizeof(arch_addr_t));
22
23 value_common_init(ret_val, valp->inferior, valp,
24 valp->type->u.ptr_info.info, 0);
25diff --git a/lens_default.c b/lens_default.c
26index ed3d0e1..5d00814 100644
27--- a/lens_default.c
28+++ b/lens_default.c
29@@ -1,6 +1,6 @@
30 /*
31 * This file is part of ltrace.
32- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
33+ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
34 * Copyright (C) 1998,2004,2007,2008,2009 Juan Cespedes
35 * Copyright (C) 2006 Ian Wienand
36 * Copyright (C) 2006 Steve Fink
37@@ -342,9 +342,9 @@ format_array(FILE *stream, struct value *value, struct value_dict *arguments,
38 struct expr_node *length, size_t maxlen, int before,
39 const char *open, const char *close, const char *delim)
40 {
41- /* We need "long" to be long enough to cover the whole address
42- * space. */
43- typedef char assert__long_enough_long[-(sizeof(long) < sizeof(void *))];
44+ /* We need "long" to be long enough to cover the whole target
45+ * address space. */
46+ assert(sizeof(long) >= sizeof(arch_addr_t));
47 long l;
48 if (expr_eval_word(length, value, arguments, &l) < 0)
49 return -1;
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
new file mode 100644
index 0000000000..149af52dc0
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -0,0 +1,25 @@
1SUMMARY = "ltrace intercepts and records dynamic library calls"
2
3DESCRIPTION = "ltrace intercepts and records dynamic library calls \
4which are called by an executed process and the signals received by that process. \
5It can also intercept and print the system calls executed by the program.\
6"
7HOMEPAGE = "http://ltrace.org/"
8
9LICENSE = "GPLv2"
10LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
11
12SRCREV = "f44b28421979cec88d6d6a778fc27a8cd514f508"
13
14DEPENDS = "elfutils"
15RDEPENDS_${PN} = "elfutils"
16SRC_URI = "git://anonscm.debian.org/collab-maint/ltrace.git \
17 file://ltrace-0.7.2-unused-typedef.patch \
18 "
19S = "${WORKDIR}/git"
20
21inherit autotools
22
23do_configure_prepend () {
24 ./autogen.sh
25}
diff --git a/meta-oe/recipes-devtools/lua/lua/lua.pc b/meta-oe/recipes-devtools/lua/lua/lua.pc
new file mode 100644
index 0000000000..e6f8b6f096
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua/lua.pc
@@ -0,0 +1,11 @@
1prefix=/usr
2libdir=${prefix}/lib
3includedir=${prefix}/include
4
5Name: Lua
6Description: Lua language engine
7Version: 5.2.2
8Requires:
9Libs: -L${libdir} -llua
10Libs.private: -lm
11Cflags: -I${includedir}
diff --git a/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch b/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch
new file mode 100644
index 0000000000..f4cdc5d8c5
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch
@@ -0,0 +1,13 @@
1Index: lua-5.1.4/src/Makefile
2===================================================================
3--- a/src/Makefile.orig 2013-10-22 22:17:19.929103523 -0400
4+++ a/src/Makefile 2013-10-22 22:18:27.992104545 -0400
5@@ -9,7 +9,7 @@
6 CC= gcc
7 CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
8 LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
9-LIBS= -lm $(SYSLIBS) $(MYLIBS)
10+LIBS= -lm -lpthread $(SYSLIBS) $(MYLIBS)
11
12 AR= ar rcu
13 RANLIB= ranlib
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch b/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch
new file mode 100644
index 0000000000..4f0331ebb6
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua5.1/bitwise_operators.patch
@@ -0,0 +1,605 @@
1diff -Nurd lua-5.1.5/src/lcode.c lua-5.1.5/src/lcode.c
2--- lua-5.1.5/src/lcode.c 2011-01-31 16:53:16.000000000 +0200
3+++ lua-5.1.5/src/lcode.c 2012-11-28 21:12:23.958419501 +0200
4@@ -642,6 +642,17 @@
5 case OP_POW: r = luai_numpow(v1, v2); break;
6 case OP_UNM: r = luai_numunm(v1); break;
7 case OP_LEN: return 0; /* no constant folding for 'len' */
8+#if defined(LUA_BITWISE_OPERATORS)
9+ case OP_BOR: luai_logor(r, v1, v2); break;
10+ case OP_BAND: luai_logand(r, v1, v2); break;
11+ case OP_BXOR: luai_logxor(r, v1, v2); break;
12+ case OP_BLSHFT: luai_loglshft(r, v1, v2); break;
13+ case OP_BRSHFT: luai_logrshft(r, v1, v2); break;
14+ case OP_BNOT: luai_lognot(r, v1); break;
15+ case OP_INTDIV:
16+ if (v2 == 0) return 0; /* do not attempt to divide by 0 */
17+ r = luai_numintdiv(v1, v2); break;
18+#endif
19 default: lua_assert(0); r = 0; break;
20 }
21 if (luai_numisnan(r)) return 0; /* do not attempt to produce NaN */
22@@ -654,7 +665,11 @@
23 if (constfolding(op, e1, e2))
24 return;
25 else {
26+#if defined(LUA_BITWISE_OPERATORS)
27+ int o2 = (op != OP_UNM && op != OP_LEN && op != OP_BNOT) ? luaK_exp2RK(fs, e2) : 0;
28+#else
29 int o2 = (op != OP_UNM && op != OP_LEN) ? luaK_exp2RK(fs, e2) : 0;
30+#endif
31 int o1 = luaK_exp2RK(fs, e1);
32 if (o1 > o2) {
33 freeexp(fs, e1);
34@@ -690,6 +705,14 @@
35 expdesc e2;
36 e2.t = e2.f = NO_JUMP; e2.k = VKNUM; e2.u.nval = 0;
37 switch (op) {
38+#if defined(LUA_BITWISE_OPERATORS)
39+ case OPR_BNOT: {
40+ if (e->k == VK)
41+ luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */
42+ codearith(fs, OP_BNOT, e, &e2);
43+ break;
44+ }
45+#endif
46 case OPR_MINUS: {
47 if (!isnumeral(e))
48 luaK_exp2anyreg(fs, e); /* cannot operate on non-numeric constants */
49@@ -770,6 +793,14 @@
50 case OPR_DIV: codearith(fs, OP_DIV, e1, e2); break;
51 case OPR_MOD: codearith(fs, OP_MOD, e1, e2); break;
52 case OPR_POW: codearith(fs, OP_POW, e1, e2); break;
53+#if defined(LUA_BITWISE_OPERATORS)
54+ case OPR_BOR: codearith(fs, OP_BOR, e1, e2); break;
55+ case OPR_BAND: codearith(fs, OP_BAND, e1, e2); break;
56+ case OPR_BXOR: codearith(fs, OP_BXOR, e1, e2); break;
57+ case OPR_BLSHFT: codearith(fs, OP_BLSHFT, e1, e2); break;
58+ case OPR_BRSHFT: codearith(fs, OP_BRSHFT, e1, e2); break;
59+ case OPR_INTDIV: codearith(fs, OP_INTDIV, e1, e2); break;
60+#endif
61 case OPR_EQ: codecomp(fs, OP_EQ, 1, e1, e2); break;
62 case OPR_NE: codecomp(fs, OP_EQ, 0, e1, e2); break;
63 case OPR_LT: codecomp(fs, OP_LT, 1, e1, e2); break;
64diff -Nurd lua-5.1.5/src/lcode.h lua-5.1.5/src/lcode.h
65--- lua-5.1.5/src/lcode.h 2007-12-27 15:02:25.000000000 +0200
66+++ lua-5.1.5/src/lcode.h 2012-11-28 21:12:23.958419501 +0200
67@@ -25,6 +25,9 @@
68 */
69 typedef enum BinOpr {
70 OPR_ADD, OPR_SUB, OPR_MUL, OPR_DIV, OPR_MOD, OPR_POW,
71+#if defined(LUA_BITWISE_OPERATORS)
72+ OPR_BOR, OPR_BAND, OPR_BXOR, OPR_BLSHFT, OPR_BRSHFT, OPR_INTDIV,
73+#endif
74 OPR_CONCAT,
75 OPR_NE, OPR_EQ,
76 OPR_LT, OPR_LE, OPR_GT, OPR_GE,
77@@ -33,8 +36,11 @@
78 } BinOpr;
79
80
81+#if defined(LUA_BITWISE_OPERATORS)
82+typedef enum UnOpr { OPR_BNOT, OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr;
83+#else
84 typedef enum UnOpr { OPR_MINUS, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr;
85-
86+#endif
87
88 #define getcode(fs,e) ((fs)->f->code[(e)->u.s.info])
89
90diff -Nurd lua-5.1.5/src/ldebug.c lua-5.1.5/src/ldebug.c
91--- lua-5.1.5/src/ldebug.c 2008-05-08 19:56:26.000000000 +0300
92+++ lua-5.1.5/src/ldebug.c 2012-11-28 21:12:23.958419501 +0200
93@@ -592,6 +592,16 @@
94 luaG_typeerror(L, p2, "perform arithmetic on");
95 }
96
97+#if defined (LUA_BITWISE_OPERATORS)
98+void luaG_logicerror (lua_State *L, const TValue *p1, const TValue *p2) {
99+ TValue temp;
100+ if (luaV_tonumber(p1, &temp) == NULL)
101+ p2 = p1; /* first operand is wrong */
102+ luaG_typeerror(L, p2, "perform bitwise operation on");
103+}
104+#endif
105+
106+
107
108 int luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) {
109 const char *t1 = luaT_typenames[ttype(p1)];
110diff -Nurd lua-5.1.5/src/ldebug.h lua-5.1.5/src/ldebug.h
111--- lua-5.1.5/src/ldebug.h 2007-12-27 15:02:25.000000000 +0200
112+++ lua-5.1.5/src/ldebug.h 2012-11-28 21:12:23.958419501 +0200
113@@ -30,4 +30,9 @@
114 LUAI_FUNC int luaG_checkcode (const Proto *pt);
115 LUAI_FUNC int luaG_checkopenop (Instruction i);
116
117+#if defined (LUA_BITWISE_OPERATORS)
118+LUAI_FUNC void luaG_logicerror (lua_State *L, const TValue *p1,
119+ const TValue *p2);
120+#endif
121+
122 #endif
123diff -Nurd lua-5.1.5/src/llex.c lua-5.1.5/src/llex.c
124--- lua-5.1.5/src/llex.c 2009-11-23 16:58:22.000000000 +0200
125+++ lua-5.1.5/src/llex.c 2012-11-28 21:12:23.958419501 +0200
126@@ -39,7 +39,11 @@
127 "end", "false", "for", "function", "if",
128 "in", "local", "nil", "not", "or", "repeat",
129 "return", "then", "true", "until", "while",
130+#if defined(LUA_BITWISE_OPERATORS)
131+ "..", "...", "==", ">=", ">>", "<=", "<<", "^^", "~=", "!="
132+#else
133 "..", "...", "==", ">=", "<=", "~=",
134+#endif
135 "<number>", "<name>", "<string>", "<eof>",
136 NULL
137 };
138@@ -373,6 +377,30 @@
139 if (ls->current != '=') return '=';
140 else { next(ls); return TK_EQ; }
141 }
142+#if defined(LUA_BITWISE_OPERATORS)
143+ case '<': {
144+ next(ls);
145+ if (ls->current == '=') { next(ls); return TK_LE; }
146+ else if (ls->current == '<') { next(ls); return TK_LSHFT; }
147+ else return '<';
148+ }
149+ case '>': {
150+ next(ls);
151+ if (ls->current == '=') { next(ls); return TK_GE; }
152+ else if (ls->current == '>') { next(ls); return TK_RSHFT; }
153+ else return '>';
154+ }
155+ case '^': {
156+ next(ls);
157+ if (ls->current != '^') return '^';
158+ else { next(ls); return TK_XOR; }
159+ }
160+ case '!': {
161+ next(ls);
162+ if (ls->current != '=') return '!';
163+ else { next(ls); return TK_NE; }
164+ }
165+#else
166 case '<': {
167 next(ls);
168 if (ls->current != '=') return '<';
169@@ -381,8 +409,9 @@
170 case '>': {
171 next(ls);
172 if (ls->current != '=') return '>';
173- else { next(ls); return TK_GE; }
174+ else { next(ls); return TK_GE; }
175 }
176+#endif
177 case '~': {
178 next(ls);
179 if (ls->current != '=') return '~';
180diff -Nurd lua-5.1.5/src/llex.h lua-5.1.5/src/llex.h
181--- lua-5.1.5/src/llex.h 2007-12-27 15:02:25.000000000 +0200
182+++ lua-5.1.5/src/llex.h 2012-11-28 21:12:23.962419499 +0200
183@@ -28,7 +28,11 @@
184 TK_IF, TK_IN, TK_LOCAL, TK_NIL, TK_NOT, TK_OR, TK_REPEAT,
185 TK_RETURN, TK_THEN, TK_TRUE, TK_UNTIL, TK_WHILE,
186 /* other terminal symbols */
187+#if defined(LUA_BITWISE_OPERATORS)
188+ TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LSHFT, TK_LE, TK_RSHFT, TK_XOR, TK_NE, TK_CNE, TK_NUMBER,
189+#else
190 TK_CONCAT, TK_DOTS, TK_EQ, TK_GE, TK_LE, TK_NE, TK_NUMBER,
191+#endif
192 TK_NAME, TK_STRING, TK_EOS
193 };
194
195diff -Nurd lua-5.1.5/src/lopcodes.c lua-5.1.5/src/lopcodes.c
196--- lua-5.1.5/src/lopcodes.c 2007-12-27 15:02:25.000000000 +0200
197+++ lua-5.1.5/src/lopcodes.c 2012-11-28 21:12:23.962419499 +0200
198@@ -32,6 +32,15 @@
199 "DIV",
200 "MOD",
201 "POW",
202+#if defined(LUA_BITWISE_OPERATORS)
203+ "BOR",
204+ "BAND",
205+ "OP_BXOR"
206+ "BLSHFT",
207+ "BRSHFT",
208+ "BNOT",
209+ "INTDIV",
210+#endif
211 "UNM",
212 "NOT",
213 "LEN",
214@@ -78,6 +87,15 @@
215 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */
216 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */
217 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */
218+#if defined(LUA_BITWISE_OPERATORS)
219+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */
220+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */
221+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */
222+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BLSHFT */
223+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BRSHFT */
224+ ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */
225+ ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_INTDIV */
226+#endif
227 ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */
228 ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */
229 ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */
230diff -Nurd lua-5.1.5/src/lopcodes.h lua-5.1.5/src/lopcodes.h
231--- lua-5.1.5/src/lopcodes.h 2007-12-27 15:02:25.000000000 +0200
232+++ lua-5.1.5/src/lopcodes.h 2012-11-28 21:12:23.962419499 +0200
233@@ -174,10 +174,20 @@
234 OP_DIV,/* A B C R(A) := RK(B) / RK(C) */
235 OP_MOD,/* A B C R(A) := RK(B) % RK(C) */
236 OP_POW,/* A B C R(A) := RK(B) ^ RK(C) */
237+#if defined(LUA_BITWISE_OPERATORS)
238+OP_BOR,/* A B C R(A) := RK(B) | RK(C) */
239+OP_BAND,/* A B C R(A) := RK(B) & RK(C) */
240+OP_BXOR,/* A B C R(A) := RK(B) ^| RK(C) */
241+OP_BLSHFT,/* A B C R(A) := RK(B) << RK(C) */
242+OP_BRSHFT,/* A B C R(A) := RK(B) >> RK(C) */
243+OP_BNOT,/* A B R(A) := ~ R(B) */
244+OP_INTDIV,/* A B C R(A) := RK(B) \ RK(C) */
245+#endif
246 OP_UNM,/* A B R(A) := -R(B) */
247 OP_NOT,/* A B R(A) := not R(B) */
248 OP_LEN,/* A B R(A) := length of R(B) */
249
250+
251 OP_CONCAT,/* A B C R(A) := R(B).. ... ..R(C) */
252
253 OP_JMP,/* sBx pc+=sBx */
254@@ -186,8 +196,8 @@
255 OP_LT,/* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */
256 OP_LE,/* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */
257
258-OP_TEST,/* A C if not (R(A) <=> C) then pc++ */
259-OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */
260+OP_TEST,/* A C if not (R(A) <=> C) then pc++ */
261+OP_TESTSET,/* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */
262
263 OP_CALL,/* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */
264 OP_TAILCALL,/* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */
265@@ -197,8 +207,8 @@
266 if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }*/
267 OP_FORPREP,/* A sBx R(A)-=R(A+2); pc+=sBx */
268
269-OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2));
270- if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */
271+OP_TFORLOOP,/* A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2));
272+ if R(A+3) ~= nil then R(A+2)=R(A+3) else pc++ */
273 OP_SETLIST,/* A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B */
274
275 OP_CLOSE,/* A close all variables in the stack up to (>=) R(A)*/
276diff -Nurd lua-5.1.5/src/lparser.c lua-5.1.5/src/lparser.c
277--- lua-5.1.5/src/lparser.c 2011-10-21 22:31:42.000000000 +0300
278+++ lua-5.1.5/src/lparser.c 2012-11-28 21:12:23.962419499 +0200
279@@ -780,6 +780,9 @@
280 case TK_NOT: return OPR_NOT;
281 case '-': return OPR_MINUS;
282 case '#': return OPR_LEN;
283+#if defined(LUA_BITWISE_OPERATORS)
284+ case '~': return OPR_BNOT;
285+#endif
286 default: return OPR_NOUNOPR;
287 }
288 }
289@@ -793,6 +796,14 @@
290 case '/': return OPR_DIV;
291 case '%': return OPR_MOD;
292 case '^': return OPR_POW;
293+#if defined(LUA_BITWISE_OPERATORS)
294+ case '|': return OPR_BOR;
295+ case '&': return OPR_BAND;
296+ case TK_XOR: return OPR_BXOR;
297+ case TK_LSHFT: return OPR_BLSHFT;
298+ case TK_RSHFT: return OPR_BRSHFT;
299+ case '\\': return OPR_INTDIV;
300+#endif
301 case TK_CONCAT: return OPR_CONCAT;
302 case TK_NE: return OPR_NE;
303 case TK_EQ: return OPR_EQ;
304@@ -812,6 +823,9 @@
305 lu_byte right; /* right priority */
306 } priority[] = { /* ORDER OPR */
307 {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `+' `-' `/' `%' */
308+#if defined(LUA_BITWISE_OPERATORS)
309+ {6, 6}, {6, 6}, {6, 6}, {7, 7}, {7, 7}, {7, 7}, /* `|' `&' `!' `<<' `>>' `\' */
310+#endif
311 {10, 9}, {5, 4}, /* power and concat (right associative) */
312 {3, 3}, {3, 3}, /* equality and inequality */
313 {3, 3}, {3, 3}, {3, 3}, {3, 3}, /* order */
314diff -Nurd lua-5.1.5/src/ltm.c lua-5.1.5/src/ltm.c
315--- lua-5.1.5/src/ltm.c 2007-12-27 15:02:25.000000000 +0200
316+++ lua-5.1.5/src/ltm.c 2012-11-28 21:12:23.962419499 +0200
317@@ -34,6 +34,9 @@
318 "__add", "__sub", "__mul", "__div", "__mod",
319 "__pow", "__unm", "__len", "__lt", "__le",
320 "__concat", "__call"
321+#if defined(LUA_BITWISE_OPERATORS)
322+ ,"__or", "__and", "__xor", "__shl", "__shr", "__not", "__intdiv"
323+#endif
324 };
325 int i;
326 for (i=0; i<TM_N; i++) {
327diff -Nurd lua-5.1.5/src/ltm.h lua-5.1.5/src/ltm.h
328--- lua-5.1.5/src/ltm.h 2007-12-27 15:02:25.000000000 +0200
329+++ lua-5.1.5/src/ltm.h 2012-11-28 21:12:23.962419499 +0200
330@@ -33,6 +33,15 @@
331 TM_LE,
332 TM_CONCAT,
333 TM_CALL,
334+#if defined(LUA_BITWISE_OPERATORS)
335+ TM_BOR,
336+ TM_BAND,
337+ TM_BXOR,
338+ TM_BLSHFT,
339+ TM_BRSHFT,
340+ TM_BNOT,
341+ TM_INTDIV,
342+#endif
343 TM_N /* number of elements in the enum */
344 } TMS;
345
346diff -Nurd lua-5.1.5/src/luaconf.h lua-5.1.5/src/luaconf.h
347--- lua-5.1.5/src/luaconf.h 2008-02-11 18:25:08.000000000 +0200
348+++ lua-5.1.5/src/luaconf.h 2012-11-28 21:12:23.962419499 +0200
349@@ -2,6 +2,7 @@
350 ** $Id: luaconf.h,v 1.82.1.7 2008/02/11 16:25:08 roberto Exp $
351 ** Configuration file for Lua
352 ** See Copyright Notice in lua.h
353+** Added logic operators : & | ^^ (xor) << >> ~, arithmetic operator \ (integer division) and != as an alternative to ~=
354 */
355
356
357@@ -209,6 +210,12 @@
358 */
359 #define LUA_IDSIZE 60
360
361+/*
362+@@ LUA_BITWISE_OPERATORS enable logical operators | & ^| >> << ~ on lua_Number
363+@* but also arithmetic operator \ (integer division) and != as an alernative to ~=
364+*/
365+#define LUA_BITWISE_OPERATORS
366+
367
368 /*
369 ** {==================================================================
370@@ -216,6 +223,7 @@
371 ** ===================================================================
372 */
373
374+
375 #if defined(lua_c) || defined(luaall_c)
376
377 /*
378@@ -526,25 +534,6 @@
379
380
381 /*
382-@@ The luai_num* macros define the primitive operations over numbers.
383-*/
384-#if defined(LUA_CORE)
385-#include <math.h>
386-#define luai_numadd(a,b) ((a)+(b))
387-#define luai_numsub(a,b) ((a)-(b))
388-#define luai_nummul(a,b) ((a)*(b))
389-#define luai_numdiv(a,b) ((a)/(b))
390-#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b))
391-#define luai_numpow(a,b) (pow(a,b))
392-#define luai_numunm(a) (-(a))
393-#define luai_numeq(a,b) ((a)==(b))
394-#define luai_numlt(a,b) ((a)<(b))
395-#define luai_numle(a,b) ((a)<=(b))
396-#define luai_numisnan(a) (!luai_numeq((a), (a)))
397-#endif
398-
399-
400-/*
401 @@ lua_number2int is a macro to convert lua_Number to int.
402 @@ lua_number2integer is a macro to convert lua_Number to lua_Integer.
403 ** CHANGE them if you know a faster way to convert a lua_Number to
404@@ -560,7 +549,7 @@
405 /* On a Microsoft compiler, use assembler */
406 #if defined(_MSC_VER)
407
408-#define lua_number2int(i,d) __asm fld d __asm fistp i
409+#define lua_number2int(i,d) { __asm fld d __asm fistp i }
410 #define lua_number2integer(i,n) lua_number2int(i, n)
411
412 /* the next trick should work on any Pentium, but sometimes clashes
413@@ -582,6 +571,38 @@
414
415 #endif
416
417+
418+/*
419+@@ The luai_num* macros define the primitive operations over numbers.
420+*/
421+#if defined(LUA_CORE)
422+#include <math.h>
423+#define luai_numadd(a,b) ((a)+(b))
424+#define luai_numsub(a,b) ((a)-(b))
425+#define luai_nummul(a,b) ((a)*(b))
426+#define luai_numdiv(a,b) ((a)/(b))
427+#ifdef LUA_BITWISE_OPERATORS
428+#define luai_numintdiv(a,b) (floor((a)/(b)))
429+#endif
430+#define luai_nummod(a,b) ((a) - floor((a)/(b))*(b))
431+#define luai_numpow(a,b) (pow(a,b))
432+#define luai_numunm(a) (-(a))
433+#define luai_numeq(a,b) ((a)==(b))
434+#define luai_numlt(a,b) ((a)<(b))
435+#define luai_numle(a,b) ((a)<=(b))
436+#define luai_numisnan(a) (!luai_numeq((a), (a)))
437+
438+#if defined(LUA_BITWISE_OPERATORS)
439+#define luai_logor(r, a, b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai|bi; }
440+#define luai_logand(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai&bi; }
441+#define luai_logxor(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai^bi; }
442+#define luai_lognot(r,a) { lua_Integer ai; lua_number2int(ai,a); r = ~ai; }
443+#define luai_loglshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai<<bi; }
444+#define luai_logrshft(r, a,b) { lua_Integer ai,bi; lua_number2int(ai,a); lua_number2int(bi,b); r = ai>>bi; }
445+#endif
446+
447+#endif
448+
449 /* }================================================================== */
450
451
452diff -Nurd lua-5.1.5/src/lua.h lua-5.1.5/src/lua.h
453--- lua-5.1.5/src/lua.h 2012-01-13 22:36:20.000000000 +0200
454+++ lua-5.1.5/src/lua.h 2012-11-28 21:13:01.266418680 +0200
455@@ -17,7 +17,7 @@
456
457
458 #define LUA_VERSION "Lua 5.1"
459-#define LUA_RELEASE "Lua 5.1.5"
460+#define LUA_RELEASE "Lua 5.1.5+bitwiseops"
461 #define LUA_VERSION_NUM 501
462 #define LUA_COPYRIGHT "Copyright (C) 1994-2012 Lua.org, PUC-Rio"
463 #define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo & W. Celes"
464diff -Nurd lua-5.1.5/src/lvm.c lua-5.1.5/src/lvm.c
465--- lua-5.1.5/src/lvm.c 2011-08-17 23:43:11.000000000 +0300
466+++ lua-5.1.5/src/lvm.c 2012-11-28 21:12:23.966419498 +0200
467@@ -329,6 +329,9 @@
468 case TM_MOD: setnvalue(ra, luai_nummod(nb, nc)); break;
469 case TM_POW: setnvalue(ra, luai_numpow(nb, nc)); break;
470 case TM_UNM: setnvalue(ra, luai_numunm(nb)); break;
471+#if defined(LUA_BITWISE_OPERATORS)
472+ case TM_INTDIV: setnvalue(ra, luai_numintdiv(nb, nc)); break;
473+#endif
474 default: lua_assert(0); break;
475 }
476 }
477@@ -336,7 +339,30 @@
478 luaG_aritherror(L, rb, rc);
479 }
480
481-
482+#if defined(LUA_BITWISE_OPERATORS)
483+static void Logic (lua_State *L, StkId ra, const TValue *rb,
484+ const TValue *rc, TMS op) {
485+ TValue tempb, tempc;
486+ const TValue *b, *c;
487+ if ((b = luaV_tonumber(rb, &tempb)) != NULL &&
488+ (c = luaV_tonumber(rc, &tempc)) != NULL) {
489+ lua_Number nb = nvalue(b), nc = nvalue(c);
490+ lua_Integer r;
491+ switch (op) {
492+ case TM_BLSHFT: luai_loglshft(r, nb, nc); break;
493+ case TM_BRSHFT: luai_logrshft(r, nb, nc); break;
494+ case TM_BOR: luai_logor(r, nb, nc); break;
495+ case TM_BAND: luai_logand(r, nb, nc); break;
496+ case TM_BXOR: luai_logxor(r, nb, nc); break;
497+ case TM_BNOT: luai_lognot(r, nb); break;
498+ default: lua_assert(0); r = 0; break;
499+ }
500+ setnvalue(ra, r);
501+ }
502+ else if (!call_binTM(L, rb, rc, ra, op))
503+ luaG_logicerror(L, rb, rc);
504+}
505+#endif
506
507 /*
508 ** some macros for common tasks in `luaV_execute'
509@@ -373,6 +399,22 @@
510 }
511
512
513+#if defined(LUA_BITWISE_OPERATORS)
514+#define logic_op(op,tm) { \
515+ TValue *rb = RKB(i); \
516+ TValue *rc = RKC(i); \
517+ if (ttisnumber(rb) && ttisnumber(rc)) { \
518+ lua_Integer r; \
519+ lua_Number nb = nvalue(rb), nc = nvalue(rc); \
520+ op(r, nb, nc); \
521+ setnvalue(ra, r); \
522+ } \
523+ else \
524+ Protect(Logic(L, ra, rb, rc, tm)); \
525+ }
526+#endif
527+
528+
529
530 void luaV_execute (lua_State *L, int nexeccalls) {
531 LClosure *cl;
532@@ -506,6 +548,45 @@
533 }
534 continue;
535 }
536+#if defined(LUA_BITWISE_OPERATORS)
537+ case OP_BOR: {
538+ logic_op(luai_logor, TM_BOR);
539+ continue;
540+ }
541+ case OP_BAND: {
542+ logic_op(luai_logand, TM_BAND);
543+ continue;
544+ }
545+ case OP_BXOR: {
546+ logic_op(luai_logxor, TM_BXOR);
547+ continue;
548+ }
549+ case OP_BLSHFT: {
550+ logic_op(luai_loglshft, TM_BLSHFT);
551+ continue;
552+ }
553+ case OP_BRSHFT: {
554+ logic_op(luai_logrshft, TM_BRSHFT);
555+ continue;
556+ }
557+ case OP_BNOT: {
558+ TValue *rb = RB(i);
559+ if (ttisnumber(rb)) {
560+ lua_Integer r;
561+ lua_Number nb = nvalue(rb);
562+ luai_lognot(r, nb);
563+ setnvalue(ra, r);
564+ }
565+ else {
566+ Protect(Logic(L, ra, rb, rb, TM_BNOT));
567+ }
568+ continue;
569+ }
570+ case OP_INTDIV: {
571+ arith_op(luai_numintdiv, TM_DIV);
572+ continue;
573+ }
574+#endif
575 case OP_NOT: {
576 int res = l_isfalse(RB(i)); /* next assignment may change this value */
577 setbvalue(ra, res);
578diff -Nurd lua-5.1.5/test/bitwisepatchtest.lua lua-5.1.5/test/bitwisepatchtest.lua
579--- lua-5.1.5/test/bitwisepatchtest.lua 1970-01-01 02:00:00.000000000 +0200
580+++ lua-5.1.5/test/bitwisepatchtest.lua 2012-11-28 21:12:23.966419498 +0200
581@@ -0,0 +1,24 @@
582+hex=function (i) return "0x"..string.format("%X", i) end
583+print(hex(0x54|0x55))
584+print(hex(0x54&0x66))
585+print(hex(0x54^|0x66))
586+print(hex(~0x54))
587+print(hex(0xF<< 4))
588+print(hex(0xF0>> 4))
589+a,b=0x54,0x55
590+print(hex(a),"|",hex(b), "=",hex(a|b))
591+print(hex(a),"|","0x55", "=",hex(a|0x55))
592+print(hex(a),"|","0x5|0x50 (", hex(0x5|0x50), ") =",hex(a|(0x5|0x50)))
593+a,b=0x54,0x66
594+print(hex(a),"&",hex(b), "=",hex(a&b))
595+print(hex(a),"&","0x66", "=",hex(a&0x66))
596+print(hex(a),"^|",hex(b), "=",hex(a^|b))
597+print(hex(a),"^|","0x66", "=",hex(a^|0x66))
598+print("~"..hex(a),"=",hex(~a))
599+a,b=0xF,0xF0
600+print(hex(a).."<<4","=",hex(a<<4))
601+print(hex(b)..">>4","=",hex(b>>4))
602+a,b=0xF,4
603+print(hex(a).."<<"..b,"=",hex(a<<b))
604+a,b=0xF0,4
605+print(hex(a)..">>"..b,"=",hex(a>>b))
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc b/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc
new file mode 100644
index 0000000000..64c03d2b6c
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua5.1/lua5.1.pc
@@ -0,0 +1,11 @@
1prefix=/usr
2libdir=${prefix}/lib
3includedir=${prefix}/include
4
5Name: Lua
6Description: Lua language engine
7Version: 5.1.5
8Requires:
9Libs: -L${libdir} -llua
10Libs.private: -lm
11Cflags: -I${includedir}
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch
new file mode 100644
index 0000000000..b64a6a26bf
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_1.patch
@@ -0,0 +1,18 @@
1lua.org patch 1 for lua-5.1.5.
2from http://www.lua.org/bugs.html
3
4Upstream-Status: Backport
5
6Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
7diff -Nurd lua-5.1.5/src/Makefile lua-5.1.5/src/Makefile
8--- lua-5.1.5/src/Makefile 2012-02-13 22:41:22.000000000 +0200
9+++ lua-5.1.5/src/Makefile 2013-10-25 11:29:49.769540434 +0300
10@@ -48,7 +48,7 @@
11 a: $(ALL_A)
12
13 $(LUA_A): $(CORE_O) $(LIB_O)
14- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
15+ $(AR) $@ $(CORE_O) $(LIB_O)
16 $(RANLIB) $@
17
18 $(LUA_T): $(LUA_O) $(LUA_A)
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch
new file mode 100644
index 0000000000..0c48ea2876
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua5.1/luaorg_2.patch
@@ -0,0 +1,44 @@
1lua.org patch 2 for lua-5.1.5.
2from http://www.lua.org/bugs.html
3
4Upstream-Status: Backport
5
6Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
7diff -Nurd lua-5.1.5/src/lzio.c lua-5.1.5/src/lzio.c
8--- lua-5.1.5/src/lzio.c 2007-12-27 15:02:25.000000000 +0200
9+++ lua-5.1.5/src/lzio.c 2013-10-25 11:32:45.773536572 +0300
10@@ -22,10 +22,14 @@
11 size_t size;
12 lua_State *L = z->L;
13 const char *buff;
14+ if (z->eoz) return EOZ;
15 lua_unlock(L);
16 buff = z->reader(L, z->data, &size);
17 lua_lock(L);
18- if (buff == NULL || size == 0) return EOZ;
19+ if (buff == NULL || size == 0) {
20+ z->eoz = 1; /* avoid calling reader function next time */
21+ return EOZ;
22+ }
23 z->n = size - 1;
24 z->p = buff;
25 return char2int(*(z->p++));
26@@ -51,6 +55,7 @@
27 z->data = data;
28 z->n = 0;
29 z->p = NULL;
30+ z->eoz = 0;
31 }
32
33
34diff -Nurd lua-5.1.5/src/lzio.h lua-5.1.5/src/lzio.h
35--- lua-5.1.5/src/lzio.h 2007-12-27 15:02:25.000000000 +0200
36+++ lua-5.1.5/src/lzio.h 2013-10-25 11:31:50.301537789 +0300
37@@ -59,6 +59,7 @@
38 lua_Reader reader;
39 void* data; /* additional data */
40 lua_State *L; /* Lua state (for reader) */
41+ int eoz; /* true if reader has no more data */
42 };
43
44
diff --git a/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch b/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch
new file mode 100644
index 0000000000..0555e81b19
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua5.1/uclibc-pthread.patch
@@ -0,0 +1,13 @@
1Index: lua-5.1.4/src/Makefile
2===================================================================
3--- lua-5.1.4.orig/src/Makefile 2010-10-16 09:51:52.000000000 +0200
4+++ lua-5.1.4/src/Makefile 2010-10-16 09:52:15.000000000 +0200
5@@ -12,7 +12,7 @@
6 AR= ar rcu
7 RANLIB= ranlib
8 RM= rm -f
9-LIBS= -lm $(MYLIBS)
10+LIBS= -lm -lpthread $(MYLIBS)
11
12 MYCFLAGS=
13 MYLDFLAGS=
diff --git a/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb b/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb
new file mode 100644
index 0000000000..f9469948e4
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua5.1_5.1.5.bb
@@ -0,0 +1,55 @@
1DESCRIPTION = "Lua is a powerful light-weight programming language designed \
2for extending applications."
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=59bdd99bb82238f238cf5c65c21604fd"
5HOMEPAGE = "http://www.lua.org/"
6
7PR = "r2"
8
9DEPENDS += "readline"
10SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz \
11 file://bitwise_operators.patch \
12 file://lua5.1.pc \
13 file://luaorg_1.patch \
14 file://luaorg_2.patch \
15"
16S = "${WORKDIR}/lua-${PV}"
17
18inherit pkgconfig binconfig
19
20UCLIBC_PATCHES += "file://uclibc-pthread.patch"
21SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
22
23TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
24EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"
25
26do_configure_prepend() {
27 sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
28 sed -i -e s:lib/lua/5.1/:${base_libdir}/lua/5.1/:g src/luaconf.h
29}
30
31do_compile () {
32 oe_runmake linux
33}
34
35do_install () {
36 oe_runmake \
37 'INSTALL_TOP=${D}${prefix}' \
38 'INSTALL_BIN=${D}${bindir}' \
39 'INSTALL_INC=${D}${includedir}/' \
40 'INSTALL_MAN=${D}${mandir}/man1' \
41 'INSTALL_SHARE=${D}${datadir}/lua' \
42 'INSTALL_LIB=${D}${libdir}' \
43 'INSTALL_CMOD=${D}${libdir}/lua/5.1' \
44 install
45 install -d ${D}${libdir}/pkgconfig
46 install -m 0644 ${WORKDIR}/lua5.1.pc ${D}${libdir}/pkgconfig/lua5.1.pc
47 rmdir ${D}${libdir}/lua/5.1
48 rmdir ${D}${libdir}/lua
49 rmdir ${D}${datadir}/lua/5.1
50 rmdir ${D}${datadir}/lua
51}
52BBCLASSEXTEND = "native"
53
54SRC_URI[md5sum] = "2e115fe26e435e33b0d5c022e4490567"
55SRC_URI[sha256sum] = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333"
diff --git a/meta-oe/recipes-devtools/lua/lua_5.2.2.bb b/meta-oe/recipes-devtools/lua/lua_5.2.2.bb
new file mode 100644
index 0000000000..500dd3a774
--- /dev/null
+++ b/meta-oe/recipes-devtools/lua/lua_5.2.2.bb
@@ -0,0 +1,49 @@
1DESCRIPTION = "Lua is a powerful light-weight programming language designed \
2for extending applications."
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=364;endline=398;md5=ad3069a42853ac3efd7d379d87f6088b"
5HOMEPAGE = "http://www.lua.org/"
6
7PR = "r0"
8
9DEPENDS = "readline"
10SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz \
11 file://lua.pc \
12"
13
14SRC_URI[md5sum] = "efbb645e897eae37cad4344ce8b0a614"
15SRC_URI[sha256sum] = "3fd67de3f5ed133bf312906082fa524545c6b9e1b952e8215ffbd27113f49f00"
16
17inherit pkgconfig binconfig
18
19UCLIBC_PATCHES += "file://uclibc-pthread.patch"
20SRC_URI_append_libc-uclibc = "${UCLIBC_PATCHES}"
21
22TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
23EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -DLUA_USE_LINUX -fPIC' MYLDFLAGS='${LDFLAGS}'"
24
25do_configure_prepend() {
26 sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
27}
28
29do_compile () {
30 oe_runmake linux
31}
32
33do_install () {
34 oe_runmake \
35 'INSTALL_TOP=${D}${prefix}' \
36 'INSTALL_BIN=${D}${bindir}' \
37 'INSTALL_INC=${D}${includedir}/' \
38 'INSTALL_MAN=${D}${mandir}/man1' \
39 'INSTALL_SHARE=${D}${datadir}/lua' \
40 'INSTALL_LIB=${D}${libdir}' \
41 'INSTALL_CMOD=${D}${libdir}/lua/5.2' \
42 install
43 install -d ${D}${libdir}/pkgconfig
44 install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
45 rmdir ${D}${datadir}/lua/5.2
46 rmdir ${D}${datadir}/lua
47}
48
49BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch b/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch
new file mode 100644
index 0000000000..f123b3f55a
--- /dev/null
+++ b/meta-oe/recipes-devtools/luajit/luajit/0001-Do-not-strip-automatically-this-leaves-the-stripping.patch
@@ -0,0 +1,33 @@
1From 528009f5ca0685c95ef27f6c8957160499c0576a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 10 May 2013 10:42:45 -0700
4Subject: [PATCH] Do not strip automatically, this leaves the stripping
5 busines to OE
6
7Upstream-Status: Inappropriate [OE-Specific]
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 src/Makefile | 2 --
12 1 file changed, 2 deletions(-)
13
14diff --git a/src/Makefile b/src/Makefile
15index 278324a..5ecd6d5 100644
16--- a/src/Makefile
17+++ b/src/Makefile
18@@ -665,12 +665,10 @@ $(LUAJIT_A): $(LJVMCORE_O)
19 $(LUAJIT_SO): $(LJVMCORE_O)
20 $(E) "DYNLINK $@"
21 $(Q)$(TARGET_LD) $(TARGET_ASHLDFLAGS) -o $@ $(LJVMCORE_DYNO) $(TARGET_ALIBS)
22- $(Q)$(TARGET_STRIP) $@
23
24 $(LUAJIT_T): $(TARGET_O) $(LUAJIT_O) $(TARGET_DEP)
25 $(E) "LINK $@"
26 $(Q)$(TARGET_LD) $(TARGET_ALDFLAGS) -o $@ $(LUAJIT_O) $(TARGET_O) $(TARGET_ALIBS)
27- $(Q)$(TARGET_STRIP) $@
28 $(E) "OK Successfully built LuaJIT"
29
30 ##############################################################################
31--
321.7.9.5
33
diff --git a/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch b/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch
new file mode 100644
index 0000000000..b9f17f4e31
--- /dev/null
+++ b/meta-oe/recipes-devtools/luajit/luajit/ppc-fixplt.patch
@@ -0,0 +1,105 @@
1Upstream-Status: Unknown
2
3Signed-off-by: Khem Raj <raj.khem@gmail.com>
4
5libluajit is having symbols that can't be
6resolved the reloc cannot accommodate an offset greater than 24 bits.
7
8Looking at libluajit with readelf -r, you see a bunch of entries that look like:
9 000082f0 00003c0a R_PPC_REL24 00000000 sqrt + 0
10
11These should not occur when the code is compiled and linked with -fPIC.
12
13It turns out that libluajit *is* compiled and linked with -fPIC, however...
14There is one assembler file called lj_vm.s which is generated during the build.
15This file is missing the `@plt' qualifier from external references.
16
17This file is generated by a program called buildvm. This in turn uses tables
18in a file called buildvm_arch.h which is generated by dynasm.lua.
19
20Index: LuaJIT-2.0.1/src/host/buildvm.c
21===================================================================
22--- LuaJIT-2.0.1.orig/src/host/buildvm.c 2013-02-19 12:15:00.000000000 -0800
23+++ LuaJIT-2.0.1/src/host/buildvm.c 2013-05-14 20:26:05.933444512 -0700
24@@ -107,12 +107,14 @@
25 #endif
26 sprintf(name, "%s%s%s", symprefix, prefix, suffix);
27 p = strchr(name, '@');
28+#if 0
29 if (p) {
30 if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj))
31 name[0] = '@';
32 else
33 *p = '\0';
34 }
35+#endif
36 p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */
37 strcpy(p, name);
38 return p;
39Index: LuaJIT-2.0.1/src/vm_ppcspe.dasc
40===================================================================
41--- LuaJIT-2.0.1.orig/src/vm_ppcspe.dasc 2013-02-19 12:15:00.000000000 -0800
42+++ LuaJIT-2.0.1/src/vm_ppcspe.dasc 2013-05-14 20:26:05.937444512 -0700
43@@ -1390,7 +1390,7 @@
44 | checknum CARG2
45 | evmergehi CARG1, CARG2, CARG2
46 | checkfail ->fff_fallback
47- | bl extern func
48+ | bl extern func@plt
49 | evmergelo CRET1, CRET1, CRET2
50 | b ->fff_restv
51 |.endmacro
52@@ -1405,7 +1405,7 @@
53 | checknum CARG1
54 | evmergehi CARG3, CARG4, CARG4
55 | checkanyfail ->fff_fallback
56- | bl extern func
57+ | bl extern func@plt
58 | evmergelo CRET1, CRET1, CRET2
59 | b ->fff_restv
60 |.endmacro
61@@ -1437,7 +1437,7 @@
62 | checknum CARG2
63 | evmergehi CARG1, CARG2, CARG2
64 | checkfail ->fff_fallback
65- | bl extern log
66+ | bl extern log@plt
67 | evmergelo CRET1, CRET1, CRET2
68 | b ->fff_restv
69 |
70@@ -1471,7 +1471,7 @@
71 | checknum CARG1
72 | checkanyfail ->fff_fallback
73 | efdctsi CARG3, CARG4
74- | bl extern ldexp
75+ | bl extern ldexp@plt
76 | evmergelo CRET1, CRET1, CRET2
77 | b ->fff_restv
78 |
79@@ -1484,7 +1484,7 @@
80 | checkfail ->fff_fallback
81 | la CARG3, DISPATCH_GL(tmptv)(DISPATCH)
82 | lwz PC, FRAME_PC(BASE)
83- | bl extern frexp
84+ | bl extern frexp@plt
85 | lwz TMP1, DISPATCH_GL(tmptv)(DISPATCH)
86 | evmergelo CRET1, CRET1, CRET2
87 | efdcfsi CRET2, TMP1
88@@ -1503,7 +1503,7 @@
89 | checkfail ->fff_fallback
90 | la CARG3, -8(BASE)
91 | lwz PC, FRAME_PC(BASE)
92- | bl extern modf
93+ | bl extern modf@plt
94 | evmergelo CRET1, CRET1, CRET2
95 | la RA, -8(BASE)
96 | evstdd CRET1, 0(BASE)
97@@ -2399,7 +2399,7 @@
98 | checknum CARG1
99 | evmergehi CARG3, CARG4, CARG4
100 | checkanyfail ->vmeta_arith_vv
101- | bl extern pow
102+ | bl extern pow@plt
103 | evmergelo CRET2, CRET1, CRET2
104 | evstddx CRET2, BASE, RA
105 | ins_next
diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb b/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb
new file mode 100644
index 0000000000..b719b48e09
--- /dev/null
+++ b/meta-oe/recipes-devtools/luajit/luajit_2.0.2.bb
@@ -0,0 +1,54 @@
1SUMMARY = "Just-In-Time Compiler for Lua"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1793ef52a5d577794cd886a501a7f861"
4HOMEPAGE = "http://luajit.org"
5
6DEPENDS += "lua5.1"
7SRC_URI = "http://luajit.org/download/LuaJIT-${PV}.tar.gz;name=tarball \
8 file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
9 "
10SRC_URI[tarball.md5sum] = "112dfb82548b03377fbefbba2e0e3a5b"
11SRC_URI[tarball.sha256sum] = "c05202974a5890e777b181908ac237625b499aece026654d7cc33607e3f46c38"
12
13SRC_URI_append_fslmachine = " file://ppc-fixplt.patch "
14
15S = "${WORKDIR}/LuaJIT-${PV}"
16
17inherit pkgconfig binconfig
18
19do_configure_prepend() {
20 sed -i -e s:/usr/local:${prefix}:g ${S}/Makefile
21 sed -i -e s:/lib$:${base_libdir}:g ${S}/Makefile
22}
23
24EXTRA_OEMAKE = 'CROSS=${HOST_PREFIX} TARGET_CFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_LDFLAGS="${TOOLCHAIN_OPTIONS}" TARGET_SHLDFLAGS="${TOOLCHAIN_OPTIONS}"'
25EXTRA_OEMAKE_append_powerpc = ' HOST_CC="${BUILD_CC} -m32"'
26EXTRA_OEMAKE_append_x86-64 = ' HOST_CC="${BUILD_CC}"'
27EXTRA_OEMAKE_append_i586 = ' HOST_CC="${BUILD_CC} -m32"'
28EXTRA_OEMAKE_append_powerpc64 = ' HOST_CC="${BUILD_CC}"'
29EXTRA_OEMAKE_append_arm = ' HOST_CC="${BUILD_CC} -m32"'
30EXTRA_OEMAKE_append_mips64 = ' HOST_CC="${BUILD_CC} -m32"'
31
32do_compile () {
33 oe_runmake
34}
35
36do_install () {
37 oe_runmake 'DESTDIR=${D}' install
38 rmdir ${D}${datadir}/lua/5.1 \
39 ${D}${datadir}/lua \
40 ${D}${libdir}/lua/5.1 \
41 ${D}${libdir}/lua
42}
43
44PACKAGES += 'luajit-common'
45
46FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
47 ${libdir}/libluajit-5.1.so.${PV} \
48"
49FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
50 ${libdir}/libluajit-5.1.so \
51 ${libdir}/pkgconfig/luajit.pc \
52"
53FILES_luajit-common = "${datadir}/${BPN}-${PV}"
54
diff --git a/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch b/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
new file mode 100644
index 0000000000..8103cf0920
--- /dev/null
+++ b/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
@@ -0,0 +1,208 @@
1diff -r -c -N ../mcpp-2.7.2-old/noconfig/vc2010.dif ./noconfig/vc2010.dif
2*** ../mcpp-2.7.2-old/noconfig/vc2010.dif Wed Dec 31 20:30:00 1969
3--- ./noconfig/vc2010.dif Fri May 14 12:47:22 2010
4***************
5*** 0 ****
6--- 1,67 ----
7+ *** noconfig.H Thu Sep 25 15:34:56 2008
8+ --- noconfig.H.vc2005 Thu Sep 25 17:23:49 2008
9+ ***************
10+ *** 15,21 ****
11+ */
12+
13+ /* Define target operating-system. */
14+ ! #define SYSTEM SYS_FREEBSD
15+
16+ /* Define target compiler. */
17+ #ifndef COMPILER
18+ --- 15,21 ----
19+ */
20+
21+ /* Define target operating-system. */
22+ ! #define SYSTEM SYS_WIN32
23+
24+ /* Define target compiler. */
25+ #ifndef COMPILER
26+ ***************
27+ *** 26,36 ****
28+ #define HOST_SYSTEM SYSTEM
29+
30+ /* Define host compiler. */
31+ ! #define HOST_COMPILER GNUC
32+
33+ /* Version message. */
34+ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
35+ ! #define VERSION_MSG "GCC 3.4"
36+ #if 0
37+ "LCC-Win32 2006-03"
38+ "Visual C 2005"
39+ --- 26,36 ----
40+ #define HOST_SYSTEM SYSTEM
41+
42+ /* Define host compiler. */
43+ ! #define HOST_COMPILER MSC
44+
45+ /* Version message. */
46+ /* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
47+ ! #define VERSION_MSG "Visual C 2010"
48+ #if 0
49+ "LCC-Win32 2006-03"
50+ "Visual C 2005"
51+ ***************
52+ *** 212,221 ****
53+ #define ONE_PASS TRUE
54+ #endif
55+ #define COMPILER_EXT "_MSC_VER"
56+ ! #define COMPILER_EXT_VAL "1500" /* VC 6.0: "1200" */
57+ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
58+ #define COMPILER_EXT2 "_MSC_FULL_VER"
59+ ! #define COMPILER_EXT2_VAL "150021022" /* VC 6.0: "12008804" */
60+ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
61+ /* VC 2008: "150021022" */
62+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
63+ --- 212,221 ----
64+ #define ONE_PASS TRUE
65+ #endif
66+ #define COMPILER_EXT "_MSC_VER"
67+ ! #define COMPILER_EXT_VAL "1600" /* VC 6.0: "1200" */
68+ /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500" */
69+ #define COMPILER_EXT2 "_MSC_FULL_VER"
70+ ! #define COMPILER_EXT2_VAL "160030319" /* VC 6.0: "12008804" */
71+ /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320" */
72+ /* VC 2008: "150021022" */
73+ #define COMPILER_SP1 "_MSC_EXTENSIONS"
74diff -r -c -N ../mcpp-2.7.2-old/src/internal.H ./src/internal.H
75*** ../mcpp-2.7.2-old/src/internal.H Wed Aug 27 10:31:16 2008
76--- ./src/internal.H Fri May 14 12:40:56 2010
77***************
78*** 390,395 ****
79--- 390,397 ----
80 extern char identifier[]; /* Lastly scanned name */
81 extern IFINFO ifstack[]; /* Information of #if nesting */
82 extern char work_buf[];
83+ extern FILEINFO * sh_file;
84+ extern int sh_line;
85 /* Temporary buffer for directive line and macro expansion */
86
87 /* main.c */
88***************
89*** 557,562 ****
90 #endif
91 #endif
92
93! #if HOST_HAVE_STPCPY
94 extern char * stpcpy( char * dest, const char * src);
95 #endif
96--- 559,564 ----
97 #endif
98 #endif
99
100! #if HOST_HAVE_STPCPY && !defined(stpcpy)
101 extern char * stpcpy( char * dest, const char * src);
102 #endif
103diff -r -c -N ../mcpp-2.7.2-old/src/main.c ./src/main.c
104*** ../mcpp-2.7.2-old/src/main.c Wed Nov 5 05:04:46 2008
105--- ./src/main.c Fri May 14 12:40:56 2010
106***************
107*** 326,331 ****
108--- 326,333 ----
109 = FALSE;
110 option_flags.trig = TRIGRAPHS_INIT;
111 option_flags.dig = DIGRAPHS_INIT;
112+ sh_file = NULL;
113+ sh_line = 0;
114 }
115
116 int mcpp_lib_main
117diff -r -c -N ../mcpp-2.7.2-old/src/support.c ./src/support.c
118*** ../mcpp-2.7.2-old/src/support.c Tue Jun 10 06:02:33 2008
119--- ./src/support.c Fri May 14 12:40:56 2010
120***************
121*** 188,194 ****
122 size_t length
123 )
124 {
125! if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */
126 size_t size = MAX( BUF_INCR_SIZE, length);
127
128 if (mem_buf_p->buffer == NULL) { /* 1st append */
129--- 188,194 ----
130 size_t length
131 )
132 {
133! if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */
134 size_t size = MAX( BUF_INCR_SIZE, length);
135
136 if (mem_buf_p->buffer == NULL) { /* 1st append */
137***************
138*** 1722,1727 ****
139--- 1722,1729 ----
140 sp -= 2;
141 while (*sp != '\n') /* Until end of line */
142 mcpp_fputc( *sp++, OUT);
143+ mcpp_fputc( '\n', OUT);
144+ wrong_line = TRUE;
145 }
146 goto end_line;
147 default: /* Not a comment */
148diff -r -c -N ../mcpp-2.7.2-old/src/system.c ./src/system.c
149*** ../mcpp-2.7.2-old/src/system.c 2008-11-26 10:53:51.000000000 +0100
150--- ./src/system.c 2011-02-21 16:18:05.678058106 +0100
151***************
152*** 3534,3539 ****
153--- 3534,3565 ----
154 FILEINFO * file;
155 const char * too_many_include_nest =
156 "More than %.0s%ld nesting of #include"; /* _F_ _W4_ */
157+
158+ //
159+ // When encoding is UTF-8, skip BOM if present.
160+ //
161+ if(mbchar == UTF8 && fp != NULL && ftell(fp) == 0)
162+ {
163+ const unsigned char UTF8_BOM[3] = {0xEF, 0xBB, 0xBF};
164+ unsigned char FILE_HEAD[3] = {0, 0, 0};
165+ int i;
166+ for(i = 0; i < 3; ++i)
167+ {
168+ FILE_HEAD[i] = getc(fp);
169+ if(FILE_HEAD[i] != UTF8_BOM[i])
170+ {
171+ if(FILE_HEAD[i] == (unsigned char)EOF)
172+ {
173+ i--;
174+ }
175+ for(; i >= 0; --i)
176+ {
177+ ungetc(FILE_HEAD[i], fp);
178+ }
179+ break;
180+ }
181+ }
182+ }
183
184 filename = set_fname( filename); /* Search or append to fnamelist[] */
185 fullname = set_fname( fullname); /* Search or append to fnamelist[] */
186***************
187*** 3858,3863 ****
188--- 3884,3892 ----
189 }
190 #endif
191
192+ FILEINFO* sh_file;
193+ int sh_line;
194+
195 void sharp(
196 FILEINFO * sharp_file,
197 int flag /* Flag to append to the line for GCC */
198***************
199*** 3868,3875 ****
200 * else (i.e. 'sharp_file' is NULL) 'infile'.
201 */
202 {
203- static FILEINFO * sh_file;
204- static int sh_line;
205 FILEINFO * file;
206 int line;
207
208--- 3897,3902 ----
diff --git a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
new file mode 100644
index 0000000000..a7163a35a8
--- /dev/null
+++ b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -0,0 +1,16 @@
1SUMMARY = "MCPP is a portable C/C++ preprocessor"
2HOMEPAGE = "http://mcpp.sourceforge.net/"
3LICENSE = "BSD"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5"
5
6SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
7 file://ice-mcpp.patch "
8SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05"
9SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864"
10
11inherit autotools
12
13EXTRA_OECONF = " --enable-mcpplib "
14
15BBCLASSEXTEND = "native nativesdk"
16
diff --git a/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb b/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb
new file mode 100644
index 0000000000..516a9ecc41
--- /dev/null
+++ b/meta-oe/recipes-devtools/mercurial/mercurial-native_1.9.bb
@@ -0,0 +1,27 @@
1SUMMARY = "The Mercurial distributed SCM"
2HOMEPAGE = "http://mercurial.selenic.com/"
3SECTION = "console/utils"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6DEPENDS = "python-native"
7PR = "r2"
8
9SRC_URI = "http://mercurial.selenic.com/release/mercurial-${PV}.tar.gz"
10SRC_URI[md5sum] = "d4842129fa2732eb6ed1180467bc32e2"
11SRC_URI[sha256sum] = "711e4b1cd2924a7a88499d6c431a9122390183bf554d4e153edbb3b2f30123e0"
12
13S = "${WORKDIR}/mercurial-${PV}"
14
15inherit native
16
17EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
18 BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} PREFIX=${prefix}"
19
20do_configure_append () {
21 sed -i -e 's:PYTHON=python:PYTHON=${STAGING_BINDIR_NATIVE}/python-native/python:g' ${S}/Makefile
22}
23
24do_install () {
25 oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
26}
27
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch
new file mode 100644
index 0000000000..6268d6940e
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch
@@ -0,0 +1,60 @@
1From bf701e7cb3616631a354ed9ecbed6dd16f60c60d Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 30 Jan 2013 10:43:47 +0100
4Subject: [PATCH] gcc has a builtin define to denote hard abi when in use, e.g.
5 when using -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore
6 we should check that to determine which calling convention is in use and not
7 __VFP_FP__ which merely indicates presence of VFP unit
8
9The fix has been provided by Khem Raj <raj.khem@gmail.com>
10
11Upstream-Status: Forwarded
12
13Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
14---
15 deps/v8/src/arm/assembler-arm.cc | 4 ++--
16 deps/v8/src/platform-linux.cc | 4 ++--
17 2 files changed, 4 insertions(+), 4 deletions(-)
18
19diff --git a/deps/v8/src/arm/assembler-arm.cc b/deps/v8/src/arm/assembler-arm.cc
20index 1787d15..c64ef58 100644
21--- a/deps/v8/src/arm/assembler-arm.cc
22+++ b/deps/v8/src/arm/assembler-arm.cc
23@@ -71,10 +71,10 @@ static unsigned CpuFeaturesImpliedByCompiler() {
24 // If the compiler is allowed to use VFP then we can use VFP too in our code
25 // generation even when generating snapshots. ARMv7 and hardware floating
26 // point support implies VFPv3, see ARM DDI 0406B, page A1-6.
27-#if defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__) \
28+#if defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__ARM_PCS_VFP) \
29 && !defined(__SOFTFP__)
30 answer |= 1u << VFP3 | 1u << ARMv7 | 1u << VFP2;
31-#endif // defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__VFP_FP__)
32+#endif // defined(CAN_USE_ARMV7_INSTRUCTIONS) && defined(__ARM_PCS_VFP)
33 // && !defined(__SOFTFP__)
34 #endif // _arm__
35
36diff --git a/deps/v8/src/platform-linux.cc b/deps/v8/src/platform-linux.cc
37index ed9eb79..10d1879 100644
38--- a/deps/v8/src/platform-linux.cc
39+++ b/deps/v8/src/platform-linux.cc
40@@ -170,7 +170,7 @@ bool OS::ArmCpuHasFeature(CpuFeature feature) {
41 // calling this will return 1.0 and otherwise 0.0.
42 static void ArmUsingHardFloatHelper() {
43 asm("mov r0, #0":::"r0");
44-#if defined(__VFP_FP__) && !defined(__SOFTFP__)
45+#if defined(__ARM_PCS_VFP) && !defined(__SOFTFP__)
46 // Load 0x3ff00000 into r1 using instructions available in both ARM
47 // and Thumb mode.
48 asm("mov r1, #3":::"r1");
49@@ -195,7 +195,7 @@ static void ArmUsingHardFloatHelper() {
50 #else
51 asm("vmov d0, r0, r1");
52 #endif // __thumb__
53-#endif // defined(__VFP_FP__) && !defined(__SOFTFP__)
54+#endif // defined(__ARM_PCS_VFP) && !defined(__SOFTFP__)
55 asm("mov r1, #0":::"r1");
56 }
57
58--
591.8.1
60
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch b/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch
new file mode 100644
index 0000000000..2b9838f0c6
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch
@@ -0,0 +1,13 @@
1diff --git a/deps/libev/wscript b/deps/libev/wscript
2index 4f6c9a8..1796749 100644
3--- a/deps/libev/wscript
4+++ b/deps/libev/wscript
5@@ -58,7 +58,7 @@ def configure(conf):
6 return 0;
7 }
8 """
9- conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=True,
10+ conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=False,
11 msg="Checking for SYS_clock_gettime")
12
13 have_librt = conf.check(lib='rt', uselib_store='RT')
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb b/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb
new file mode 100644
index 0000000000..7e67bcb338
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb
@@ -0,0 +1,47 @@
1SUMMARY = "nodeJS Evented I/O for V8 JavaScript"
2HOMEPAGE = "http://nodejs.org"
3LICENSE = "MIT & zlib"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=d6237f3a840aef5b7880fb4e49eecfe5"
5
6DEPENDS = "openssl"
7
8SRC_URI = " \
9 http://nodejs.org/dist/node-v${PV}.tar.gz \
10 file://libev-cross-cc_${PV}.patch \
11"
12SRC_URI[md5sum] = "a6375eaa43db5356bf443e25b828ae16"
13SRC_URI[sha256sum] = "c01af05b933ad4d2ca39f63cac057f54f032a4d83cff8711e42650ccee24fce4"
14
15S = "${WORKDIR}/node-v${PV}"
16
17# v8 errors out if you have set CCACHE
18CCACHE = ""
19
20do_configure () {
21 sed -i -e 's:/usr/lib:${STAGING_LIBDIR}:g' wscript
22 sed -i -e 's:/usr/local/lib:${STAGING_LIBDIR}:g' wscript
23 ./configure --prefix=${prefix} --without-snapshot
24}
25
26do_compile () {
27 make
28}
29
30do_install () {
31 oe_runmake install DESTDIR=${D}
32
33 # fix namespace conflicts with other nodejs recipes
34 mv ${D}${bindir}/node ${D}${bindir}/node4
35 mv ${D}${bindir}/node-waf ${D}${bindir}/node4-waf
36
37 mv ${D}${includedir}/node ${D}${includedir}/node4
38
39 mv ${D}${libdir}/node ${D}${libdir}/node4
40 mv ${D}${libdir}/pkgconfig/nodejs.pc ${D}${libdir}/pkgconfig/nodejs4.pc
41 sed -i -e s:include/node:include/node4: ${D}${libdir}/pkgconfig/nodejs4.pc
42
43 mv ${D}${datadir}/man/man1/node.1 ${D}${datadir}/man/man1/node4.1
44}
45
46FILES_${PN} += "${libdir}/node4/wafadmin"
47BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
new file mode 100644
index 0000000000..996d68ea6e
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.8.18.bb
@@ -0,0 +1,42 @@
1SUMMARY = "nodeJS Evented I/O for V8 JavaScript"
2HOMEPAGE = "http://nodejs.org"
3LICENSE = "MIT & BSD"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=95a589a3257ab7dfe37d8a8379e3c72d"
5
6DEPENDS = "openssl"
7
8SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
9 file://0001-gcc-has-a-builtin-define-to-denote-hard-abi-when-in-.patch \
10"
11SRC_URI[md5sum] = "25ed6aa5710ac46b867ff3f17a4da1d6"
12SRC_URI[sha256sum] = "1d63dd42f9bd22f087585ddf80a881c6acbe1664891b1dda3b71306fe9ae00f9"
13
14S = "${WORKDIR}/node-v${PV}"
15
16# v8 errors out if you have set CCACHE
17CCACHE = ""
18
19ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)}"
20ARCHFLAGS ?= ""
21
22# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
23do_configure () {
24 export LD="${CXX}"
25
26 ./configure --prefix=${prefix} --without-snapshot ${ARCHFLAGS}
27}
28
29do_compile () {
30 export LD="${CXX}"
31 make BUILDTYPE=Release
32}
33
34do_install () {
35 oe_runmake install DESTDIR=${D}
36}
37
38RDEPENDS_${PN} = "curl python-shell python-datetime python-subprocess python-crypt python-textutils python-netclient "
39RDEPENDS_${PN}_class-native = ""
40
41FILES_${PN} += "${libdir}/node/wafadmin ${libdir}/node_modules ${libdir}/dtrace"
42BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
new file mode 100644
index 0000000000..9b8cc9a257
--- /dev/null
+++ b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -0,0 +1,28 @@
1SUMMARY = "Packages required for a target (on-device) SDK"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
4
5PR = "r1"
6
7inherit packagegroup allarch
8
9RPROVIDES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk"
10RREPLACES_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk"
11RCONFLICTS_${PN} += "packagegroup-native-sdk task-sdk-target task-native-sdk"
12RDEPENDS_${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \
13 binutils-symlinks \
14 perl-modules \
15 flex flex-dev \
16 bison \
17 gawk \
18 sed \
19 grep \
20 autoconf automake \
21 make \
22 patch diffstat diffutils \
23 libstdc++-dev \
24 libtool libtool-dev libltdl-dev \
25 pkgconfig"
26
27# usefull, but not in oe-core/meta-oe yet: patchutils
28RRECOMMENDS_${PN} = " g77-symlinks gfortran-symlinks"
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch b/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 0000000000..ecf8e74933
--- /dev/null
+++ b/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 @@
1From 869e52a9055c72970fed036a1510f676e6ce0824 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 13 Jun 2013 01:24:19 -0700
4Subject: [PATCH] Don't call deprecated glib functions and use the new gthread
5 API.
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8
9Upstream-Status: Inappropriate[version Unmaintained Upstream]
10---
11 client/pk-console.c | 3 ++-
12 client/pk-generate-pack.c | 3 ++-
13 client/pk-monitor.c | 3 ++-
14 contrib/command-not-found/PackageKit.sh | 2 +-
15 contrib/command-not-found/pk-command-not-found.c | 4 ++--
16 contrib/debuginfo-install/pk-debuginfo-install.c | 4 ++--
17 src/pk-backend.c | 7 +++++++
18 src/pk-main.c | 4 ++--
19 10 files changed, 20 insertions(+), 10 deletions(-)
20
21diff --git a/client/pk-console.c b/client/pk-console.c
22index de927e1..2435f27 100644
23--- a/client/pk-console.c
24+++ b/client/pk-console.c
25@@ -1264,11 +1264,12 @@ main (int argc, char *argv[])
26 bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
27 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
28 textdomain (GETTEXT_PACKAGE);
29-
30+#if !GLIB_CHECK_VERSION(2,32,0)
31 if (! g_thread_supported ())
32 g_thread_init (NULL);
33 g_type_init ();
34 dbus_g_thread_init ();
35+#endif
36
37 /* do stuff on ctrl-c */
38 signal (SIGINT, pk_console_sigint_cb);
39diff --git a/client/pk-generate-pack.c b/client/pk-generate-pack.c
40index 0b2b40f..20d7e8d 100644
41--- a/client/pk-generate-pack.c
42+++ b/client/pk-generate-pack.c
43@@ -251,12 +251,13 @@ main (int argc, char *argv[])
44 bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
45 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
46 textdomain (GETTEXT_PACKAGE);
47-
48+#if !GLIB_CHECK_VERSION(2,32,0)
49 if (! g_thread_supported ())
50 g_thread_init (NULL);
51
52 g_type_init ();
53 dbus_g_thread_init ();
54+#endif
55
56 /* do stuff on ctrl-c */
57 signal (SIGINT, pk_generate_pack_sigint_cb);
58diff --git a/client/pk-monitor.c b/client/pk-monitor.c
59index f230f7a..d43007f 100644
60--- a/client/pk-monitor.c
61+++ b/client/pk-monitor.c
62@@ -285,11 +285,12 @@ main (int argc, char *argv[])
63 bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
64 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
65 textdomain (GETTEXT_PACKAGE);
66-
67+#if !GLIB_CHECK_VERSION(2,32,0)
68 if (! g_thread_supported ())
69 g_thread_init (NULL);
70 g_type_init ();
71 dbus_g_thread_init ();
72+#endif
73
74 context = g_option_context_new (NULL);
75 /* TRANSLATORS: this is a program that monitors PackageKit */
76diff --git a/contrib/command-not-found/PackageKit.sh b/contrib/command-not-found/PackageKit.sh
77index d08989c..d708fff 100644
78--- a/contrib/command-not-found/PackageKit.sh
79+++ b/contrib/command-not-found/PackageKit.sh
80@@ -18,7 +18,7 @@ command_not_found_handle () {
81
82 # run the command, or just print a warning
83 if [ $runcnf -eq 1 ]; then
84- /home/hughsie/.root/libexec/pk-command-not-found $1
85+ /usr/lib/packagekit/pk-command-not-found $1
86 retval=$?
87 else
88 echo "bash: $1: command not found"
89diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
90index 70679c0..9f81ce4 100644
91--- a/contrib/command-not-found/pk-command-not-found.c
92+++ b/contrib/command-not-found/pk-command-not-found.c
93@@ -659,12 +659,12 @@ main (int argc, char *argv[])
94 bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
95 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
96 textdomain (GETTEXT_PACKAGE);
97-
98+#if !GLIB_CHECK_VERSION(2,32,0)
99 if (! g_thread_supported ())
100 g_thread_init (NULL);
101 dbus_g_thread_init ();
102 g_type_init ();
103-
104+#endif
105 context = g_option_context_new (NULL);
106 /* TRANSLATORS: tool that gets called when the command is not found */
107 g_option_context_set_summary (context, _("PackageKit Command Not Found"));
108diff --git a/contrib/debuginfo-install/pk-debuginfo-install.c b/contrib/debuginfo-install/pk-debuginfo-install.c
109index c12aca5..b0e1e7c 100644
110--- a/contrib/debuginfo-install/pk-debuginfo-install.c
111+++ b/contrib/debuginfo-install/pk-debuginfo-install.c
112@@ -532,11 +532,11 @@ main (int argc, char *argv[])
113 bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
114 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
115 textdomain (GETTEXT_PACKAGE);
116-
117+#if !GLIB_CHECK_VERSION(2,32,0)
118 if (! g_thread_supported ())
119 g_thread_init (NULL);
120 g_type_init ();
121-
122+#endif
123 context = g_option_context_new (NULL);
124 /* TRANSLATORS: tool that gets called when the command is not found */
125 g_option_context_set_summary (context, _("PackageKit Debuginfo Installer"));
126diff --git a/src/pk-backend.c b/src/pk-backend.c
127index 5216b63..5b83ae4 100644
128--- a/src/pk-backend.c
129+++ b/src/pk-backend.c
130@@ -2103,7 +2103,14 @@ pk_backend_thread_create (PkBackend *backend, PkBackendThreadFunc func)
131 egg_warning ("already has thread");
132 return FALSE;
133 }
134+#if !GLIB_CHECK_VERSION(2,32,0)
135 backend->priv->thread = g_thread_create ((GThreadFunc) func, backend, FALSE, NULL);
136+#else
137+ backend->priv->thread = g_thread_try_new ("daemon thread", (GThreadFunc) func, backend, NULL);
138+ if (backend->priv->thread != NULL) {
139+ g_thread_unref(backend->priv->thread);
140+ }
141+#endif
142 if (backend->priv->thread == NULL) {
143 egg_warning ("failed to create thread");
144 return FALSE;
145diff --git a/src/pk-main.c b/src/pk-main.c
146index 4c758cd..8fa2482 100644
147--- a/src/pk-main.c
148+++ b/src/pk-main.c
149@@ -219,12 +219,12 @@ main (int argc, char *argv[])
150 bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
151 bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
152 textdomain (GETTEXT_PACKAGE);
153-
154+#if !GLIB_CHECK_VERSION(2,32,0)
155 if (! g_thread_supported ())
156 g_thread_init (NULL);
157 dbus_g_thread_init ();
158 g_type_init ();
159-
160+#endif
161 /* TRANSLATORS: describing the service that is running */
162 context = g_option_context_new (_("PackageKit service"));
163 g_option_context_add_main_entries (context, options, NULL);
164--
1651.7.9.5
166
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch b/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch
new file mode 100644
index 0000000000..48f959186a
--- /dev/null
+++ b/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/configurefix.patch
@@ -0,0 +1,13 @@
1Index: PackageKit-0.6.0/configure.ac
2===================================================================
3--- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000
4+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000
5@@ -90,7 +90,7 @@
6 enable_strict=$default_strict)
7 if test x$enable_strict != xno; then
8 if test "$GCC" = "yes"; then
9- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror"
10+ :
11 fi
12 fi
13
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch b/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch
new file mode 100644
index 0000000000..5a73a19d5f
--- /dev/null
+++ b/meta-oe/recipes-devtools/packagekit/packagekit-0.5.6/opkgfixes.patch
@@ -0,0 +1,422 @@
1Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c
2===================================================================
3--- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000
4+++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000
5@@ -29,8 +29,7 @@
6
7+#include <stdio.h>
8 #include <libopkg/opkg.h>
9
10-static opkg_t *opkg;
11-
12 enum {
13 SEARCH_NAME,
14 SEARCH_DESCRIPTION,
15@@ -62,7 +60,7 @@
16 * check an opkg package for known GUI dependancies
17 */
18 static gboolean
19-opkg_is_gui_pkg (opkg_package_t *pkg)
20+opkg_is_gui_pkg (pkg_t *pkg)
21 {
22
23 /* TODO: check appropriate tag */
24@@ -84,7 +82,7 @@
25 * check an opkg package to determine if it is a development package
26 */
27 static gboolean
28-opkg_is_devel_pkg (opkg_package_t *pkg)
29+opkg_is_devel_pkg (pkg_t *pkg)
30 {
31 if (g_strrstr (pkg->name, "-dev"))
32 return TRUE;
33@@ -105,7 +103,7 @@
34 * returns true if the tag is present
35 */
36 static gboolean
37-opkg_check_tag (opkg_package_t *pkg, const gchar *tag)
38+opkg_check_tag (pkg_t *pkg, const gchar *tag)
39 {
40 if (pkg->tags && tag)
41 return (g_strrstr (pkg->tags, tag) != NULL);
42@@ -118,7 +116,7 @@
43 {
44 switch (err)
45 {
46- case OPKG_NO_ERROR:
47+/* case OPKG_NO_ERROR:
48 break;
49 case OPKG_PACKAGE_NOT_INSTALLED:
50 pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
51@@ -140,7 +138,7 @@
52 break;
53 case OPKG_PACKAGE_NOT_AVAILABLE:
54 pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL);
55- break;
56+ break;*/
57 default:
58 opkg_unknown_error (backend, err, "Update package");
59 }
60@@ -152,7 +150,7 @@
61 static void
62 backend_initialize (PkBackend *backend)
63 {
64- opkg = opkg_new ();
65+ int opkg = opkg_new ();
66
67 if (!opkg) {
68 pk_backend_error_code (backend,
69@@ -162,8 +160,8 @@
70 }
71
72 #ifdef OPKG_OFFLINE_ROOT
73- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT);
74- opkg_re_read_config_files (opkg);
75+ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT);
76+ opkg_re_read_config_files ();
77 #endif
78
79 }
80@@ -174,22 +172,22 @@
81 static void
82 backend_destroy (PkBackend *backend)
83 {
84- opkg_free (opkg);
85+ opkg_free ();
86 }
87
88
89 static void
90-pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data)
91+pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data)
92 {
93- PkBackend *backend = PK_BACKEND (data);
94+ PkBackend *backend = (PkBackend*) data;
95 if (!backend)
96 return;
97
98 pk_backend_set_percentage (backend, pdata->percentage);
99- if (pdata->package)
100+ if (pdata->pkg)
101 {
102 gchar *uid;
103- opkg_package_t *pkg = pdata->package;
104+ pkg_t *pkg = pdata->pkg;
105 gint status = PK_INFO_ENUM_UNKNOWN;
106
107 uid = g_strdup_printf ("%s;%s;%s;",
108@@ -225,12 +223,12 @@
109 {
110 int ret;
111
112- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend);
113+ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend);
114
115 if (ret) {
116- if (ret == OPKG_DOWNLOAD_FAILED)
117- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
118- else
119+// if (ret == OPKG_DOWNLOAD_FAILED)
120+// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL);
121+// else
122 opkg_unknown_error (backend, ret, "Refreshing cache");
123 }
124 pk_backend_finished (backend);
125@@ -256,7 +254,7 @@
126 */
127
128 static void
129-pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
130+pk_opkg_package_list_cb (pkg_t *pkg, void *data)
131 {
132 SearchParams *params = (SearchParams*) data;
133 gchar *uid;
134@@ -298,7 +296,7 @@
135 uid = g_strdup_printf ("%s;%s;%s;",
136 pkg->name, pkg->version, pkg->architecture);
137
138- if (pkg->installed)
139+ if (pkg->state_status == SS_INSTALLED)
140 status = PK_INFO_ENUM_INSTALLED;
141 else
142 status = PK_INFO_ENUM_AVAILABLE;
143@@ -318,10 +316,10 @@
144 opkg_is_gui_pkg (pkg))
145 goto end_handle;
146 if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) &&
147- (!pkg->installed))
148+ (pkg->state_status != SS_INSTALLED))
149 goto end_handle;
150 if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) &&
151- (pkg->installed))
152+ (pkg->state_status == SS_INSTALLED))
153 goto end_handle;
154
155 pk_backend_package (params->backend, status, uid, pkg->description);
156@@ -338,7 +336,7 @@
157
158 params = pk_backend_get_pointer (backend, "search-params");
159
160- opkg_list_packages (opkg, pk_opkg_package_list_cb, params);
161+ opkg_list_packages (pk_opkg_package_list_cb, params);
162
163 pk_backend_finished (params->backend);
164
165@@ -349,7 +347,7 @@
166 }
167
168 static void
169-backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search)
170+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search)
171 {
172 SearchParams *params;
173
174@@ -360,7 +358,7 @@
175 params = g_new0 (SearchParams, 1);
176 params->filters = filters;
177 params->search_type = SEARCH_NAME;
178- params->needle = g_utf8_strdown (search, -1);
179+ params->needle = g_utf8_strdown (search[0], -1);
180 params->backend = backend;
181
182 pk_backend_set_pointer (backend, "search-params", params);
183@@ -371,7 +369,7 @@
184 * backend_search_description:
185 */
186 static void
187-backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search)
188+backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search)
189 {
190 SearchParams *params;
191
192@@ -382,7 +380,7 @@
193 params = g_new0 (SearchParams, 1);
194 params->filters = filters;
195 params->search_type = SEARCH_DESCRIPTION;
196- params->needle = g_utf8_strdown (search, -1);
197+ params->needle = g_utf8_strdown (search[0], -1);
198 params->backend = backend;
199
200 pk_backend_set_pointer (backend, "search-params", params);
201@@ -390,7 +388,7 @@
202 }
203
204 static void
205-backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search)
206+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search)
207 {
208 SearchParams *params;
209
210@@ -401,7 +399,7 @@
211 params = g_new0 (SearchParams, 1);
212 params->filters = filters;
213 params->search_type = SEARCH_TAG;
214- params->needle = g_strdup_printf ("group::%s", search);
215+ params->needle = g_strdup_printf ("group::%s", search[0]);
216 params->backend = backend;
217
218 pk_backend_set_pointer (backend, "search-params", params);
219@@ -412,9 +410,9 @@
220 static gboolean
221 backend_install_packages_thread (PkBackend *backend)
222 {
223- PkPackageId *pi;
224 gint err, i;
225 gchar **package_ids;
226+ gchar **parts;
227
228 package_ids = pk_backend_get_strv (backend, "pkids");
229
230@@ -424,13 +422,13 @@
231 {
232 pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL);
233
234- pi = pk_package_id_new_from_string (package_ids[i]);
235+ parts = pk_package_id_split (package_ids[i]);
236
237- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend);
238+ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
239 if (err)
240 handle_install_error (backend, err);
241
242- pk_package_id_free (pi);
243+ g_strfreev (parts);
244 if (err != 0)
245 break;
246 }
247@@ -453,9 +451,9 @@
248 static gboolean
249 backend_remove_packages_thread (PkBackend *backend)
250 {
251- PkPackageId *pi;
252 gint err, i;
253 gchar **package_ids;
254+ gchar **parts;
255 gboolean allow_deps;
256 gboolean autoremove;
257 gpointer *data;
258@@ -467,29 +465,30 @@
259 autoremove = GPOINTER_TO_INT (data[2]);
260 g_free (data);
261
262- opkg_set_option (opkg, (char *)"autoremove", &autoremove);
263- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps);
264+ opkg_set_option ((char *)"autoremove", &autoremove);
265+ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps);
266
267 err = 0;
268
269 for (i = 0; package_ids[i]; i++)
270 {
271- pi = pk_package_id_new_from_string (package_ids[i]);
272 pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL);
273
274- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend);
275+ parts = pk_package_id_split (package_ids[i]);
276+
277+ err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
278
279 switch (err)
280 {
281- case OPKG_NO_ERROR:
282- break;
283- case OPKG_PACKAGE_NOT_INSTALLED:
284- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
285- break;
286+ //case OPKG_NO_ERROR:
287+ // break;
288+ //case OPKG_PACKAGE_NOT_INSTALLED:
289+ // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL);
290+ // break;
291 default:
292 opkg_unknown_error (backend, err, "Remove");
293 }
294- pk_package_id_free (pi);
295+ g_strfreev (parts);
296
297 if (err != 0)
298 break;
299@@ -540,7 +539,7 @@
300 gint err;
301
302 /* FIXME: support only_trusted */
303- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend);
304+ err = opkg_upgrade_all (pk_opkg_progress_cb, backend);
305
306 if (err)
307 opkg_unknown_error (backend, err, "Upgrading system");
308@@ -564,29 +563,28 @@
309 static gboolean
310 backend_update_package_thread (PkBackend *backend)
311 {
312- PkPackageId *pi;
313+ gchar **parts;
314 gint err = 0;
315 const gchar *package_id;
316
317 /* FIXME: support only_trusted */
318 package_id = pk_backend_get_string (backend, "pkgid");
319- pi = pk_package_id_new_from_string (package_id);
320+ parts = pk_package_id_split (package_id);
321
322- if (!pi->name || !pi->version)
323+ if (!parts)
324 {
325 pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
326 "Package not found");
327- pk_package_id_free (pi);
328 pk_backend_finished (backend);
329 return FALSE;
330 }
331
332- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend);
333+ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend);
334 if (err)
335 handle_install_error (backend, err);
336
337
338- pk_package_id_free (pi);
339+ g_strfreev (parts);
340 pk_backend_finished (backend);
341 return (err != 0);
342 }
343@@ -610,13 +608,13 @@
344 */
345
346 static void
347-pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data)
348+pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data)
349 {
350- PkBackend *backend = PK_BACKEND (data);
351+ PkBackend *backend = (PkBackend*) data;
352 gchar *uid;
353 gint status;
354
355- if (pkg->installed)
356+ if (pkg->state_status == SS_INSTALLED)
357 status = PK_INFO_ENUM_INSTALLED;
358 else
359 status = PK_INFO_ENUM_AVAILABLE;
360@@ -631,7 +629,7 @@
361 static gboolean
362 backend_get_updates_thread (PkBackend *backend)
363 {
364- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend);
365+ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend);
366 pk_backend_finished (backend);
367 return TRUE;
368 }
369@@ -668,16 +666,18 @@
370 static gboolean
371 backend_get_details_thread (PkBackend *backend)
372 {
373- PkPackageId *pi;
374 gchar **package_ids;
375+ gchar **parts;
376 int group_index;
377 PkGroupEnum group = 0;
378- opkg_package_t *pkg;
379+ pkg_t *pkg;
380 gchar *newid;
381
382 package_ids = pk_backend_get_strv(backend, "package_ids");
383- pi = pk_package_id_new_from_string (package_ids[0]);
384- if (pi == NULL)
385+ parts = pk_package_id_split (package_ids[0]);
386+
387+
388+ if (!parts)
389 {
390 pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id");
391 pk_backend_finished (backend);
392@@ -685,8 +685,8 @@
393 }
394
395
396- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data);
397- pk_package_id_free (pi);
398+ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]);
399+ g_strfreev (parts);
400
401 if (!pkg)
402 {
403@@ -695,7 +695,7 @@
404 return FALSE;
405 }
406
407- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository);
408+ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name);
409
410 if (pkg->tags) {
411 for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) {
412@@ -706,9 +706,8 @@
413 }
414 }
415
416- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size);
417+ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size);
418 g_free (newid);
419- opkg_package_free(pkg);
420 pk_backend_finished (backend);
421 return TRUE;
422 }
diff --git a/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
new file mode 100644
index 0000000000..96cc468e38
--- /dev/null
+++ b/meta-oe/recipes-devtools/packagekit/packagekit_0.5.6.bb
@@ -0,0 +1,62 @@
1SUMMARY = "PackageKit package management abstraction"
2SECTION = "libs"
3LICENSE = "GPL-2.0+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5DEPENDS = "gtk+ python polkit dbus dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native"
6RDEPENDS_${PN} = "opkg"
7
8inherit gnome pythonnative
9
10SRC_URI = "http://www.packagekit.org/releases/PackageKit-${PV}.tar.gz;name=archive \
11 file://configurefix.patch \
12 file://opkgfixes.patch \
13 file://0001-Don-t-call-deprecated-glib-functions-and-use-the-new.patch \
14 "
15
16SRC_URI[archive.md5sum] = "6c8d9c48e21b82abeea15c3fd5066242"
17SRC_URI[archive.sha256sum] = "0eafd1be5516a41ebc0f0c3acff0b0763da105a4178b5eee0ff16d66ccd04408"
18
19S = "${WORKDIR}/PackageKit-${PV}"
20
21PACKAGECONFIG ??= ""
22PACKAGECONFIG[service-packs] = "--enable-service-packs,--disable-service-packs,libarchive"
23
24EXTRA_OECONF = "--with-security-framework=dummy \
25 --with-default-backend=opkg \
26 --enable-opkg \
27 --disable-tests \
28 --disable-ruck \
29 --disable-qt \
30 --disable-gstreamer-plugin \
31 --disable-local \
32 --disable-networkmanager \
33 ac_cv_path_XMLTO=no \
34"
35
36#do_configure_prepend() {
37# mkdir -p m4
38# echo "EXTRA_DIST=" > gtk-doc.make
39#}
40
41do_configure_append() {
42 for i in $(find . -name Makefile) ; do
43 sed -i -e s:${STAGING_DIR_NATIVE}::g \
44 -e s:${bindir}/mkdir:${STAGING_BINDIR_NATIVE}/mkdir:g \
45 -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \
46 $i
47 done
48}
49
50PACKAGES =+ "${PN}-website"
51FILES_${PN}-website = "${datadir}/PackageKit/website"
52
53PACKAGES =+ "${PN}-python"
54FILES_${PN}-python = "${libdir}/python*"
55
56PACKAGES =+ "${PN}-gtkmodule"
57FILES_${PN}-gtkmodule = "${libdir}/gtk-2.0/*/*.so"
58
59FILES_${PN} += "${libdir}/packagekit-backend/*.so ${libdir}/pm-utils ${datadir}/dbus-1/system-services/ ${datadir}/PolicyKit ${datadir}/PackageKit"
60FILES_${PN}-dbg += "${libdir}/packagekit-backend/.debug/*.so ${libdir}/gtk-2.0/*/.debug"
61FILES_${PN}-dev += "${libdir}/packagekit-backend/*.la ${libdir}/gtk-2.0/*/*.la"
62FILES_${PN}-staticdev += "${libdir}/packagekit-backend/*.a ${libdir}/gtk-2.0/*/*.a"
diff --git a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.10.bb b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.10.bb
new file mode 100644
index 0000000000..88db683b81
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.10.bb
@@ -0,0 +1,14 @@
1SUMMARY = "Perl module for pseudo tty IO"
2SECTION = "libs"
3LICENSE = "Artistic-1.0 | GPL-1.0+"
4LIC_FILES_CHKSUM = "file://META.yml;beginline=7;endline=8;md5=f86a66cc3d9522a227298d6898b181a2"
5
6SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
7
8SRC_URI[md5sum] = "46baec86a145e57f0ec661fa412b097c"
9SRC_URI[sha256sum] = "31a6e21ad187ec5ea93c2b898d6b3519647c5fce9f394b6d3c05a1f7c3f6f8b1"
10
11S = "${WORKDIR}/IO-Tty-${PV}"
12
13inherit cpan
14
diff --git a/meta-oe/recipes-devtools/php/php.inc b/meta-oe/recipes-devtools/php/php.inc
new file mode 100644
index 0000000000..d5e53c0e59
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php.inc
@@ -0,0 +1,133 @@
1DESCRIPTION = "A server-side, HTML-embedded scripting language. This package provides the CGI."
2HOMEPAGE = "http://www.php.net"
3SECTION = "console/network"
4LICENSE = "PHP-3.0"
5BBCLASSEXTEND = "native"
6DEPENDS = "zlib libxml2 virtual/libiconv php-native lemon-native \
7 libc-client openssl"
8DEPENDS_virtclass-native = "zlib-native libxml2-native"
9
10INC_PR = "r5"
11
12# The new PHP downloads server groups PHP releases by major version so find
13# the major version of the PHP recipe.
14PHP_MAJVER = "${@d.getVar('PV',1).split('.')[0]}"
15
16SRC_URI = "http://museum.php.net/php${PHP_MAJVER}/php-${PV}.tar.bz2"
17
18S = "${WORKDIR}/php-${PV}"
19
20inherit autotools pkgconfig pythonnative gettext
21
22SSTATE_SCAN_FILES += "build-defs.h"
23
24# Common EXTRA_OECONF
25COMMON_EXTRA_OECONF = "--enable-sockets --enable-pcntl --enable-shared"
26EXTRA_OECONF = "--enable-mbstring \
27 --enable-wddx \
28 --enable-fpm \
29 --with-imap=${STAGING_DIR_HOST} \
30 --with-gettext=${STAGING_LIBDIR}/.. \
31 --with-imap-ssl=${STAGING_DIR_HOST} \
32 --with-zlib=${STAGING_LIBDIR}/.. \
33 --with-iconv=${STAGING_LIBDIR}/.. \
34 --with-libxml-dir=${STAGING_BINDIR_CROSS} \
35 ${COMMON_EXTRA_OECONF} \
36"
37EXTRA_OECONF_virtclass-native = " \
38 --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
39 --with-libxml-dir=${STAGING_BINDIR_NATIVE} \
40 ${COMMON_EXTRA_OECONF} \
41"
42
43PACKAGECONFIG ??= "mysql sqlite3"
44PACKAGECONFIG_class-native = ""
45
46PACKAGECONFIG[mysql] = "--with-mysql=${STAGING_DIR_TARGET}${prefix} \
47 --with-mysqli=${STAGING_BINDIR_CROSS}/mysql_config \
48 --with-pdo-mysql=${STAGING_BINDIR_CROSS}/mysql_config \
49 , \
50 ,mysql5"
51
52PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
53 --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
54 , \
55 ,sqlite3"
56
57export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
58export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
59CFLAGS += " -D_GNU_SOURCE"
60
61EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
62
63acpaths = ""
64
65do_install_append_pn-php-native() {
66 rm -rf ${D}/${libdir}/php/.registry
67 rm -rf ${D}/${libdir}/php/.channels
68 rm -rf ${D}/${libdir}/php/.[a-z]*
69}
70
71# fixme
72do_install_append_pn-php() {
73 install -d ${D}/${sysconfdir}/
74 if [ -d ${D}/${STAGING_DIR_NATIVE}/${sysconfdir} ];then
75 mv ${D}/${STAGING_DIR_NATIVE}/${sysconfdir}/* ${D}/${sysconfdir}/
76 fi
77 rm -rf ${D}/${TMPDIR}
78 rm -rf ${D}/.registry
79 rm -rf ${D}/.channels
80 rm -rf ${D}/.[a-z]*
81 rm -rf ${D}/var
82 rm -f ${D}/${sysconfdir}/php-fpm.conf.default
83 sed -i 's:${STAGING_DIR_NATIVE}::g' ${D}/${sysconfdir}/pear.conf
84 install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
85 install -d ${D}/${sysconfdir}/apache2/conf.d
86 install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
87 install -d ${D}${sysconfdir}/init.d
88 sed -i 's:=/usr/sbin:=${sbindir}:g' ${S}/sapi/fpm/init.d.php-fpm
89 sed -i 's:=/etc:=${sysconfdir}:g' ${S}/sapi/fpm/init.d.php-fpm
90 sed -i 's:=/var:=${localstatedir}:g' ${S}/sapi/fpm/init.d.php-fpm
91 install -m 0755 ${S}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
92 TMP=`dirname ${D}/${TMPDIR}`
93 while test ${TMP} != ${D}; do
94 rmdir ${TMP}
95 TMP=`dirname ${TMP}`;
96 done
97}
98
99PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}"
100
101RDEPENDS_${PN}-pear = "${PN}"
102RDEPENDS_${PN}-cli = "${PN}"
103RDEPENDS_${PN}-dev = "${PN}"
104
105INITSCRIPT_PACKAGES = "${PN}-fpm"
106inherit update-rc.d
107
108FILES_${PN}-dbg =+ "${bindir}/.debug"
109FILES_${PN}-doc += "${libdir}/php/doc"
110FILES_${PN}-cli = "${bindir}/php"
111FILES_${PN}-cgi = "${bindir}/php-cgi"
112FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm"
113FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
114CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
115CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
116INITSCRIPT_NAME_${PN}-fpm = "php-fpm"
117INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60"
118FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${libdir}/php/PEAR \
119 ${libdir}/php/PEAR.php ${libdir}/php/System.php \
120 ${libdir}php/peclcmd.php ${libdir}/php/pearcmd.php \
121 ${libdir}/php/.channels ${libdir}/php/.channels/.alias \
122 ${libdir}/php/.channels\__uri.reg \
123 ${libdir}/php/.channels\pear.php.net.reg \
124 ${libdir}/php/.channels/pecl.php.net.reg \
125 ${libdir}/php/.registry ${libdir}/php/Archive/Tar.php \
126 ${libdir}/php/Console/Getopt.php ${libdir}/php/OS/Guess.php \
127 ${sysconfdir}/pear.conf"
128FILES_${PN}-dev = "${includedir}/php ${libdir}/build ${bindir}/phpize \
129 ${bindir}/php-config ${libdir}/php/.depdb \
130 ${libdir}/php/.depdblock ${libdir}/php/.filemap \
131 ${libdir}/php/.lock ${libdir}/php/test"
132FILES_${PN} = "${libdir}/php"
133FILES_${PN} += "${bindir}"
diff --git a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
new file mode 100644
index 0000000000..9b71e9d2cc
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
@@ -0,0 +1,26 @@
1From 411ec4b31fdcc524f13fe5be80fd6769b7d16a5d Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 3 Nov 2011 14:27:15 +0100
4Subject: [PATCH] php: don't use broken wrapper for mkdir
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7---
8
9Upstream-Status: Inappropriate
10
11 Makefile.global | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-)
13
14diff --git a/Makefile.global b/Makefile.global
15index 8dad0e4..abdb5d2 100644
16--- a/Makefile.global
17+++ b/Makefile.global
18@@ -1,4 +1,4 @@
19-mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
20+mkinstalldirs = mkdir -p
21 INSTALL = $(top_srcdir)/build/shtool install -c
22 INSTALL_DATA = $(INSTALL) -m 644
23
24--
251.7.2.5
26
diff --git a/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
new file mode 100644
index 0000000000..bf519d2934
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/acinclude-xml2-config.patch
@@ -0,0 +1,18 @@
1--- /orig-acinclude.m4 2007-02-20 15:03:25.000000000 +0200
2+++ /acinclude.m4 2007-02-20 15:03:24.000000000 +0200
3@@ -2359,12 +2359,9 @@
4 AC_DEFUN([PHP_SETUP_LIBXML], [
5 AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path,
6 [
7- for i in $PHP_LIBXML_DIR /usr/local /usr; do
8- if test -x "$i/bin/xml2-config"; then
9- ac_cv_php_xml2_config_path="$i/bin/xml2-config"
10- break
11- fi
12- done
13+
14+ ac_cv_php_xml2_config_path="$PHP_LIBXML_DIR/xml2-config"
15+
16 ])
17
18 if test -x "$ac_cv_php_xml2_config_path"; then
diff --git a/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch b/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch
new file mode 100644
index 0000000000..b009347a21
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/fix-fpm-cross-compile.patch
@@ -0,0 +1,38 @@
1From 0b44f16ea2f18a08eb1249db6621840527eab5e0 Mon Sep 17 00:00:00 2001
2From: Jerome Loyet <fat@php.net>
3Date: Wed, 23 May 2012 11:40:22 +0200
4Subject: [PATCH] - Fixed bug #61839 (Unable to cross-compile PHP with
5 --enable-fpm)
6
7---
8Upstream-Status: Applied
9http://git.php.net/?p=php-src.git;a=commit;h=0b44f16ea2f18a08eb1249db6621840527eab5e0
10
11 NEWS | 1 +
12 sapi/fpm/config.m4 | 4 ++++
13 2 files changed, 5 insertions(+)
14
15diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4
16index 8962810..6c860c9 100644
17--- a/sapi/fpm/config.m4
18+++ b/sapi/fpm/config.m4
19@@ -192,6 +192,8 @@ AC_DEFUN([AC_FPM_TRACE],
20 have_ptrace=no
21 have_broken_ptrace=yes
22 AC_MSG_RESULT([no])
23+ ], [
24+ AC_MSG_RESULT([skipped (cross compiling)])
25 ])
26 fi
27
28@@ -264,6 +266,8 @@ AC_DEFUN([AC_FPM_TRACE],
29 ], [
30 proc_mem_file=""
31 AC_MSG_RESULT([no])
32+ ], [
33+ AC_MSG_RESULT([skipped (cross compiling)])
34 ])
35 fi
36
37--
381.7.11.5
diff --git a/meta-oe/recipes-devtools/php/php/iconv.patch b/meta-oe/recipes-devtools/php/php/iconv.patch
new file mode 100644
index 0000000000..f3d2a16bbf
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/iconv.patch
@@ -0,0 +1,27 @@
1diff --git a/acinclude.m4 b/acinclude.m4
2index 4c28b80..d6491a1 100644
3--- a/acinclude.m4
4+++ b/acinclude.m4
5@@ -2439,7 +2439,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
6 dnl Check libc first if no path is provided in --with-iconv
7 dnl
8
9- if test "$PHP_ICONV" = "yes"; then
10+ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
11+ if test "$PHP_ICONV" != "no"; then
12 dnl Reset LIBS temporarily as it may have already been included
13 dnl -liconv in.
14 LIBS_save="$LIBS"
15diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
16index d673b0a..1fbef13 100644
17--- a/ext/iconv/config.m4
18+++ b/ext/iconv/config.m4
19@@ -15,7 +15,7 @@ if test "$PHP_ICONV" != "no"; then
20
21 if test "$iconv_avail" != "no"; then
22 if test -z "$ICONV_DIR"; then
23- for i in /usr/local /usr; do
24+ for i in $PHP_ICONV /usr/local /usr; do
25 if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
26 PHP_ICONV_PREFIX="$i"
27 break
diff --git a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
new file mode 100644
index 0000000000..3695b7bc42
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
@@ -0,0 +1,41 @@
1Index: php-5.2.11/ext/imap/config.m4
2===================================================================
3--- php-5.2.11.orig/ext/imap/config.m4 2009-12-10 12:27:52.800974533 -0700
4+++ php-5.2.11/ext/imap/config.m4 2009-12-10 12:28:33.720976583 -0700
5@@ -103,7 +103,7 @@
6 PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared)
7 AC_DEFINE(HAVE_IMAP,1,[ ])
8
9- for i in $PHP_IMAP /usr/local /usr; do
10+ for i in $PHP_IMAP $PHP_IMAP/usr /usr/local /usr; do
11 IMAP_INC_CHK()
12 el[]IMAP_INC_CHK(/include/c-client)
13 el[]IMAP_INC_CHK(/include/imap)
14@@ -192,13 +192,7 @@
15 AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
16 fi
17
18- if test -r "$IMAP_DIR/c-client/c-client.a"; then
19- ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
20- elif test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
21- ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
22- fi
23-
24- for lib in c-client4 c-client imap; do
25+ for lib in /usr/lib c-client4 c-client imap; do
26 IMAP_LIB=$lib
27 IMAP_LIB_CHK($PHP_LIBDIR)
28 IMAP_LIB_CHK(c-client)
29Index: php-5.2.11/acinclude.m4
30===================================================================
31--- php-5.2.11.orig/acinclude.m4 2009-12-10 12:37:13.134722881 -0700
32+++ php-5.2.11/acinclude.m4 2009-12-10 12:37:39.342007053 -0700
33@@ -2338,7 +2338,7 @@
34 PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl"
35 fi
36
37- for i in $PHP_OPENSSL_DIR; do
38+ for i in $PHP_OPENSSL_DIR $PHP_OPENSSL_DIR/usr; do
39 if test -r $i/include/openssl/evp.h; then
40 OPENSSL_INCDIR=$i/include
41 fi
diff --git a/meta-oe/recipes-devtools/php/php/pear-makefile.patch b/meta-oe/recipes-devtools/php/php/pear-makefile.patch
new file mode 100644
index 0000000000..1928b98966
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/pear-makefile.patch
@@ -0,0 +1,13 @@
1diff --git a/pear/Makefile.frag b/pear/Makefile.frag
2index 1f6f70e..b19a77c 100644
3--- a/pear/Makefile.frag
4+++ b/pear/Makefile.frag
5@@ -11,7 +11,7 @@ PEAR_PREFIX = -dp a${program_prefix}
6 PEAR_SUFFIX = -ds a$(program_suffix)
7
8 install-pear-installer: $(SAPI_CLI_PATH)
9- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
10+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
11
12 install-pear:
13 @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
diff --git a/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/meta-oe/recipes-devtools/php/php/phar-makefile.patch
new file mode 100644
index 0000000000..6fde251275
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/phar-makefile.patch
@@ -0,0 +1,26 @@
1diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
2index fc93d1d..9a8cd65 100755
3--- a/ext/phar/Makefile.frag
4+++ b/ext/phar/Makefile.frag
5@@ -6,19 +6,8 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
6
7 PHP_PHARCMD_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 -d 'safe_mode=0'
8 PHP_PHARCMD_EXECUTABLE = ` \
9- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
10- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
11- if test "x$(PHP_MODULES)" != "x"; then \
12- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
13- for i in bz2 zlib phar; do \
14- if test -f "$(top_builddir)/modules/$$i.la"; then \
15- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
16- fi; \
17- done; \
18- fi; \
19- else \
20- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
21- fi;`
22+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
23+
24 PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
25
26 $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
diff --git a/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf b/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
new file mode 100644
index 0000000000..77cdd82a74
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/php-fpm-apache.conf
@@ -0,0 +1,6 @@
1# Taken from http://wiki.apache.org/httpd/PHP-FPM
2
3LoadModule proxy_module lib/apache2/modules/mod_proxy.so
4LoadModule proxy_fcgi_module lib/apache2/modules/mod_proxy_fcgi.so
5
6ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/share/apache2/htdocs/
diff --git a/meta-oe/recipes-devtools/php/php/php-fpm.conf b/meta-oe/recipes-devtools/php/php/php-fpm.conf
new file mode 100644
index 0000000000..21e3dfb5c1
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/php-fpm.conf
@@ -0,0 +1,510 @@
1;;;;;;;;;;;;;;;;;;;;;
2; FPM Configuration ;
3;;;;;;;;;;;;;;;;;;;;;
4
5; All relative paths in this configuration file are relative to PHP's install
6; prefix (/usr). This prefix can be dynamicaly changed by using the
7; '-p' argument from the command line.
8
9; Include one or more files. If glob(3) exists, it is used to include a bunch of
10; files from a glob(3) pattern. This directive can be used everywhere in the
11; file.
12; Relative path can also be used. They will be prefixed by:
13; - the global prefix if it's been set (-p arguement)
14; - /usr otherwise
15;include=etc/fpm.d/*.conf
16
17;;;;;;;;;;;;;;;;;;
18; Global Options ;
19;;;;;;;;;;;;;;;;;;
20
21[global]
22; Pid file
23; Note: the default prefix is /var
24; Default Value: none
25;pid = run/php-fpm.pid
26
27; Error log file
28; If it's set to "syslog", log is sent to syslogd instead of being written
29; in a local file.
30; Note: the default prefix is /var
31; Default Value: log/php-fpm.log
32;error_log = log/php-fpm.log
33
34; syslog_facility is used to specify what type of program is logging the
35; message. This lets syslogd specify that messages from different facilities
36; will be handled differently.
37; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
38; Default Value: daemon
39;syslog.facility = daemon
40
41; syslog_ident is prepended to every message. If you have multiple FPM
42; instances running on the same server, you can change the default value
43; which must suit common needs.
44; Default Value: php-fpm
45;syslog.ident = php-fpm
46
47; Log level
48; Possible Values: alert, error, warning, notice, debug
49; Default Value: notice
50;log_level = notice
51
52; If this number of child processes exit with SIGSEGV or SIGBUS within the time
53; interval set by emergency_restart_interval then FPM will restart. A value
54; of '0' means 'Off'.
55; Default Value: 0
56;emergency_restart_threshold = 0
57
58; Interval of time used by emergency_restart_interval to determine when
59; a graceful restart will be initiated. This can be useful to work around
60; accidental corruptions in an accelerator's shared memory.
61; Available Units: s(econds), m(inutes), h(ours), or d(ays)
62; Default Unit: seconds
63; Default Value: 0
64;emergency_restart_interval = 0
65
66; Time limit for child processes to wait for a reaction on signals from master.
67; Available units: s(econds), m(inutes), h(ours), or d(ays)
68; Default Unit: seconds
69; Default Value: 0
70;process_control_timeout = 0
71
72; The maximum number of processes FPM will fork. This has been design to control
73; the global number of processes when using dynamic PM within a lot of pools.
74; Use it with caution.
75; Note: A value of 0 indicates no limit
76; Default Value: 0
77; process.max = 128
78
79; Specify the nice(2) priority to apply to the master process (only if set)
80; The value can vary from -19 (highest priority) to 20 (lower priority)
81; Note: - It will only work if the FPM master process is launched as root
82; - The pool process will inherit the master process priority
83; unless it specified otherwise
84; Default Value: no set
85; process.priority = -19
86
87; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
88; Default Value: yes
89;daemonize = yes
90
91; Set open file descriptor rlimit for the master process.
92; Default Value: system defined value
93;rlimit_files = 1024
94
95; Set max core size rlimit for the master process.
96; Possible Values: 'unlimited' or an integer greater or equal to 0
97; Default Value: system defined value
98;rlimit_core = 0
99
100; Specify the event mechanism FPM will use. The following is available:
101; - select (any POSIX os)
102; - poll (any POSIX os)
103; - epoll (linux >= 2.5.44)
104; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)
105; - /dev/poll (Solaris >= 7)
106; - port (Solaris >= 10)
107; Default Value: not set (auto detection)
108; events.mechanism = epoll
109
110;;;;;;;;;;;;;;;;;;;;
111; Pool Definitions ;
112;;;;;;;;;;;;;;;;;;;;
113
114; Multiple pools of child processes may be started with different listening
115; ports and different management options. The name of the pool will be
116; used in logs and stats. There is no limitation on the number of pools which
117; FPM can handle. Your system will tell you anyway :)
118
119; Start a new pool named 'www'.
120; the variable $pool can we used in any directive and will be replaced by the
121; pool name ('www' here)
122[www]
123
124; Per pool prefix
125; It only applies on the following directives:
126; - 'slowlog'
127; - 'listen' (unixsocket)
128; - 'chroot'
129; - 'chdir'
130; - 'php_values'
131; - 'php_admin_values'
132; When not set, the global prefix (or /usr) applies instead.
133; Note: This directive can also be relative to the global prefix.
134; Default Value: none
135;prefix = /path/to/pools/$pool
136
137; Unix user/group of processes
138; Note: The user is mandatory. If the group is not set, the default user's group
139; will be used.
140user = nobody
141;group = nobody
142
143; The address on which to accept FastCGI requests.
144; Valid syntaxes are:
145; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
146; a specific port;
147; 'port' - to listen on a TCP socket to all addresses on a
148; specific port;
149; '/path/to/unix/socket' - to listen on a unix socket.
150; Note: This value is mandatory.
151listen = 127.0.0.1:9000
152
153; Set listen(2) backlog. A value of '-1' means unlimited.
154; Default Value: 128 (-1 on FreeBSD and OpenBSD)
155;listen.backlog = -1
156
157; Set permissions for unix socket, if one is used. In Linux, read/write
158; permissions must be set in order to allow connections from a web server. Many
159; BSD-derived systems allow connections regardless of permissions.
160; Default Values: user and group are set as the running user
161; mode is set to 0666
162;listen.owner = nobody
163;listen.group = nobody
164;listen.mode = 0666
165
166; List of ipv4 addresses of FastCGI clients which are allowed to connect.
167; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
168; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
169; must be separated by a comma. If this value is left blank, connections will be
170; accepted from any ip address.
171; Default Value: any
172;listen.allowed_clients = 127.0.0.1
173
174; Specify the nice(2) priority to apply to the pool processes (only if set)
175; The value can vary from -19 (highest priority) to 20 (lower priority)
176; Note: - It will only work if the FPM master process is launched as root
177; - The pool processes will inherit the master process priority
178; unless it specified otherwise
179; Default Value: no set
180; priority = -19
181
182; Choose how the process manager will control the number of child processes.
183; Possible Values:
184; static - a fixed number (pm.max_children) of child processes;
185; dynamic - the number of child processes are set dynamically based on the
186; following directives. With this process management, there will be
187; always at least 1 children.
188; pm.max_children - the maximum number of children that can
189; be alive at the same time.
190; pm.start_servers - the number of children created on startup.
191; pm.min_spare_servers - the minimum number of children in 'idle'
192; state (waiting to process). If the number
193; of 'idle' processes is less than this
194; number then some children will be created.
195; pm.max_spare_servers - the maximum number of children in 'idle'
196; state (waiting to process). If the number
197; of 'idle' processes is greater than this
198; number then some children will be killed.
199; ondemand - no children are created at startup. Children will be forked when
200; new requests will connect. The following parameter are used:
201; pm.max_children - the maximum number of children that
202; can be alive at the same time.
203; pm.process_idle_timeout - The number of seconds after which
204; an idle process will be killed.
205; Note: This value is mandatory.
206pm = dynamic
207
208; The number of child processes to be created when pm is set to 'static' and the
209; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
210; This value sets the limit on the number of simultaneous requests that will be
211; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
212; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
213; CGI. The below defaults are based on a server without much resources. Don't
214; forget to tweak pm.* to fit your needs.
215; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
216; Note: This value is mandatory.
217pm.max_children = 5
218
219; The number of child processes created on startup.
220; Note: Used only when pm is set to 'dynamic'
221; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
222pm.start_servers = 2
223
224; The desired minimum number of idle server processes.
225; Note: Used only when pm is set to 'dynamic'
226; Note: Mandatory when pm is set to 'dynamic'
227pm.min_spare_servers = 1
228
229; The desired maximum number of idle server processes.
230; Note: Used only when pm is set to 'dynamic'
231; Note: Mandatory when pm is set to 'dynamic'
232pm.max_spare_servers = 3
233
234; The number of seconds after which an idle process will be killed.
235; Note: Used only when pm is set to 'ondemand'
236; Default Value: 10s
237;pm.process_idle_timeout = 10s;
238
239; The number of requests each child process should execute before respawning.
240; This can be useful to work around memory leaks in 3rd party libraries. For
241; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
242; Default Value: 0
243;pm.max_requests = 500
244
245; The URI to view the FPM status page. If this value is not set, no URI will be
246; recognized as a status page. It shows the following informations:
247; pool - the name of the pool;
248; process manager - static, dynamic or ondemand;
249; start time - the date and time FPM has started;
250; start since - number of seconds since FPM has started;
251; accepted conn - the number of request accepted by the pool;
252; listen queue - the number of request in the queue of pending
253; connections (see backlog in listen(2));
254; max listen queue - the maximum number of requests in the queue
255; of pending connections since FPM has started;
256; listen queue len - the size of the socket queue of pending connections;
257; idle processes - the number of idle processes;
258; active processes - the number of active processes;
259; total processes - the number of idle + active processes;
260; max active processes - the maximum number of active processes since FPM
261; has started;
262; max children reached - number of times, the process limit has been reached,
263; when pm tries to start more children (works only for
264; pm 'dynamic' and 'ondemand');
265; Value are updated in real time.
266; Example output:
267; pool: www
268; process manager: static
269; start time: 01/Jul/2011:17:53:49 +0200
270; start since: 62636
271; accepted conn: 190460
272; listen queue: 0
273; max listen queue: 1
274; listen queue len: 42
275; idle processes: 4
276; active processes: 11
277; total processes: 15
278; max active processes: 12
279; max children reached: 0
280;
281; By default the status page output is formatted as text/plain. Passing either
282; 'html', 'xml' or 'json' in the query string will return the corresponding
283; output syntax. Example:
284; http://www.foo.bar/status
285; http://www.foo.bar/status?json
286; http://www.foo.bar/status?html
287; http://www.foo.bar/status?xml
288;
289; By default the status page only outputs short status. Passing 'full' in the
290; query string will also return status for each pool process.
291; Example:
292; http://www.foo.bar/status?full
293; http://www.foo.bar/status?json&full
294; http://www.foo.bar/status?html&full
295; http://www.foo.bar/status?xml&full
296; The Full status returns for each process:
297; pid - the PID of the process;
298; state - the state of the process (Idle, Running, ...);
299; start time - the date and time the process has started;
300; start since - the number of seconds since the process has started;
301; requests - the number of requests the process has served;
302; request duration - the duration in µs of the requests;
303; request method - the request method (GET, POST, ...);
304; request URI - the request URI with the query string;
305; content length - the content length of the request (only with POST);
306; user - the user (PHP_AUTH_USER) (or '-' if not set);
307; script - the main script called (or '-' if not set);
308; last request cpu - the %cpu the last request consumed
309; it's always 0 if the process is not in Idle state
310; because CPU calculation is done when the request
311; processing has terminated;
312; last request memory - the max amount of memory the last request consumed
313; it's always 0 if the process is not in Idle state
314; because memory calculation is done when the request
315; processing has terminated;
316; If the process is in Idle state, then informations are related to the
317; last request the process has served. Otherwise informations are related to
318; the current request being served.
319; Example output:
320; ************************
321; pid: 31330
322; state: Running
323; start time: 01/Jul/2011:17:53:49 +0200
324; start since: 63087
325; requests: 12808
326; request duration: 1250261
327; request method: GET
328; request URI: /test_mem.php?N=10000
329; content length: 0
330; user: -
331; script: /home/fat/web/docs/php/test_mem.php
332; last request cpu: 0.00
333; last request memory: 0
334;
335; Note: There is a real-time FPM status monitoring sample web page available
336; It's available in: /usr/share/fpm/status.html
337;
338; Note: The value must start with a leading slash (/). The value can be
339; anything, but it may not be a good idea to use the .php extension or it
340; may conflict with a real PHP file.
341; Default Value: not set
342;pm.status_path = /status
343
344; The ping URI to call the monitoring page of FPM. If this value is not set, no
345; URI will be recognized as a ping page. This could be used to test from outside
346; that FPM is alive and responding, or to
347; - create a graph of FPM availability (rrd or such);
348; - remove a server from a group if it is not responding (load balancing);
349; - trigger alerts for the operating team (24/7).
350; Note: The value must start with a leading slash (/). The value can be
351; anything, but it may not be a good idea to use the .php extension or it
352; may conflict with a real PHP file.
353; Default Value: not set
354;ping.path = /ping
355
356; This directive may be used to customize the response of a ping request. The
357; response is formatted as text/plain with a 200 response code.
358; Default Value: pong
359;ping.response = pong
360
361; The access log file
362; Default: not set
363;access.log = log/$pool.access.log
364
365; The access log format.
366; The following syntax is allowed
367; %%: the '%' character
368; %C: %CPU used by the request
369; it can accept the following format:
370; - %{user}C for user CPU only
371; - %{system}C for system CPU only
372; - %{total}C for user + system CPU (default)
373; %d: time taken to serve the request
374; it can accept the following format:
375; - %{seconds}d (default)
376; - %{miliseconds}d
377; - %{mili}d
378; - %{microseconds}d
379; - %{micro}d
380; %e: an environment variable (same as $_ENV or $_SERVER)
381; it must be associated with embraces to specify the name of the env
382; variable. Some exemples:
383; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
384; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
385; %f: script filename
386; %l: content-length of the request (for POST request only)
387; %m: request method
388; %M: peak of memory allocated by PHP
389; it can accept the following format:
390; - %{bytes}M (default)
391; - %{kilobytes}M
392; - %{kilo}M
393; - %{megabytes}M
394; - %{mega}M
395; %n: pool name
396; %o: ouput header
397; it must be associated with embraces to specify the name of the header:
398; - %{Content-Type}o
399; - %{X-Powered-By}o
400; - %{Transfert-Encoding}o
401; - ....
402; %p: PID of the child that serviced the request
403; %P: PID of the parent of the child that serviced the request
404; %q: the query string
405; %Q: the '?' character if query string exists
406; %r: the request URI (without the query string, see %q and %Q)
407; %R: remote IP address
408; %s: status (response code)
409; %t: server time the request was received
410; it can accept a strftime(3) format:
411; %d/%b/%Y:%H:%M:%S %z (default)
412; %T: time the log has been written (the request has finished)
413; it can accept a strftime(3) format:
414; %d/%b/%Y:%H:%M:%S %z (default)
415; %u: remote user
416;
417; Default: "%R - %u %t \"%m %r\" %s"
418;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
419
420; The log file for slow requests
421; Default Value: not set
422; Note: slowlog is mandatory if request_slowlog_timeout is set
423;slowlog = log/$pool.log.slow
424
425; The timeout for serving a single request after which a PHP backtrace will be
426; dumped to the 'slowlog' file. A value of '0s' means 'off'.
427; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
428; Default Value: 0
429;request_slowlog_timeout = 0
430
431; The timeout for serving a single request after which the worker process will
432; be killed. This option should be used when the 'max_execution_time' ini option
433; does not stop script execution for some reason. A value of '0' means 'off'.
434; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
435; Default Value: 0
436;request_terminate_timeout = 0
437
438; Set open file descriptor rlimit.
439; Default Value: system defined value
440;rlimit_files = 1024
441
442; Set max core size rlimit.
443; Possible Values: 'unlimited' or an integer greater or equal to 0
444; Default Value: system defined value
445;rlimit_core = 0
446
447; Chroot to this directory at the start. This value must be defined as an
448; absolute path. When this value is not set, chroot is not used.
449; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
450; of its subdirectories. If the pool prefix is not set, the global prefix
451; will be used instead.
452; Note: chrooting is a great security feature and should be used whenever
453; possible. However, all PHP paths will be relative to the chroot
454; (error_log, sessions.save_path, ...).
455; Default Value: not set
456;chroot =
457
458; Chdir to this directory at the start.
459; Note: relative path can be used.
460; Default Value: current directory or / when chroot
461;chdir = /var/www
462
463; Redirect worker stdout and stderr into main error log. If not set, stdout and
464; stderr will be redirected to /dev/null according to FastCGI specs.
465; Note: on highloaded environement, this can cause some delay in the page
466; process time (several ms).
467; Default Value: no
468;catch_workers_output = yes
469
470; Limits the extensions of the main script FPM will allow to parse. This can
471; prevent configuration mistakes on the web server side. You should only limit
472; FPM to .php extensions to prevent malicious users to use other extensions to
473; exectute php code.
474; Note: set an empty value to allow all extensions.
475; Default Value: .php
476;security.limit_extensions = .php .php3 .php4 .php5
477
478; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
479; the current environment.
480; Default Value: clean env
481;env[HOSTNAME] = $HOSTNAME
482;env[PATH] = /usr/local/bin:/usr/bin:/bin
483;env[TMP] = /tmp
484;env[TMPDIR] = /tmp
485;env[TEMP] = /tmp
486
487; Additional php.ini defines, specific to this pool of workers. These settings
488; overwrite the values previously defined in the php.ini. The directives are the
489; same as the PHP SAPI:
490; php_value/php_flag - you can set classic ini defines which can
491; be overwritten from PHP call 'ini_set'.
492; php_admin_value/php_admin_flag - these directives won't be overwritten by
493; PHP call 'ini_set'
494; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
495
496; Defining 'extension' will load the corresponding shared extension from
497; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
498; overwrite previously defined php.ini values, but will append the new value
499; instead.
500
501; Note: path INI options can be relative and will be expanded with the prefix
502; (pool, global or /usr)
503
504; Default Value: nothing is defined by default except the values in php.ini and
505; specified at startup with the -d argument
506;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
507;php_flag[display_errors] = off
508;php_admin_value[error_log] = /var/log/fpm-php.www.log
509;php_admin_flag[log_errors] = on
510;php_admin_value[memory_limit] = 32M
diff --git a/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/meta-oe/recipes-devtools/php/php/php_exec_native.patch
new file mode 100644
index 0000000000..31be1b70b7
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/php_exec_native.patch
@@ -0,0 +1,19 @@
1---
2 sapi/cli/config.m4 | 2 +-
3 1 file changed, 1 insertion(+), 1 deletion(-)
4
5--- php-5.4.14.orig/sapi/cli/config.m4
6+++ php-5.4.14/sapi/cli/config.m4
7@@ -34,11 +34,11 @@ if test "$PHP_CLI" != "no"; then
8 BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)"
9 ;;
10 esac
11
12 dnl Set executable for tests
13- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
14+ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
15 PHP_SUBST(PHP_EXECUTABLE)
16
17 dnl Expose to Makefile
18 PHP_SUBST(SAPI_CLI_PATH)
19 PHP_SUBST(BUILD_CLI)
diff --git a/meta-oe/recipes-devtools/php/php_5.4.14.bb b/meta-oe/recipes-devtools/php/php_5.4.14.bb
new file mode 100644
index 0000000000..4e0efb1ede
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php_5.4.14.bb
@@ -0,0 +1,21 @@
1require php.inc
2
3LIC_FILES_CHKSUM = "file://LICENSE;md5=cb564efdf78cce8ea6e4b5a4f7c05d97"
4
5PR = "${INC_PR}.0"
6
7SRC_URI += "file://acinclude-xml2-config.patch \
8 file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch"
9
10SRC_URI_append_pn-php += "file://iconv.patch \
11 file://imap-fix-autofoo.patch \
12 file://pear-makefile.patch \
13 file://phar-makefile.patch \
14 file://php_exec_native.patch \
15 file://fix-fpm-cross-compile.patch \
16 file://php-fpm.conf \
17 file://php-fpm-apache.conf \
18"
19
20SRC_URI[md5sum] = "cfdc044be2c582991a1fe0967898fa38"
21SRC_URI[sha256sum] = "5450f3843bc651eb3fb00601f0cce1930aaaf65c7c966c02fe4a46f9c81be20a"
diff --git a/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
new file mode 100644
index 0000000000..4d339753a9
--- /dev/null
+++ b/meta-oe/recipes-devtools/pm-qa/pm-qa_git.bb
@@ -0,0 +1,65 @@
1DESCRIPTION = "Utilities for testing Power Management"
2HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/PmQa"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6
7PV = "0.4.8"
8
9BRANCH ?= "master"
10
11# Corresponds to tag pm-qa-v0.4.8
12SRCREV = "6a8c2ae8a6035b15a7fbe61b6ca56841e056fa37"
13
14SRC_URI = "git://git.linaro.org/tools/pm-qa.git;protocol=git;branch=${BRANCH}"
15
16S = "${WORKDIR}/git"
17
18CFLAGS += "-pthread"
19
20do_compile () {
21 # Find all the .c files in this project and build them.
22 for x in `find . -name "*.c"`
23 do
24 util=`echo ${x} | sed s/.c$//`
25 oe_runmake ${util}
26 done
27}
28
29do_install () {
30 install -d ${D}${bindir}
31 install -d ${D}${libdir}/${PN}
32
33 # Install the compiled binaries that were built in the previous step
34 for x in `find . -name "*.c"`
35 do
36 util=`echo ${x} | sed s/.c$//`
37 util_basename=`basename ${util}`
38 install -m 0755 ${util} ${D}${bindir}/${util_basename}
39 done
40
41 # Install the helper scripts in a subdirectory of $libdir
42 for script in `find . -name "*.sh" | grep include`
43 do
44 # Remove hardcoded relative paths
45 sed -i -e 's#..\/utils\/##' ${script}
46
47 script_basename=`basename ${script}`
48 install -m 0755 $script ${D}${libdir}/${PN}/${script_basename}
49 done
50
51 # Install the shell scripts NOT in the $libdir directory since those
52 # will be installed elsewhere
53 for script in `find . -name "*.sh" | grep -v include`
54 do
55 # if the script includes any helper scripts from the $libdir
56 # directory then change the source path to the absolute path
57 # to reflect the install location of the helper scripts.
58 sed -i -e "s#source ../include#source ${libdir}/${PN}#g" ${script}
59 # Remove hardcoded relative paths
60 sed -i -e 's#..\/utils\/##' ${script}
61
62 script_basename=`basename ${script}`
63 install -m 0755 $script ${D}${bindir}/${script_basename}
64 done
65}
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb
new file mode 100644
index 0000000000..c4ed5e64b7
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_2.4.1.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
2DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
3efficient yet extensible format. Google uses Protocol Buffers for almost \
4all of its internal RPC protocols and file formats."
5HOMEPAGE = "http://code.google.com/p/protobuf/"
6SECTION = "console/tools"
7LICENSE = "BSD-3-Clause"
8
9LIC_FILES_CHKSUM = "file://COPYING.txt;md5=af6809583bfde9a31595a58bb4a24514"
10
11SRC_URI = "http://protobuf.googlecode.com/files/protobuf-${PV}.tar.gz"
12
13SRC_URI[md5sum] = "dc84e9912ea768baa1976cb7bbcea7b5"
14SRC_URI[sha256sum] = "eac6969b617f397247e805267da2b0db3ff9e5a9163b123503a192fbb5776567"
15
16EXTRA_OECONF += " --with-protoc=echo"
17
18inherit autotools
19
20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/python/pyrtm_0.2.bb b/meta-oe/recipes-devtools/python/pyrtm_0.2.bb
new file mode 100644
index 0000000000..ee7b6d0180
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/pyrtm_0.2.bb
@@ -0,0 +1,12 @@
1SUMMARY = "Python interface for Remember The Milk API"
2AUTHOR = "Sridhar Ratnakumar / srid"
3HOMEPAGE = "http://pypi.python.org/pypi/pyrtm"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
6DEPENDS = "python-native"
7
8inherit distutils
9
10SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${P}.tar.gz"
11SRC_URI[md5sum] = "34423f39caf7df8a9db8e243be9cf1a0"
12SRC_URI[sha256sum] = "d9d46d096a38cb692b55f4ee9f364d54348298e9497b11c1ef057539b5de1567"
diff --git a/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb b/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb
new file mode 100644
index 0000000000..ac775c4c33
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-autobahn_0.8.6.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "AutobahnPython provides a WebSocket (RFC6455, Hybi-10 to -17, Hixie-76) framework for creating WebSocket-based clients and servers. \
2AutobahnPython also includes an implementation of WAMP (The WebSockets Application Messaging Protocol), a light-weight, \
3asynchronous RPC/PubSub over JSON/WebSocket protocol."
4HOMEPAGE = "http://autobahn.ws/python"
5SECTION = "console/network"
6
7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = " file://autobahn/__init__.py;beginline=1;endline=17;md5=1fdeccf6e5b70cda64cc1345597c18e3"
9
10SRC_URI = "https://pypi.python.org/packages/source/a/autobahn/autobahn-${PV}.zip"
11SRC_URI[md5sum] = "160429e7fb043940e79aa7f4ebbab57a"
12SRC_URI[sha256sum] = "94ae5c6f37f9fe7c9d3f12c170fcc273afed4104a1c5508b26d6014bb9e6373e"
13
14S = "${WORKDIR}/autobahn-${PV}"
15
16inherit setuptools
17
18RDEPENDS_${PN} = "python python-pprint python-twisted-protocols python-netserver python-twisted-web"
19
diff --git a/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb b/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb
new file mode 100644
index 0000000000..e015d0b023
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-cheetah_2.4.4.bb
@@ -0,0 +1,21 @@
1SUMMARY = "Python template engine and code generation tool"
2SECTION = "devel/python"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=aff1107514aa6aae948f9fe71fdc393b"
5
6SRCNAME = "Cheetah"
7
8PR = "r3"
9
10SRC_URI = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${PV}.tar.gz"
11S = "${WORKDIR}/${SRCNAME}-${PV}"
12
13inherit setuptools
14
15RDEPENDS_${PN} = "python-pickle python-pprint"
16RDEPENDS_${PN}_class-native = ""
17
18BBCLASSEXTEND = "native nativesdk"
19
20SRC_URI[md5sum] = "853917116e731afbc8c8a43c37e6ddba"
21SRC_URI[sha256sum] = "be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550"
diff --git a/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb
new file mode 100644
index 0000000000..120a8a7927
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-cloudeebus_0.6.0.bb
@@ -0,0 +1,35 @@
1DESCRIPTION = "A component which enables calling DBus methods and registering on DBus signals from Javascript"
2HOMEPAGE = "https://github.com/01org/cloudeebus"
3SECTION = "devel/python"
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
6
7SRC_URI = "git://github.com/01org/cloudeebus.git;protocol=http;branch=master "
8SRCREV = "b5cc957eeabfe98cb996baf8e5a0ac848993c3d4"
9
10S = "${WORKDIR}/git"
11
12inherit distutils
13
14DEPENDS_${PN} = "python python-distribute"
15RDEPENDS_${PN} = "python python-dbus python-json python-argparse python-pygobject python-autobahn python-twisted python-subprocess"
16
17do_install_prepend() {
18 install -d ${D}${PYTHON_SITEPACKAGES_DIR}/${PN}
19}
20
21DISTUTILS_INSTALL_ARGS = "--root=${D} \
22 --single-version-externally-managed \
23 --prefix=${prefix} \
24 --install-lib=${PYTHON_SITEPACKAGES_DIR} \
25 --install-data=${datadir}"
26
27do_install_append() {
28 distutils_do_install
29 install -d ${D}${datadir}/doc/${BPN}/
30 install -m 0644 ${S}/README.md ${D}${datadir}/doc/${BPN}/
31}
32
33FILES_${PN} += "${datadir}/cloudeebus"
34FILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.cloudeebus.conf"
35
diff --git a/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch b/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch
new file mode 100644
index 0000000000..9b9dd460bf
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-cython-0.15.1/0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch
@@ -0,0 +1,27 @@
1From bfed128dfe9551a3a40b1ac4269f18ecfeac80a9 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 1 Oct 2011 11:46:30 +0200
4Subject: [PATCH] Don't append docs to _Extension.extension.__doc__
5
6* here it fails with TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' in setup.py
7
8Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
9---
10 Cython/Distutils/extension.py | 1 -
11 1 files changed, 0 insertions(+), 1 deletions(-)
12
13diff --git a/Cython/Distutils/extension.py b/Cython/Distutils/extension.py
14index a5a6638..e76c1e7 100644
15--- a/Cython/Distutils/extension.py
16+++ b/Cython/Distutils/extension.py
17@@ -16,7 +16,6 @@ except ImportError:
18 warnings = None
19
20 class Extension(_Extension.Extension):
21- _Extension.Extension.__doc__ + \
22 """pyrex_include_dirs : [string]
23 list of directories to search for Pyrex header files (.pxd) (in
24 Unix form for portability)
25--
261.7.6.1
27
diff --git a/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb b/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb
new file mode 100644
index 0000000000..0bf057aa82
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-cython_0.15.1.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \
2It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \
3and the messy, low-level world of C."
4SECTION = "devel/python"
5LICENSE = "Apache-2.0"
6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
7SRCNAME = "Cython"
8BBCLASSEXTEND = "native"
9PR = "r3"
10
11SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz \
12 file://0001-Don-t-append-docs-to-_Extension.extension.__doc__.patch \
13"
14S = "${WORKDIR}/${SRCNAME}-${PV}"
15
16SRC_URI[md5sum] = "171021b3845c9ca8bd6d8185b3cde664"
17SRC_URI[sha256sum] = "248123f2f02f2701a28d9452132ac835533b396a273cda9d361cb65c26067edc"
18
19inherit distutils
diff --git a/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb b/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb
new file mode 100644
index 0000000000..784f560603
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-dateutil_1.5.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Extensions to the standard Python date/time support"
2HOMEPAGE = "http://labix.org/python-dateutil"
3SECTION = "devel/python"
4LICENSE = "PSF"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6"
6SRCNAME = "${PN}"
7
8SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz"
9S = "${WORKDIR}/${SRCNAME}-${PV}"
10
11inherit setuptools
12
13PACKAGES =+ "${PN}-zoneinfo"
14FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
15
16RDEPENDS_${PN} = "\
17 python-core \
18 python-datetime \
19"
20
21SRC_URI[md5sum] = "35f3732db3f2cc4afdc68a8533b60a52"
22SRC_URI[sha256sum] = "c08aca7d85f8f8eed61e83b3423b829262c596a9a78f7ca3de0bcee2217d0e3b"
diff --git a/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb b/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb
new file mode 100644
index 0000000000..4ec0668575
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-epydoc_3.0.1.bb
@@ -0,0 +1,18 @@
1DESCRIPTION = "Epydoc is a tool for generating API documentation for Python modules, based on their docstrings"
2SECTION = "devel/python"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=011c0d78eb6054d731c879132d7313f0"
5HOMEPAGE = "http://epydoc.sourceforge.net/"
6SRCNAME = "epydoc"
7DEPENDS += "python"
8DEPENDS_virtclass-native += "python-native"
9
10SRC_URI = "http://downloads.sourceforge.net/project/${SRCNAME}/${SRCNAME}/${PV}/${SRCNAME}-${PV}.tar.gz"
11SRC_URI[md5sum] = "cdd6f6c76dd8bab5e653a343a0544294"
12SRC_URI[sha256sum] = "d4e5c8d90937d01b05170f592c1fa9b29e9ed0498dfe7f0eb2a3af61725b6ad1"
13
14S = "${WORKDIR}/${SRCNAME}-${PV}"
15
16inherit distutils
17
18BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb b/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb
new file mode 100644
index 0000000000..92d55682f5
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-feedparser_5.1.3.bb
@@ -0,0 +1,14 @@
1SUMMARY = "Python Atom and RSS feed parser"
2HOMEPAGE = "http://code.google.com/p/feedparser"
3SECTION = "devel/python"
4LICENSE = "BSD-2-Clause"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=f5fbe7f8b71b4019eca5ac5f900fd8ad"
6
7SRC_URI = "http://feedparser.googlecode.com/files/feedparser-${PV}.tar.bz2"
8SRC_URI[md5sum] = "6fb6372a1dc2f56d4d79d740b8f49f25"
9SRC_URI[sha256sum] = "7f6507d400d07edfd1ea8205da36808009b0c539f5b8a6e0ab54337b955e6dc3"
10
11S = "${WORKDIR}/feedparser-${PV}"
12
13inherit setuptools
14
diff --git a/meta-oe/recipes-devtools/python/python-futures_2.1.5.bb b/meta-oe/recipes-devtools/python/python-futures_2.1.5.bb
new file mode 100644
index 0000000000..817a9179a2
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-futures_2.1.5.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "The concurrent.futures module provides a high-level interface for asynchronously executing callables."
2SECTION = "devel/python"
3LICENSE = "BSD"
4LIC_FILES_CHKSUM = "file://PKG-INFO;md5=e96d16356742ac95c07be571717e51a3"
5HOMEPAGE = "http://code.google.com/p/pythonfutures"
6DEPENDS = "python"
7
8SRC_URI = "https://pypi.python.org/packages/source/f/futures/futures-${PV}.tar.gz"
9SRC_URI[md5sum] = "2fc924890ccd30a5fe676fa9bbcf0ab8"
10SRC_URI[sha256sum] = "8f5a627d3aee94cc1859a942965fdebb714be8cdd2366d819cb8fb9b7cc628a6"
11
12S = "${WORKDIR}/futures-${PV}"
13
14inherit setuptools
diff --git a/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb b/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb
new file mode 100644
index 0000000000..ea602779be
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-gdata_1.2.4.bb
@@ -0,0 +1,18 @@
1SUMMARY = "Google Data APIs Python Client Library"
2SECTION = "devel/python"
3LICENSE = "Apache-2.0"
4LIC_FILES_CHKSUM = "file://README.txt;md5=473bd4dff0ddca1f958244b2dc7a162c"
5HOMEPAGE = "http://code.google.com/p/gdata-python-client/"
6
7inherit distutils
8
9SRC_URI = "http://gdata-python-client.googlecode.com/files/gdata.py-${PV}.tar.gz"
10SRC_URI[md5sum] = "521f33a377d64f8a6505ba119415b787"
11SRC_URI[sha256sum] = "fc5ddb8f76b17abd728721a0e0177ea35f55a70106f44dc9010b22eceb06abde"
12
13S = "${WORKDIR}/gdata.py-${PV}"
14
15FILES_${PN} += "${datadir}"
16
17RDEPENDS_${PN} = "python-elementtree"
18
diff --git a/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb b/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb
new file mode 100644
index 0000000000..3fd3e7c536
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-gevent_0.13.8.bb
@@ -0,0 +1,19 @@
1SUMMARY = "A coroutine-based Python networking library"
2DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \
3a high-level synchronous API on top of the libevent event loop."
4HOMEPAGE = "http://www.gevent.org"
5SECTION = "devel/python"
6LICENSE = "MIT & BSD"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2 \
8 file://LICENSE.pyevent;md5=718070c63de243053e2c616268b00fdd"
9DEPENDS += "python-greenlet libevent"
10RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re"
11
12SRC_URI = "http://pypi.python.org/packages/source/g/gevent/gevent-${PV}.tar.gz"
13SRC_URI[md5sum] = "ca9dcaa7880762d8ebbc266b11252960"
14SRC_URI[sha256sum] = "54b8d26300ce408c0916a3e63ef6cd3e6aca76230833558deb7de15196ed955e"
15
16S = "${WORKDIR}/gevent-${PV}"
17
18inherit setuptools
19
diff --git a/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb b/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb
new file mode 100644
index 0000000000..a6db8ab7b3
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-greenlet_0.4.1.bb
@@ -0,0 +1,14 @@
1SUMMARY = "Python lightweight in-process concurrent programming"
2HOMEPAGE = "http://pypi.python.org/pypi/greenlet"
3SECTION = "devel/python"
4LICENSE = "MIT & PSF"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \
6 file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a"
7SRC_URI = "http://pypi.python.org/packages/source/g/greenlet/greenlet-${PV}.zip"
8SRC_URI[md5sum] = "c2deda75bdda59c38cae12a77cc53adc"
9SRC_URI[sha256sum] = "ea671592f8460541286b133ed46a6cf5311a6b75051cc31b53e2bc38992b775a"
10
11S = "${WORKDIR}/greenlet-${PV}"
12
13inherit distutils
14
diff --git a/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch b/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch
new file mode 100644
index 0000000000..a703d342e9
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-ldap/setup.cfg.patch
@@ -0,0 +1,14 @@
1--- python-ldap-2.3.9/setup.cfg.orig 2009-08-13 11:07:23.000000000 +0200
2+++ python-ldap-2.3.9/setup.cfg 2009-08-13 11:07:37.000000000 +0200
3@@ -1,9 +1,9 @@
4 [_ldap]
5 extra_objects =
6 extra_compile_args =
7-libs = ldap_r lber sasl2 ssl crypto
8+libs = ldap_r lber ssl crypto
9 library_dirs = /opt/openldap-RE24/lib
10-include_dirs = /opt/openldap-RE24/include /usr/include/sasl
11+include_dirs = /opt/openldap-RE24/include
12
13 [egg_info]
14 tag_build =
diff --git a/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb b/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb
new file mode 100644
index 0000000000..dfe1522fdc
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-ldap_2.3.9.bb
@@ -0,0 +1,13 @@
1DESCRIPTION = "LDAP client API for Python, C wrapper module around OpenLDAP 2.x with an object-oriented API"
2SECTION = "devel/python"
3LICENSE = "Python-style"
4LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555"
5HOMEPAGE = "http://www.python-ldap.org/"
6DEPENDS = "python openldap"
7
8SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${PN}-${PV}.tar.gz \
9 file://setup.cfg.patch"
10SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247"
11SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4"
12
13inherit setuptools
diff --git a/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb b/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb
new file mode 100644
index 0000000000..5ab7b4a793
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-lxml_3.0.2.bb
@@ -0,0 +1,33 @@
1SUMMARY = "Python XML bindings for libxml2 and libxslt"
2DESCRIPTION = "Powerful and Pythonic XML processing library combining \
3libxml2/libxslt with the ElementTree API."
4HOMEPAGE = "http://codespeak.net/lxml"
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=f9f1dc24f720c143c2240df41fe5073b"
7SRCNAME = "lxml"
8
9DEPENDS = "libxml2 libxslt"
10
11SRC_URI = "http://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;name=lxml"
12SRC_URI[lxml.md5sum] = "38b15b0dd5e9292cf98be800e84a3ce4"
13SRC_URI[lxml.sha256sum] = "cadba4cf0e235127795f76a6f7092cb035da23a6e9ec4c93f8af43a6784cd101"
14
15S = "${WORKDIR}/${SRCNAME}-${PV}"
16
17inherit setuptools
18
19DISTUTILS_BUILD_ARGS += " \
20 --with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \
21 --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \
22"
23
24DISTUTILS_INSTALL_ARGS += " \
25 --with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \
26 --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \
27"
28
29BBCLASSEXTEND = "native nativesdk"
30
31RDEPENDS_${PN} += "libxml2 libxslt python-compression"
32RDEPENDS_${PN}_virtclass-native = "libxml2-native libxslt-native"
33
diff --git a/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
new file mode 100644
index 0000000000..bcbdf24bb5
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch
@@ -0,0 +1,39 @@
1From f11b9c71080513f9b867ba8f40613ba2ebc6e960 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Fri, 29 Mar 2013 15:17:17 +0100
4Subject: [PATCH] setup.py: link in sysroot, not in host directories
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7
8Upstream-status: Unknown
9---
10 setup.py | 6 +++---
11 1 file changed, 3 insertions(+), 3 deletions(-)
12
13diff --git a/setup.py b/setup.py
14index e7c49eb..8deaa34 100644
15--- a/setup.py
16+++ b/setup.py
17@@ -40,7 +40,7 @@ class _M2CryptoBuildExt(build_ext.build_ext):
18 self.openssl = 'c:\\pkg'
19 else:
20 self.libraries = ['ssl', 'crypto']
21- self.openssl = '/usr'
22+ self.openssl = os.environ.get( "STAGING_DIR" )
23
24
25 def finalize_options(self):
26@@ -49,8 +49,8 @@ class _M2CryptoBuildExt(build_ext.build_ext):
27
28 build_ext.build_ext.finalize_options(self)
29
30- opensslIncludeDir = os.path.join(self.openssl, 'include')
31- opensslLibraryDir = os.path.join(self.openssl, 'lib')
32+ opensslIncludeDir = os.environ.get( "STAGING_INCDIR" )
33+ opensslLibraryDir = os.environ.get( "STAGING_LIBDIR" )
34
35 self.swig_opts = ['-I%s' % i for i in self.include_dirs + \
36 [opensslIncludeDir]]
37--
381.8.1.4
39
diff --git a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
new file mode 100644
index 0000000000..21c02696dd
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
@@ -0,0 +1,23 @@
1SUMMARY = "A Python crypto and SSL toolkit"
2HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto"
3
4DEPENDS = "openssl swig-native"
5
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
8
9SRC_URI = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${PV}.tar.gz \
10 file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch"
11
12SRC_URI[md5sum] = "f93d8462ff7646397a9f77a2fe602d17"
13SRC_URI[sha256sum] = "25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a"
14
15S = "${WORKDIR}/M2Crypto-${PV}"
16
17inherit setuptools
18
19SWIG_FEATURES_x86-64 = "-D__x86_64__"
20SWIG_FEATURES ?= ""
21export SWIG_FEATURES
22
23BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch b/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch
new file mode 100644
index 0000000000..9381583537
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-matplotlib/fix_setup.patch
@@ -0,0 +1,29 @@
1This fixes the dependency checks inside of setup.py since things like
2'import numpy' won't work with bitbake.
3
4diff --git a/setup.py b/setup.py
5index 2f13821..e6d6ed0 100644
6--- a/setup.py
7+++ b/setup.py
8@@ -113,12 +113,6 @@ if 1:
9 baseline_images = [chop_package(f) for f in baseline_images]
10 package_data['matplotlib'].extend(baseline_images)
11
12-if not check_for_numpy():
13- sys.exit(1)
14-
15-if not check_for_freetype():
16- sys.exit(1)
17-
18 build_ft2font(ext_modules, packages)
19 build_ttconv(ext_modules, packages)
20 build_contour(ext_modules, packages)
21@@ -129,7 +123,7 @@ build_tri(ext_modules, packages)
22
23 print_raw("")
24 print_raw("OPTIONAL BACKEND DEPENDENCIES")
25-has_libpng = check_for_libpng()
26+has_libpng = True
27
28 if has_libpng and options['build_agg']:
29 build_agg(ext_modules, packages)
diff --git a/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch
new file mode 100644
index 0000000000..e07159552f
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-matplotlib/fix_setupext.patch
@@ -0,0 +1,29 @@
1This fixes the numpy import problem in setupext.py using a hard-coded path.
2
3diff --git a/setupext.py b/setupext.py
4index 962cedc..82297c4 100644
5--- a/setupext.py
6+++ b/setupext.py
7@@ -176,10 +176,7 @@ if os.path.exists(setup_cfg):
8 except: pass
9
10 # For get_base_flags:
11-if options['basedirlist']:
12- basedirlist = options['basedirlist'].split()
13-else:
14- basedirlist = basedir[sys.platform]
15+basedirlist = [os.environ['STAGING_LIBDIR']]
16 print("basedirlist is: %s" % basedirlist)
17
18 if options['display_status']:
19@@ -555,8 +552,8 @@ def check_for_numpy():
20
21 def add_numpy_flags(module):
22 "Add the modules flags to build extensions which use numpy"
23- import numpy
24- module.include_dirs.append(numpy.get_include())
25+ # Hard-coded path for OE since I know this is where numpy's include dir will be
26+ module.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/'))
27
28 def add_png_flags(module):
29 try_pkgconfig(module, 'libpng', 'png')
diff --git a/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb b/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb
new file mode 100644
index 0000000000..7bb61fd57e
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-matplotlib_1.1.0.bb
@@ -0,0 +1,36 @@
1DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats"
2SECTION = "devel/python"
3LICENSE = "PSF"
4LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81"
5PR = "r1"
6
7DEPENDS += "python-numpy freetype libpng"
8RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng"
9
10SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \
11 file://fix_setup.patch \
12 file://fix_setupext.patch \
13"
14
15S = "${WORKDIR}/matplotlib-${PV}"
16
17EXTRA_OECONF = "--disable-docs --with-python-includes=${STAGING_INCDIR}/../"
18
19inherit distutils
20
21do_compile_prepend() {
22 BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
23 ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
24 true
25}
26
27# need to export these variables for python-config to work
28export PYTHONPATH
29export BUILD_SYS
30export HOST_SYS
31export STAGING_INCDIR
32export STAGING_LIBDIR
33
34
35SRC_URI[md5sum] = "57a627f30b3b27821f808659889514c2"
36SRC_URI[sha256sum] = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7"
diff --git a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch
new file mode 100644
index 0000000000..c1916b8b9f
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch
@@ -0,0 +1,33 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- Numeric-23.7/setup.py~nolapack
7+++ Numeric-23.7/setup.py
8@@ -32,7 +32,7 @@
9 mathlibs = []
10
11 # delete all but the first one in this list if using your own LAPACK/BLAS
12-sourcelist = [os.path.join('Src', 'lapack_litemodule.c'),
13+sourcelist = [
14 #os.path.join('Src', 'blas_lite.c'),
15 #os.path.join('Src', 'f2c_lite.c'),
16 #os.path.join('Src', 'zlapack_lite.c'),
17@@ -40,12 +40,12 @@
18 ]
19 # set these to use your own BLAS;
20
21-library_dirs_list = ['/usr/lib/atlas']
22-libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c']
23+library_dirs_list = []
24+libraries_list = []
25
26 # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct
27-use_dotblas = 1
28-include_dirs = ['/usr/include/atlas']
29+use_dotblas = 0
30+include_dirs = []
31 # You may need to set this to find cblas.h
32 # e.g. on UNIX using ATLAS this should be ['/usr/include/atlas']
33 extra_link_args = []
diff --git a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb
new file mode 100644
index 0000000000..c0b04e1441
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb
@@ -0,0 +1,14 @@
1SUMMARY = "A sophisticated Numeric Processing Package for Python"
2SECTION = "devel/python"
3LICENSE = "PSF & LLNL"
4LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e"
5
6PR = "ml3"
7
8SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz"
9S = "${WORKDIR}/Numeric-${PV}"
10
11inherit distutils
12
13SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093"
14SRC_URI[sha256sum] = "5f72e729eb6ff57442f2a38bfc9931738b59e5077928e2e70d22b4610ff15258"
diff --git a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb
new file mode 100644
index 0000000000..d4c2ba477d
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb
@@ -0,0 +1,23 @@
1SUMMARY = "A Pure Python Expect like Module for Python"
2SECTION = "devel/python"
3LICENSE = "PSF"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=04a2bf11b85ce49d4a8c0c413fd34404"
5SRCNAME = "pexpect"
6PR = "ml3"
7
8SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
9S = "${WORKDIR}/${SRCNAME}-${PV}"
10
11inherit distutils
12
13RDEPENDS_${PN} = "\
14 python-core \
15 python-io \
16 python-terminal \
17 python-resource \
18 python-fcntl \
19"
20
21
22SRC_URI[md5sum] = "bf107cf54e67bc6dec5bea1f3e6a65c3"
23SRC_URI[sha256sum] = "d315e7f3a8544fd85034d7e17fd7c5854e8f0828f5791f83cf313f8fa5740b75"
diff --git a/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb b/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb
new file mode 100644
index 0000000000..d1a7c8b3ae
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pip_1.3.1.bb
@@ -0,0 +1,14 @@
1SUMMARY = "PIP is a tool for installing and managing Python packages"
2LICENSE = "MIT & GPL"
3LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd00425a3465a0e4c81929b94241d3de"
4
5SRC_URI = "https://pypi.python.org/packages/source/p/pip/pip-${PV}.tar.gz"
6SRC_URI[md5sum] = "cbb27a191cebc58997c4da8513863153"
7SRC_URI[sha256sum] = "145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957"
8
9S = "${WORKDIR}/pip-${PV}"
10
11inherit setuptools
12
13# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works
14RDEPENDS_${PN} = "python-modules"
diff --git a/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb b/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb
new file mode 100644
index 0000000000..ff113d0f24
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-psutil_0.6.1.bb
@@ -0,0 +1,14 @@
1SUMMARY = "A cross-platform process and system utilities module for Python"
2SECTION = "devel/python"
3HOMEPAGE = "http://code.google.com/p/psutil"
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62"
6
7SRC_URI = "http://psutil.googlecode.com/files/psutil-${PV}.tar.gz"
8SRC_URI[md5sum] = "3cfcbfb8525f6e4c70110e44a85e907e"
9SRC_URI[sha256sum] = "d665a4cc58c9a5d207fb0dc9869fc0ee10f4f66ad885e84886ef6339ccce0a6f"
10
11S = "${WORKDIR}/psutil-${PV}"
12
13inherit setuptools
14
diff --git a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb
new file mode 100644
index 0000000000..0e660adff6
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb
@@ -0,0 +1,15 @@
1SUMMARY = "Support for the Linux 2.6.x ALSA Sound System"
2SECTION = "devel/python"
3DEPENDS = "alsa-lib"
4LICENSE = "PSF"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d"
6SRCNAME = "pyalsaaudio"
7PR = "ml2"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz"
10S = "${WORKDIR}/${SRCNAME}-${PV}"
11
12inherit distutils
13
14SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898"
15SRC_URI[sha256sum] = "07148ce16024724b17cc24c51d0f4fb78af214b09b7dc8dcb7b06e5647f4c582"
diff --git a/meta-oe/recipes-devtools/python/python-pyopenssl_0.13.bb b/meta-oe/recipes-devtools/python/python-pyopenssl_0.13.bb
new file mode 100644
index 0000000000..01f43da271
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyopenssl_0.13.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Simple Python wrapper around the OpenSSL library"
2SECTION = "devel/python"
3
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
6
7SRCNAME = "pyOpenSSL"
8
9DEPENDS = "openssl"
10PR = "r1"
11
12SRC_URI = "http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${PV}.tar.gz"
13SRC_URI[md5sum] = "767bca18a71178ca353dff9e10941929"
14SRC_URI[sha256sum] = "21e12b03abaa0e04ecc8cd9c251598f71bae11c9f385304234e4ea5618c6163b"
15
16S = "${WORKDIR}/${SRCNAME}-${PV}"
17
18inherit distutils
19
20PACKAGES =+ "${PN}-tests"
21FILES_${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test"
22
23RDEPENDS_${PN} = "python-threading"
24RDEPENDS_${PN}-tests = "${PN}"
diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch
new file mode 100644
index 0000000000..6579aa4000
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/pyqt-generated.patch
@@ -0,0 +1,12 @@
1diff -uNr PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp
2--- PyQt-x11-gpl-4.9.5.orig/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 16:48:16.496700577 +0200
3+++ PyQt-x11-gpl-4.9.5/QtGui/sipQtGuiQSystemTrayIcon.cpp 2012-10-01 21:40:43.063130099 +0200
4@@ -993,8 +993,6 @@
5 qtgui_untrack(sipCpp);
6 #line 995 "QtGui/sipQtGuiQSystemTrayIcon.cpp"
7
8- QSystemTrayIcon *sipCpp = reinterpret_cast<QSystemTrayIcon *>(sipCppV);
9-
10 if (QThread::currentThread() == sipCpp->thread())
11 delete sipCpp;
12 else
diff --git a/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff
new file mode 100644
index 0000000000..abdf70fab0
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyqt-4.9.6/qreal_float_support.diff
@@ -0,0 +1,248 @@
1## 03_qreal_float_support.dpatch by Michael Casadevall <sonicmctails@gmail.com>
2Index: python-qt4-4.8.3/configure.py
3===================================================================
4--- python-qt4-4.8.3.orig/configure.py 2011-02-24 10:33:30.000000000 +0200
5+++ python-qt4-4.8.3/configure.py 2011-02-24 10:33:18.000000000 +0200
6@@ -2004,8 +2004,9 @@
7 out << "PyQt_NoOpenGLES\\n";
8 #endif
9
10- if (sizeof (qreal) != sizeof (double))
11+#if defined(QT_NO_FPU) || defined(QT_ARCH_ARM) || defined(QT_ARCH_WINDOWSCE)
12 out << "PyQt_qreal_double\\n";
13+#endif
14
15 return 0;
16 }
17Index: python-qt4-4.8.3/sip/QtCore/qlist.sip
18===================================================================
19--- python-qt4-4.8.3.orig/sip/QtCore/qlist.sip 2011-02-24 10:33:27.000000000 +0200
20+++ python-qt4-4.8.3/sip/QtCore/qlist.sip 2011-02-24 10:33:18.000000000 +0200
21@@ -811,3 +811,227 @@
22 return sipGetState(sipTransferObj);
23 %End
24 };
25+
26+// If we're on an architecture where qreal != double, then we need to also
27+// explicately handle doubles. On architectures where qreal == double, they
28+// will automaticially be cast upwards
29+
30+%If (!PyQt_qreal_double)
31+
32+%If (Qt_4_3_0 -)
33+// QList<QPair<double, double> > is implemented as a Python list of 2-element tuples.
34+%MappedType QList<QPair<double, double> >
35+{
36+%TypeHeaderCode
37+#include <qlist.h>
38+#include <qpair.h>
39+%End
40+
41+%ConvertFromTypeCode
42+ // Create the list.
43+ PyObject *l;
44+
45+ if ((l = PyList_New(sipCpp->size())) == NULL)
46+ return NULL;
47+
48+ // Set the list elements.
49+ for (int i = 0; i < sipCpp->size(); ++i)
50+ {
51+ const QPair<double, double> &p = sipCpp->at(i);
52+ PyObject *pobj;
53+
54+ if ((pobj = Py_BuildValue((char *)"dd", p.first, p.second)) == NULL)
55+ {
56+ Py_DECREF(l);
57+
58+ return NULL;
59+ }
60+
61+ PyList_SET_ITEM(l, i, pobj);
62+ }
63+
64+ return l;
65+%End
66+
67+%ConvertToTypeCode
68+ SIP_SSIZE_T len;
69+
70+ // Check the type if that is all that is required.
71+ if (sipIsErr == NULL)
72+ {
73+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
74+ return 0;
75+
76+ for (SIP_SSIZE_T i = 0; i < len; ++i)
77+ {
78+ PyObject *tup = PySequence_ITEM(sipPy, i);
79+
80+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
81+ return 0;
82+ }
83+
84+ return 1;
85+ }
86+
87+ QList<QPair<double, double> > *ql = new QList<QPair<double, double> >;
88+ len = PySequence_Size(sipPy);
89+
90+ for (SIP_SSIZE_T i = 0; i < len; ++i)
91+ {
92+ PyObject *tup = PySequence_ITEM(sipPy, i);
93+
94+ double first = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
95+ double second = PyFloat_AsDouble(PySequence_ITEM(tup, 1));
96+
97+ ql->append(QPair<double, double>(first, second));
98+ }
99+
100+ *sipCppPtr = ql;
101+
102+ return sipGetState(sipTransferObj);
103+%End
104+};
105+%End
106+%If (Qt_4_3_0 -)
107+// QList<QPair<double, TYPE> > is implemented as a Python list of 2-element tuples.
108+template<double, TYPE>
109+%MappedType QList<QPair<double, TYPE> >
110+{
111+%TypeHeaderCode
112+#include <qlist.h>
113+#include <qpair.h>
114+%End
115+
116+%ConvertFromTypeCode
117+ // Create the list.
118+ PyObject *l;
119+
120+ if ((l = PyList_New(sipCpp->size())) == NULL)
121+ return NULL;
122+
123+ // Set the list elements.
124+ for (int i = 0; i < sipCpp->size(); ++i)
125+ {
126+ const QPair<double, TYPE> &p = sipCpp->at(i);
127+ TYPE *t = new TYPE(p.second);
128+ PyObject *pobj;
129+
130+ if ((pobj = sipBuildResult(NULL, "(dB)", p.first, t, sipClass_TYPE, sipTransferObj)) == NULL)
131+ {
132+ Py_DECREF(l);
133+ delete t;
134+
135+ return NULL;
136+ }
137+
138+ PyList_SET_ITEM(l, i, pobj);
139+ }
140+
141+ return l;
142+%End
143+
144+%ConvertToTypeCode
145+ SIP_SSIZE_T len;
146+
147+ // Check the type if that is all that is required.
148+ if (sipIsErr == NULL)
149+ {
150+ if (!PySequence_Check(sipPy) || (len = PySequence_Size(sipPy)) < 0)
151+ return 0;
152+
153+ for (SIP_SSIZE_T i = 0; i < len; ++i)
154+ {
155+ PyObject *tup = PySequence_ITEM(sipPy, i);
156+
157+ if (!PySequence_Check(tup) || PySequence_Size(tup) != 2)
158+ return 0;
159+
160+ if (!sipCanConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, SIP_NOT_NONE))
161+ return 0;
162+ }
163+
164+ return 1;
165+ }
166+
167+ QList<QPair<double, TYPE> > *ql = new QList<QPair<double, TYPE> >;
168+ len = PySequence_Size(sipPy);
169+
170+ for (SIP_SSIZE_T i = 0; i < len; ++i)
171+ {
172+ PyObject *tup = PySequence_ITEM(sipPy, i);
173+ double d;
174+ int state;
175+
176+ d = PyFloat_AsDouble(PySequence_ITEM(tup, 0));
177+ TYPE *t = reinterpret_cast<TYPE *>(sipConvertToInstance(PySequence_ITEM(tup, 1), sipClass_TYPE, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
178+
179+ if (*sipIsErr)
180+ {
181+ sipReleaseInstance(t, sipClass_TYPE, state);
182+
183+ delete ql;
184+ return 0;
185+ }
186+
187+ ql->append(QPair<double, TYPE>(d, *t));
188+
189+ sipReleaseInstance(t, sipClass_TYPE, state);
190+ }
191+
192+ *sipCppPtr = ql;
193+
194+ return sipGetState(sipTransferObj);
195+%End
196+};
197+%End
198+
199+// QList<double> is implemented as a Python list of doubles.
200+%MappedType QList<double>
201+{
202+%TypeHeaderCode
203+#include <qlist.h>
204+%End
205+
206+%ConvertFromTypeCode
207+ // Create the list.
208+ PyObject *l;
209+
210+ if ((l = PyList_New(sipCpp->size())) == NULL)
211+ return NULL;
212+
213+ // Set the list elements.
214+ for (int i = 0; i < sipCpp->size(); ++i)
215+ {
216+ PyObject *pobj;
217+
218+ if ((pobj = PyFloat_FromDouble(sipCpp->value(i))) == NULL)
219+ {
220+ Py_DECREF(l);
221+
222+ return NULL;
223+ }
224+
225+ PyList_SET_ITEM(l, i, pobj);
226+ }
227+
228+ return l;
229+%End
230+
231+%ConvertToTypeCode
232+ // Check the type if that is all that is required.
233+ if (sipIsErr == NULL)
234+ return (PySequence_Check(sipPy) && PySequence_Size(sipPy) >= 0);
235+
236+ QList<double> *ql = new QList<double>;
237+ SIP_SSIZE_T len = PySequence_Size(sipPy);
238+
239+ for (SIP_SSIZE_T i = 0; i < len; ++i)
240+ ql->append(PyFloat_AsDouble(PySequence_ITEM(sipPy, i)));
241+
242+ *sipCppPtr = ql;
243+
244+ return sipGetState(sipTransferObj);
245+%End
246+};
247+
248+%End
diff --git a/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb b/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb
new file mode 100644
index 0000000000..2f0e189ef4
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyqt_4.9.6.bb
@@ -0,0 +1,103 @@
1SUMMARY = "Python Qt4 Bindings"
2HOMEPAGE = "http://riverbankcomputing.co.uk"
3AUTHOR = "Phil Thomson @ riverbank.co.uk"
4SECTION = "devel/python"
5LICENSE = "GPLv2 & GPLv3 & GPL_EXCEPTION"
6LIC_FILES_CHKSUM = "\
7 file://GPL_EXCEPTION.TXT;md5=b73b0be471db679533dc94781c14af58 \
8 file://GPL_EXCEPTION_ADDENDUM.TXT;md5=c1e04ec2aa0911061005a801abf81e40 \
9 file://OPENSOURCE-NOTICE.TXT;md5=6ad9123620cc04a22c394753ad4767d7 \
10 file://LICENSE.GPL2;md5=276c6b9cad5f85a3af3534299825feff \
11 file://LICENSE.GPL3;md5=eda942b9c6ba7eb0f40fee79e94950d5 \
12"
13
14DEPENDS = "sip-native python-sip"
15RDEPENDS_${PN} = "python-core"
16
17PYQT_OE_VERSION = "Qt_4_8_3"
18PR = "r1"
19
20SRC_URI = "\
21 ${SOURCEFORGE_MIRROR}/pyqt/PyQt-x11-gpl-${PV}.tar.gz \
22 file://pyqt-generated.patch;apply=no \
23"
24SRC_URI[md5sum] = "514e1f9597771dc732ba75ba9fa5c6b6"
25SRC_URI[sha256sum] = "a350f9e5c6d8062671c0f29bf1a70824719b18175ce8372c29bf7c1eda44b18d"
26S = "${WORKDIR}/PyQt-x11-gpl-${PV}"
27
28# arm and mips machines need some extra patches
29SRC_URI_append_arm = "\
30 file://qreal_float_support.diff \
31"
32
33SRC_URI_append_mipsel = "\
34 file://qreal_float_support.diff \
35"
36
37inherit qt4x11 sip distutils-base
38
39PARALLEL_MAKE = ""
40
41QMAKE_PROFILES = "pyqt.pro"
42# NOTE: has to match with MIN(qt version we have in OE, last known Qt version by SIP/PyQt)
43EXTRA_SIPTAGS = "-tWS_X11 -t${PYQT_OE_VERSION} -xVendorID -xPyQt_SessionManager -xPyQt_Accessibility"
44EXTRA_OEMAKE = " MAKEFLAGS= "
45
46# arm and mips need extra params for the qreal issue
47EXTRA_SIPTAGS_append_arm = " -x PyQt_qreal_double"
48EXTRA_SIPTAGS_append_mipsel = " -x PyQt_qreal_double"
49
50SIP_MODULES = "QtCore QtDeclarative QtGui QtNetwork QtSql QtSvg QtXml QtWebKit"
51MAKE_MODULES = "qpy ${SIP_MODULES}"
52
53EXTRA_QMAKEVARS_POST += "\
54 INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/Qt \
55 INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
56 INCLUDEPATH+=../qpy/QtCore \
57 INCLUDEPATH+=../qpy/QtGui \
58 INCLUDEPATH+=../qpy/QtDeclarative \
59 INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtCore \
60 INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtGui \
61 INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtDeclarative \
62 INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtWebKit \
63 INCLUDEPATH+=${OE_QMAKE_INCDIR_QT}/QtNetwork \
64"
65FIX_QREAL = "\
66"
67
68do_generate_prepend() {
69 for i in ${FIX_QREAL}; do
70 sed -i -e s,qreal,float,g sip/$i
71 done
72}
73
74do_configure_prepend() {
75 printf "TEMPLATE=subdirs\nSUBDIRS=${MAKE_MODULES}\n" >pyqt.pro
76 printf "TEMPLATE=subdirs\nSUBDIRS=QtCore QtDeclarative QtGui\n" >qpy/qpy.pro
77 ln -sf ./qpycore.pro qpy/QtCore/QtCore.pro
78 ln -sf ./qpydeclarative.pro qpy/QtDeclarative/QtDeclarative.pro
79 ln -sf ./qpygui.pro qpy/QtGui/QtGui.pro
80 echo "INCLUDEPATH+=${S}/QtCore" >>qpy/QtCore/QtCore.pro
81 echo "INCLUDEPATH+=${S}/QtGui" >>qpy/QtGui/QtGui.pro
82 echo "INCLUDEPATH+=${S}/QtDeclarative" >>qpy/QtDeclarative/QtDeclarative.pro
83 echo "LIBS+=-L../qpy/QtGui/ -lqpygui" >>QtGui/QtGui.pro
84 echo "LIBS+=-L../qpy/QtCore/ -lqpycore" >>QtCore/QtCore.pro
85 echo "LIBS+=-L../qpy/QtDeclarative/ -lqpydeclarative" >>QtDeclarative/QtDeclarative.pro
86 # hack for broken generated code (duplicated sipCpp declaration).
87 patch -p1 < ${WORKDIR}/pyqt-generated.patch || echo "pyqt-generated.patch failed to apply, probably reexecuting do_configure, ignoring that"
88}
89
90do_install() {
91 install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4
92 install -d ${D}${datadir}/sip/qt/
93 for module in ${SIP_MODULES}
94 do
95 install -m 0644 ${S}/sip/${module}/*.sip ${D}${datadir}/sip/qt/
96 echo "from PyQt4.${module} import *\n" >> ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/Qt.py
97 install -m 0755 ${module}/lib${module}.so ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/${module}.so
98 done
99 cp -pPR elementtree ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
100 cp __init__.py ${D}${libdir}/${PYTHON_DIR}/site-packages/PyQt4/
101}
102
103FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages ${datadir}/sip/qt/"
diff --git a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb
new file mode 100644
index 0000000000..2263b2ccc0
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Serial Port Support for Python"
2SECTION = "devel/python"
3LICENSE = "PSF"
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7424386ffe323e815ee62ee9ad591dd8"
5SRCNAME = "pyserial"
6PR = "ml4"
7
8SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
9S = "${WORKDIR}/${SRCNAME}-${PV}"
10
11inherit setuptools
12
13# FIXME might stop packaging serialwin32 and serialjava files
14
15RDEPENDS_${PN} = "\
16 python-fcntl \
17 python-io \
18 python-stringold \
19"
20
21SRC_URI[md5sum] = "eec19df59fd75ba5a136992897f8e468"
22SRC_URI[sha256sum] = "6b6a9e3d2fd5978c92c843e0109918a4bcac481eecae316254481c0e0f7e73c8"
diff --git a/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb b/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb
new file mode 100644
index 0000000000..964b5f92b5
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyudev_0.16.1.bb
@@ -0,0 +1,25 @@
1SUMMARY = "A libudev binding"
2HOMEPAGE = "http://pypi.python.org/pypi/pyudev"
3SECTION = "devel/python"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
6
7SRCNAME = "pyudev"
8SRC_URI = "http://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
9SRC_URI[md5sum] = "4034de584b6d9efcbfc590a047c63285"
10SRC_URI[sha256sum] = "765d1c14bd9bd031f64e2612225621984cb2bbb8cbc0c03538bcc4c735ff1c95"
11
12S = "${WORKDIR}/${SRCNAME}-${PV}"
13
14inherit setuptools
15
16do_configure_prepend() {
17 sed -i "/import pyudev/d" ${S}/setup.py
18 sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py
19}
20
21RDEPENDS_${PN} = "\
22 python-ctypes \
23 python-subprocess \
24 python-misc \
25"
diff --git a/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb b/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb
new file mode 100644
index 0000000000..360f213221
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyusb_1.0.0a2.bb
@@ -0,0 +1,18 @@
1SUMMARY = "PyUSB provides USB access on the Python language"
2HOMEPAGE = "http://pyusb.sourceforge.net/"
3SECTION = "devel/python"
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=a53a9c39efcfb812e2464af14afab013"
6DEPENDS = "libusb1"
7PR = "r1"
8
9SRC_URI = "\
10 ${SOURCEFORGE_MIRROR}/pyusb/${SRCNAME}-${PV}.tar.gz \
11"
12SRC_URI[md5sum] = "9136b3dc019272c62a5b6d4eb624f89f"
13SRC_URI[sha256sum] = "dacbf7d568c0bb09a974d56da66d165351f1ba3c4d5169ab5b734266623e1736"
14
15SRCNAME = "pyusb"
16S = "${WORKDIR}/${SRCNAME}-${PV}"
17
18inherit distutils
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py
new file mode 100644
index 0000000000..fb64983419
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py
@@ -0,0 +1,64 @@
1NAME = 'PyYAML'
2VERSION = '3.06'
3DESCRIPTION = "YAML parser and emitter for Python"
4LONG_DESCRIPTION = """\
5YAML is a data serialization format designed for human readability and
6interaction with scripting languages. PyYAML is a YAML parser and
7emitter for Python.
8
9PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
10support, capable extension API, and sensible error messages. PyYAML
11supports standard YAML tags and provides Python-specific tags that allow
12to represent an arbitrary Python object.
13
14PyYAML is applicable for a broad range of tasks from complex
15configuration files to object serialization and persistance."""
16AUTHOR = "Kirill Simonov"
17AUTHOR_EMAIL = 'xi@resolvent.net'
18LICENSE = "MIT"
19PLATFORMS = "Any"
20URL = "http://pyyaml.org/wiki/PyYAML"
21DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION)
22CLASSIFIERS = [
23 "Development Status :: 5 - Production/Stable",
24 "Intended Audience :: Developers",
25 "License :: OSI Approved :: MIT License",
26 "Operating System :: OS Independent",
27 "Programming Language :: Python",
28 "Topic :: Software Development :: Libraries :: Python Modules",
29 "Topic :: Text Processing :: Markup",
30]
31
32from distutils.core import setup
33from distutils.extension import Extension
34from Cython.Distutils import build_ext
35
36import sys, os.path
37
38
39if __name__ == '__main__':
40
41 setup(
42 name=NAME,
43 version=VERSION,
44 description=DESCRIPTION,
45 long_description=LONG_DESCRIPTION,
46 author=AUTHOR,
47 author_email=AUTHOR_EMAIL,
48 license=LICENSE,
49 platforms=PLATFORMS,
50 url=URL,
51 download_url=DOWNLOAD_URL,
52 classifiers=CLASSIFIERS,
53
54 package_dir={'': 'lib'},
55 packages=['yaml'],
56
57 ext_modules = [
58 Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] )
59 ],
60
61 cmdclass={
62 'build_ext': build_ext,
63 },
64 )
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb b/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb
new file mode 100644
index 0000000000..100e1c81ac
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyyaml_3.10.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Python support for YAML"
2HOMEPAGE = "http://www.pyyaml.org"
3SECTION = "devel/python"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
6DEPENDS = "libyaml python-cython-native"
7
8SRC_URI = "http://pyyaml.org/download/pyyaml/PyYAML-${PV}.tar.gz \
9 file://setup.py \
10"
11
12SRC_URI[md5sum] = "74c94a383886519e9e7b3dd1ee540247"
13SRC_URI[sha256sum] = "e713da45c96ca53a3a8b48140d4120374db622df16ab71759c9ceb5b8d46fe7c"
14
15S = "${WORKDIR}/PyYAML-${PV}"
16
17inherit distutils
18
19do_configure_prepend() {
20 # upstream setup.py overcomplicated, use ours
21 install -m 0644 ${WORKDIR}/setup.py ${S}
22}
diff --git a/meta-oe/recipes-devtools/python/python-simplejson_2.2.1.bb b/meta-oe/recipes-devtools/python/python-simplejson_2.2.1.bb
new file mode 100644
index 0000000000..7e42a7c142
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-simplejson_2.2.1.bb
@@ -0,0 +1,27 @@
1SUMMARY = "Simple, fast, extensible JSON encoder/decoder for Python"
2HOMEPAGE = "http://cheeseshop.python.org/pypi/simplejson"
3SECTION = "devel/python"
4
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8a9f8dcfcd28c34daa443e5b1d29813b"
7PR = "r1"
8
9SRCNAME = "simplejson"
10
11SRC_URI = "http://cheeseshop.python.org/packages/source/s/simplejson/${SRCNAME}-${PV}.tar.gz"
12SRC_URI[md5sum] = "070c6467462bd63306f1756b01df6d70"
13SRC_URI[sha256sum] = "e85c5ae24dd9827113893c1dd2c799528195057388096f0fc45ad4b32b378c26"
14
15S = "${WORKDIR}/${SRCNAME}-${PV}"
16
17inherit distutils
18
19RDEPENDS_${PN} = "\
20 python-core \
21 python-re \
22 python-io \
23 python-netserver \
24 python-numbers \
25"
26
27
diff --git a/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb b/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb
new file mode 100644
index 0000000000..acabc97210
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-sip_4.14.2.bb
@@ -0,0 +1,46 @@
1SUMMARY = "Runtime helper for sip-generated python wrapper libraries"
2SECTION = "devel/python"
3HOMEPAGE = "http://www.riverbankcomputing.co.uk/sip"
4AUTHOR = "Phil Thompson"
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://siplib.sbf.in;endline=15;md5=3d462bd8cb43db3e4be998fe155ae9cf"
7DEPENDS = "python"
8RDEPENDS_${PN} = "python-core"
9
10# riverbankcomputing is upstream, but keeps only latest version, sf usually have few older
11#SRC_URI = "http://www.riverbankcomputing.com/static/Downloads/sip4/sip-${PV}.tar.gz"
12SRC_URI = "${SOURCEFORGE_MIRROR}/project/pyqt/sip/sip-${PV}/sip-${PV}.tar.gz"
13SRC_URI[md5sum] = "b93442e745b3be2fad89de0686a76ce9"
14SRC_URI[sha256sum] = "1a9d3bf26c821f369c175f8e68946b79bc994da4f96e8f5ecff06e6ee7ac0528"
15
16S = "${WORKDIR}/sip-${PV}/siplib"
17
18inherit qt4x11 distutils-base
19
20EXTRA_QMAKEVARS_POST += " TEMPLATE=lib \
21 CONFIG=console \
22 DESTDIR= \
23 VERSION=1.0.0 \
24 TARGET=sip \
25 DEFINES=SIP_QT_SUPPORT \
26 INCLUDEPATH+=. \
27 INCLUDEPATH+=${STAGING_INCDIR}/${PYTHON_DIR} \
28 INCLUDEPATH+=${STAGING_INCDIR}"
29
30
31do_configure_prepend() {
32 cat siplib.sbf.in | sed s,target,TARGET, | sed s,sources,SOURCES, | sed s,headers,HEADERS, | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.pro
33 cat siplib.c.in | sed s,@CFG_MODULE_BASENAME@,sip, > siplib.c
34 cat sip.h.in | sed -e s,@CFG_MODULE_NAME@,sip,g > sip.h
35}
36
37do_install() {
38 install -d ${D}${libdir}/${PYTHON_DIR}/site-packages/
39 install -m 0755 libsip.so.1.0.0 ${D}${libdir}/${PYTHON_DIR}/site-packages/sip.so
40 # sipconfig.py sipdistutils.py
41 install -d ${D}${includedir}
42 install -m 0644 ../siplib/sip.h ${D}${includedir}/sip.h
43}
44
45FILES_${PN} = "${libdir}/${PYTHON_DIR}/site-packages/sip.so"
46
diff --git a/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb b/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb
new file mode 100644
index 0000000000..14548a9635
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-smbus_3.0.3.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Set of i2c tools for linux - Python module"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8"
4
5SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \
6"
7SRC_URI[md5sum] = "511376eed04455cdb277ef19c5f73bb4"
8SRC_URI[sha256sum] = "23b28e474741834e3f1b35b0686528769a13adc92d2ff5603cbda1d6bd5e5629"
9
10DEPENDS = "i2c-tools"
11
12inherit distutils
13
14S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/"
15
16do_configure_prepend() {
17 # Adjust for OE header rename
18 sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: Module.mk
19 sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: smbusmodule.c
20}
diff --git a/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb b/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
new file mode 100644
index 0000000000..43b4b7efa2
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-sqlalchemy_0.7.9.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
2application developers the full power and flexibility of SQL"
3HOMEPAGE = "http://www.sqlalchemy.org/"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=baffc5e5f4804c92fc9be155fed70d41"
6RDEPENDS_${PN} += "python-numbers"
7
8SRCNAME = "SQLAlchemy"
9SRC_URI = "${SOURCEFORGE_MIRROR}/sqlalchemy/${SRCNAME}-${PV}.tar.gz"
10SRC_URI[md5sum] = "c4852d586d95a59fbc9358f4467875d5"
11SRC_URI[sha256sum] = "f7a305ad122144f364ce09a2d9ed5159d5f46ec43650653593e7dfa05d3294a1"
12S = "${WORKDIR}/${SRCNAME}-${PV}"
13
14inherit setuptools
diff --git a/meta-oe/recipes-devtools/python/python-tornado/0001-disable-AI_ADDRCONFIG-flag.patch b/meta-oe/recipes-devtools/python/python-tornado/0001-disable-AI_ADDRCONFIG-flag.patch
new file mode 100644
index 0000000000..0b0d471a42
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-tornado/0001-disable-AI_ADDRCONFIG-flag.patch
@@ -0,0 +1,32 @@
1From d7fb0a6ef3f3cbdfc1f21f5a67d54fa9d2c1e183 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Wed, 2 Nov 2011 11:07:24 +0100
4Subject: [PATCH] disable AI_ADDRCONFIG flag
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7
8Upstream-Status: unknown
9---
10 tornado/netutil.py | 6 ------
11 1 files changed, 0 insertions(+), 6 deletions(-)
12
13diff --git a/tornado/netutil.py b/tornado/netutil.py
14index cfff0ba..c181f24 100644
15--- a/tornado/netutil.py
16+++ b/tornado/netutil.py
17@@ -238,12 +238,6 @@ def bind_sockets(port, address=None, family=socket.AF_UNSPEC, backlog=128):
18 if address == "":
19 address = None
20 flags = socket.AI_PASSIVE
21- if hasattr(socket, "AI_ADDRCONFIG"):
22- # AI_ADDRCONFIG ensures that we only try to bind on ipv6
23- # if the system is configured for it, but the flag doesn't
24- # exist on some platforms (specifically WinXP, although
25- # newer versions of windows have it)
26- flags |= socket.AI_ADDRCONFIG
27 for res in set(socket.getaddrinfo(address, port, family, socket.SOCK_STREAM,
28 0, flags):
29 af, socktype, proto, canonname, sockaddr = res
30--
311.7.2.5
32
diff --git a/meta-oe/recipes-devtools/python/python-tornado_git.bb b/meta-oe/recipes-devtools/python/python-tornado_git.bb
new file mode 100644
index 0000000000..28026b352b
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-tornado_git.bb
@@ -0,0 +1,16 @@
1DESCRIPTION = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed."
2LICENSE = "Apache-2.0"
3LIC_FILES_CHKSUM = "file://README;md5=e7fb9954003d7cd93322ccf282210d1c"
4
5PV = "2.2.1+git${SRCPV}"
6
7SRCREV = "c501917eba46dec30b1f2ef12497dffc4beec505"
8SRC_URI = "git://github.com/facebook/tornado.git;branch=branch2.2 \
9 file://0001-disable-AI_ADDRCONFIG-flag.patch \
10"
11
12S = "${WORKDIR}/git"
13
14inherit setuptools
15
16
diff --git a/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb b/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb
new file mode 100644
index 0000000000..80d64a0193
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-twisted_13.2.0.bb
@@ -0,0 +1,222 @@
1DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \
2Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \
3(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more."
4HOMEPAGE = "http://www.twistedmatrix.com"
5SECTION = "console/network"
6
7#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL.
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=5602d7228daf59a16f0f1b2640c46bca"
10
11SRC_URI = "https://pypi.python.org/packages/source/T/Twisted/Twisted-${PV}.tar.bz2"
12SRC_URI[md5sum] = "83fe6c0c911cc1602dbffb036be0ba79"
13SRC_URI[sha256sum] = "095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3"
14
15S = "${WORKDIR}/Twisted-${PV}"
16
17inherit setuptools
18
19do_install_append() {
20 # remove some useless files before packaging
21 find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \;
22}
23
24PACKAGES += "\
25 ${PN}-zsh \
26 ${PN}-test \
27 ${PN}-protocols \
28 ${PN}-conch \
29 ${PN}-lore \
30 ${PN}-mail \
31 ${PN}-names \
32 ${PN}-news \
33 ${PN}-runner \
34 ${PN}-web \
35 ${PN}-words \
36 ${PN}-flow \
37 ${PN}-pair \
38 ${PN}-core \
39"
40
41RDEPENDS_${PN} = "python-core python-zopeinterface"
42RDEPENDS_${PN} += "\
43 ${PN}-conch \
44 ${PN}-lore \
45 ${PN}-mail \
46 ${PN}-names \
47 ${PN}-news \
48 ${PN}-runner \
49 ${PN}-web \
50 ${PN}-words \
51"
52
53ALLOW_EMPTY_${PN} = "1"
54FILES_${PN} = ""
55
56FILES_${PN}-test = " \
57 ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \
58 ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \
59"
60
61FILES_${PN}-protocols = " \
62 ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \
63 ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \
64 ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \
65"
66
67FILES_${PN}-zsh = " \
68 ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \
69 ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \
70 ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \
71"
72
73FILES_${PN}-conch = " \
74 ${bindir}/ckeygen \
75 ${bindir}/tkconch \
76 ${bindir}/conch \
77 ${bindir}/conchftp \
78 ${bindir}/cftp \
79 ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \
80 ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \
81"
82
83FILES_${PN}-core = " \
84${bindir}/manhole \
85${bindir}/mktap \
86${bindir}/twistd \
87${bindir}/tap2deb \
88${bindir}/tap2rpm \
89${bindir}/tapconvert \
90${bindir}/tkmktap \
91${bindir}/trial \
92${bindir}/easy_install* \
93${bindir}/pyhtmlizer \
94${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \
95${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
96${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \
97${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \
98${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \
99${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \
100${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \
101${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \
102${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \
103${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \
104${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \
105${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \
106${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \
107${libdir}/${PYTHON_DIR}/site-packages/twisted/application \
108${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \
109${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \
110${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \
111${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
112${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \
113${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \
114${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\
115${libdir}/${PYTHON_DIR}/site-packages/twisted/python\
116${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \
117${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \
118${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \
119${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \
120${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \
121${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \
122${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \
123${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \
124${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \
125${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \
126${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \
127${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \
128${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \
129${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \
130${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \
131${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \
132${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \
133${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \
134${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \
135${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \
136${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \
137${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \
138${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \
139${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \
140${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \
141${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \
142${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \
143${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \
144${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \
145${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \
146${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \
147${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \
148${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \
149${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \
150${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \
151${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \
152${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \
153${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \
154${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \
155${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \
156${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \
157${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \
158${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \
159${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \
160${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \
161${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \
162${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \
163${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \
164${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \
165${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \
166${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \
167"
168
169FILES_${PN}-lore = " \
170${bindir}/bookify \
171${bindir}/lore \
172${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_lore.py* \
173${libdir}/${PYTHON_DIR}/site-packages/twisted/lore \
174"
175
176FILES_${PN}-mail = " \
177${bindir}/mailmail \
178${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \
179${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \
180"
181
182FILES_${PN}-names = " \
183${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \
184${libdir}/${PYTHON_DIR}/site-packages/twisted/names \
185"
186
187FILES_${PN}-news = " \
188${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \
189${libdir}/${PYTHON_DIR}/site-packages/twisted/news \
190"
191
192FILES_${PN}-runner = " \
193${libdir}/site-packages/twisted/runner/portmap.so \
194${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\
195"
196
197FILES_${PN}-web = " \
198${bindir}/websetroot \
199${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \
200${libdir}/${PYTHON_DIR}/site-packages/twisted/web\
201"
202
203FILES_${PN}-words = " \
204${bindir}/im \
205${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \
206${libdir}/${PYTHON_DIR}/site-packages/twisted/words\
207"
208
209FILES_${PN}-flow = " \
210${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \
211${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \"
212
213FILES_${PN}-pair = " \
214${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \
215${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \
216"
217
218FILES_${PN}-dbg += " \
219${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \
220${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \
221"
222
diff --git a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb
new file mode 100644
index 0000000000..a28c02f7e7
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb
@@ -0,0 +1,16 @@
1SUMMARY = "Python package for parsing and generating vCard and vCalendar files"
2SECTION = "devel/python"
3LICENSE = "Apache-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
5HOMEPAGE = "http://vobject.skyhouseconsulting.com/"
6SRCNAME = "vobject"
7RDEPENDS_${PN} = "python python-dateutil"
8PR = "r4"
9
10SRC_URI = "http://vobject.skyhouseconsulting.com/${SRCNAME}-${PV}.tar.gz"
11S = "${WORKDIR}/${SRCNAME}-${PV}"
12
13inherit setuptools
14
15SRC_URI[md5sum] = "c9686dd74d39fdae140890d9c694c076"
16SRC_URI[sha256sum] = "594113117f2017ed837c8f3ce727616f9053baa5a5463a7420c8249b8fc556f5"
diff --git a/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb b/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb
new file mode 100644
index 0000000000..7a6437dc53
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-webdav_0.1.2.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "This project aims to provide an object-oriented Python WebDAV client-side library\
2 based on Python`s standard httplib and Greg Stein`s davlib.\
3 The client shall fully support RFCs 4918 (basic specification),\
4 3744 (access control), and 3253 (versioning)."
5SECTION = "devel/python"
6LICENSE = "Apache-2.0"
7LIC_FILES_CHKSUM = "file://src/webdav/WebdavClient.py;endline=15;md5=a1520fad859feb7b0d7f05277bc6ce48"
8HOMEPAGE = "http://sourceforge.net/projects/pythonwebdavlib/"
9SRCNAME = "Python_WebDAV_Library"
10DEPENDS = "python"
11
12SRC_URI = "${SOURCEFORGE_MIRROR}/pythonwebdavlib/Python%20WebDAV%20Library%20-%20${PV}/${SRCNAME}-${PV}.zip"
13SRC_URI[md5sum] = "8e49e0ecc5b4327c4f752a544ee10e1a"
14SRC_URI[sha256sum] = "72c029ad1e25de950f59c2f1812d009d2c1691b70e4b5b09f1af9006e8fd5f23"
15
16S = "${WORKDIR}/${SRCNAME}-${PV}"
17
18inherit distutils
19
diff --git a/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb b/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb
new file mode 100644
index 0000000000..4151f585b8
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-zopeinterface_4.1.1.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Interface definitions for Zope products"
2SECTION = "console/network"
3
4LICENSE = "ZPL-2.1"
5LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46"
6
7SRC_URI = "http://pypi.python.org/packages/source/z/zope.interface/zope.interface-${PV}.tar.gz"
8SRC_URI[md5sum] = "edcd5f719c5eb2e18894c4d06e29b6c6"
9SRC_URI[sha256sum] = "91cba7b7cd7cb82f6f4e023fe77f94dc3df4ae5287fd55def2148dc232d0c7da"
10
11S = "${WORKDIR}/zope.interface-${PV}"
12
13inherit setuptools
14
15RPROVIDES_${PN} += "zope-interfaces"
16FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug"
17FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c"
18FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt"
19FILES_${PN}-tests = " \
20 ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \
21 ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \
22"
diff --git a/meta-oe/recipes-devtools/swig/swig.inc b/meta-oe/recipes-devtools/swig/swig.inc
new file mode 100644
index 0000000000..9821fa560b
--- /dev/null
+++ b/meta-oe/recipes-devtools/swig/swig.inc
@@ -0,0 +1,63 @@
1DESCRIPTION = "SWIG - Simplified Wrapper and Interface Generator"
2HOMEPAGE = "http://swig.sourceforge.net/"
3LICENSE = "BSD & GPLv3"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \
5 file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \
6 file://LICENSE-UNIVERSITIES;md5=8ce9dcc8f7c994de4a408b205c72ba08"
7
8SECTION = "devel"
9
10DEPENDS = "libpcre python"
11
12SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
13
14inherit autotools pythonnative
15
16EXTRA_OECONF = " \
17 --with-python=${PYTHON} \
18 --without-allegrocl \
19 --without-android \
20 --without-boost \
21 --without-chicken \
22 --without-clisp \
23 --without-csharp \
24 --without-d \
25 --without-gcj \
26 --without-go \
27 --without-guile \
28 --without-java \
29 --without-lua \
30 --without-mzscheme \
31 --without-ocaml \
32 --without-octave \
33 --without-perl5 \
34 --without-pike \
35 --without-php \
36 --without-python3 \
37 --without-r \
38 --without-ruby \
39 --without-tcl \
40"
41
42BBCLASSEXTEND = "native nativesdk"
43
44do_configure() {
45 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/Tools/config
46 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/Tools/config
47 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
48 install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
49 oe_runconf
50}
51
52do_install_append_class-nativesdk() {
53 cd ${D}${bindir}
54 ln -s swig swig2.0
55}
56
57def swiglib_relpath(d):
58 swiglib = d.getVar('datadir', True) + "/" + d.getVar('BPN', True) + "/" + d.getVar('PV', True)
59 return os.path.relpath(swiglib, d.getVar('bindir', True))
60
61do_install_append_class-native() {
62 create_wrapper ${D}${bindir}/swig SWIG_LIB='`dirname $''realpath`'/${@swiglib_relpath(d)}
63}
diff --git a/meta-oe/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch b/meta-oe/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch
new file mode 100644
index 0000000000..81df3e264f
--- /dev/null
+++ b/meta-oe/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch
@@ -0,0 +1,69 @@
1From a4a0440a644c6c5e5da096efe3cf05ba309a284f Mon Sep 17 00:00:00 2001
2From: "NODA, Kai" <nodakai@gmail.com>
3Date: Sun, 22 Apr 2012 17:01:02 +0900
4Subject: [PATCH] Use /proc/self/exe for "swig -swiglib" on non-Win32
5 platforms.
6
7If it wasn't found, then fall back to a fixed string just as before.
8
9Upstream-Status: Submitted
10http://sourceforge.net/mailarchive/message.php?msg_id=29179733
11
12---
13 Source/Modules/main.cxx | 24 ++++++++++++++++++++++--
14 1 file changed, 22 insertions(+), 2 deletions(-)
15
16diff --git a/Source/Modules/main.cxx b/Source/Modules/main.cxx
17index d2f5d3b..cbb0a12 100644
18--- a/Source/Modules/main.cxx
19+++ b/Source/Modules/main.cxx
20@@ -26,6 +26,11 @@ char cvsroot_main_cxx[] = "$Id$";
21 #include "cparse.h"
22 #include <ctype.h>
23 #include <limits.h> // for INT_MAX
24+#ifndef _WIN32
25+#include <cstddef>
26+#include <unistd.h> // for readlink
27+#include <sys/stat.h> // for stat
28+#endif
29
30 // Global variables
31
32@@ -902,9 +907,9 @@ int SWIG_main(int argc, char *argv[], Language *l) {
33
34 // Check for SWIG_LIB environment variable
35 if ((c = getenv("SWIG_LIB")) == (char *) 0) {
36+ char *p;
37 #if defined(_WIN32)
38 char buf[MAX_PATH];
39- char *p;
40 if (!(GetModuleFileName(0, buf, MAX_PATH) == 0 || (p = strrchr(buf, '\\')) == 0)) {
41 *(p + 1) = '\0';
42 SwigLib = NewStringf("%sLib", buf); // Native windows installation path
43@@ -914,7 +919,22 @@ int SWIG_main(int argc, char *argv[], Language *l) {
44 if (Len(SWIG_LIB_WIN_UNIX) > 0)
45 SwigLibWinUnix = NewString(SWIG_LIB_WIN_UNIX); // Unix installation path using a drive letter (for msys/mingw)
46 #else
47- SwigLib = NewString(SWIG_LIB);
48+ char buf[PATH_MAX];
49+ if (0 < ::readlink("/proc/self/exe", buf, sizeof(buf)) &&
50+ (p = ::strstr(buf, "/bin/swig"))) {
51+ int major, minor, patch;
52+ const int ret = ::sscanf(VERSION, "%d.%d.%d", &major, &minor, &patch);
53+ if (3 == ret) {
54+ const ::ptrdiff_t dir_part_len = p - buf;
55+ ::snprintf(p, PATH_MAX - dir_part_len, "/share/swig/%d.%d.%d", major, minor, patch);
56+ struct ::stat stat_res;
57+ if (0 == ::stat(buf, &stat_res) && S_ISDIR(stat_res.st_mode)) {
58+ SwigLib = NewString(buf);
59+ }
60+ }
61+ }
62+ if (NULL == SwigLib)
63+ SwigLib = NewString(SWIG_LIB);
64 #endif
65 } else {
66 SwigLib = NewString(c);
67--
681.7.9.5
69
diff --git a/meta-oe/recipes-devtools/swig/swig_2.0.12.bb b/meta-oe/recipes-devtools/swig/swig_2.0.12.bb
new file mode 100644
index 0000000000..0fbcfa1bf5
--- /dev/null
+++ b/meta-oe/recipes-devtools/swig/swig_2.0.12.bb
@@ -0,0 +1,7 @@
1require ${BPN}.inc
2
3SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch"
4
5SRC_URI[md5sum] = "c3fb0b2d710cc82ed0154b91e43085a4"
6SRC_URI[sha256sum] = "65e13f22a60cecd7279c59882ff8ebe1ffe34078e85c602821a541817a4317f7"
7
diff --git a/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch b/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
new file mode 100644
index 0000000000..358cbefdde
--- /dev/null
+++ b/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
@@ -0,0 +1,31 @@
1From c209ed0e7ffca32fe3714bad9cc54bdb00c286bb Mon Sep 17 00:00:00 2001
2From: Ting Liu <b28495@freescale.com>
3Date: Mon, 15 Apr 2013 16:28:37 +0800
4Subject: [PATCH] Makefile.am: disable docs
5
6Upstream-Status: Inappropriate [OE specific]
7
8docs need some generating tool (for example, doxygen) from host which may
9be not available. Disable it to avoid build issue.
10
11Signed-off-by: Ting Liu <b28495@freescale.com>
12---
13 Makefile.am | 2 +-
14 1 files changed, 1 insertions(+), 1 deletions(-)
15
16diff --git a/Makefile.am b/Makefile.am
17index 0a6ebc9..6b42f41 100644
18--- a/Makefile.am
19+++ b/Makefile.am
20@@ -1,7 +1,7 @@
21
22 ACLOCAL_AMFLAGS = -I config
23
24-SUBDIRS = include examples docs tests msc config
25+SUBDIRS = include examples tests msc config
26
27 pkgconfigdir = $(libdir)/pkgconfig
28 pkgconfig_DATA = $(PACKAGE).pc
29--
301.7.5
31
diff --git a/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
new file mode 100644
index 0000000000..c6bedea097
--- /dev/null
+++ b/meta-oe/recipes-devtools/tclap/tclap_1.2.1.bb
@@ -0,0 +1,14 @@
1SUMMARY = "Templatized C++ Command Line Parser"
2HOMEPAGE = "http://tclap.sourceforge.net/"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://COPYING;md5=c8ab0ff134bcc584d0e6b5b9f8732453"
5
6SRCREV = "3627d9402e529770df9b0edf2aa8c0e0d6c6bb41"
7SRC_URI = "git://git.code.sf.net/p/tclap/code \
8 file://Makefile.am-disable-docs.patch \
9"
10
11S = "${WORKDIR}/git"
12inherit autotools
13
14BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.6.0/confsearch.diff b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/confsearch.diff
new file mode 100644
index 0000000000..c51e475426
--- /dev/null
+++ b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/confsearch.diff
@@ -0,0 +1,32 @@
1Patch by Sergei Golovan allows to find tclConfig.sh in /usr/share/tcltk/tcl8.5
2and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian
3installation.
4
5--- tk8.5-8.5.8.orig/unix/configure
6+++ tk8.5-8.5.8/unix/configure
7@@ -1431,6 +1431,7 @@
8 `ls -d ${prefix}/lib 2>/dev/null` \
9 `ls -d /usr/local/lib 2>/dev/null` \
10 `ls -d /usr/contrib/lib 2>/dev/null` \
11+ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
12 `ls -d /usr/lib 2>/dev/null` \
13 ; do
14 if test -f "$i/tclConfig.sh" ; then
15--- tk8.5-8.5.8.orig/unix/tcl.m4
16+++ tk8.5-8.5.8/unix/tcl.m4
17@@ -93,6 +93,7 @@
18 `ls -d ${prefix}/lib 2>/dev/null` \
19 `ls -d /usr/local/lib 2>/dev/null` \
20 `ls -d /usr/contrib/lib 2>/dev/null` \
21+ `ls -d /usr/share/tcltk/tcl8.5 2>/dev/null` \
22 `ls -d /usr/lib 2>/dev/null` \
23 ; do
24 if test -f "$i/tclConfig.sh" ; then
25@@ -223,6 +224,7 @@
26 `ls -d ${prefix}/lib 2>/dev/null` \
27 `ls -d /usr/local/lib 2>/dev/null` \
28 `ls -d /usr/contrib/lib 2>/dev/null` \
29+ `ls -d /usr/share/tcltk/tk8.5 2>/dev/null` \
30 `ls -d /usr/lib 2>/dev/null` \
31 ; do
32 if test -f "$i/tkConfig.sh" ; then
diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.6.0/fix-xft.diff b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/fix-xft.diff
new file mode 100644
index 0000000000..d1bb7105c6
--- /dev/null
+++ b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/fix-xft.diff
@@ -0,0 +1,16 @@
1--- /tmp/configure.in 2010-05-19 13:29:03.000000000 +0200
2+++ unix/configure.in 2010-05-19 13:42:05.000000000 +0200
3@@ -526,13 +526,9 @@
4 found_xft="yes"
5 dnl make sure package configurator (xft-config or pkg-config
6 dnl says that xft is present.
7- XFT_CFLAGS=`xft-config --cflags 2>/dev/null` || found_xft="no"
8- XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no"
9- if test "$found_xft" = "no" ; then
10 found_xft=yes
11 XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no"
12 XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no"
13- fi
14 AC_MSG_RESULT([$found_xft])
15 dnl make sure that compiling against Xft header file doesn't bomb
16 if test "$found_xft" = "yes" ; then
diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.6.0/non-linux.diff b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/non-linux.diff
new file mode 100644
index 0000000000..9309fc48e1
--- /dev/null
+++ b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/non-linux.diff
@@ -0,0 +1,45 @@
1Patch by Sergei Golovan (originally by Mike Markley and Chris Waters) fixes
2building on non-linux Debian architectures.
3
4--- tk8.5-8.5.8.orig/unix/configure
5+++ tk8.5-8.5.8/unix/configure
6@@ -4742,6 +4742,9 @@
7 if test "`uname -s`" = "AIX" ; then
8 tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
9 fi
10+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then
11+ tcl_cv_sys_version=NetBSD-Debian
12+ fi
13 fi
14 fi
15
16@@ -5546,7 +5549,7 @@
17 fi
18
19 ;;
20- Linux*)
21+ Linux*|GNU*|NetBSD-Debian)
22 SHLIB_CFLAGS="-fPIC"
23 SHLIB_LD_LIBS='${LIBS}'
24 SHLIB_SUFFIX=".so"
25--- tk8.5-8.5.8.orig/unix/tcl.m4
26+++ tk8.5-8.5.8/unix/tcl.m4
27@@ -962,6 +962,9 @@
28 if test "`uname -s`" = "AIX" ; then
29 tcl_cv_sys_version=AIX-`uname -v`.`uname -r`
30 fi
31+ if test "`uname -s`" = "NetBSD" -a -f /etc/debian_version ; then
32+ tcl_cv_sys_version=NetBSD-Debian
33+ fi
34 fi
35 fi
36 ])
37@@ -1422,7 +1425,7 @@
38 ])
39 ])
40 ;;
41- Linux*)
42+ Linux*|GNU*|NetBSD-Debian)
43 SHLIB_CFLAGS="-fPIC"
44 SHLIB_LD_LIBS='${LIBS}'
45 SHLIB_SUFFIX=".so"
diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.6.0/tklibrary.diff b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/tklibrary.diff
new file mode 100644
index 0000000000..ee38c2a1a5
--- /dev/null
+++ b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/tklibrary.diff
@@ -0,0 +1,22 @@
1--- tk8.5-8.5.8.orig/unix/configure
2+++ tk8.5-8.5.8/unix/configure
3@@ -11070,7 +11070,7 @@
4 TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
5 fi
6
7-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
8+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
9 PRIVATE_INCLUDE_DIR='$(includedir)'
10 HTML_DIR='$(DISTDIR)/html'
11 TK_PKG_DIR='tk$(VERSION)'
12--- tk8.5-8.5.8.orig/unix/configure.in
13+++ tk8.5-8.5.8/unix/configure.in
14@@ -607,7 +607,7 @@
15 TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
16 fi
17
18-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
19+test -z "$TK_LIBRARY" && TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
20 PRIVATE_INCLUDE_DIR='$(includedir)'
21 HTML_DIR='$(DISTDIR)/html'
22 TK_PKG_DIR='tk$(VERSION)'
diff --git a/meta-oe/recipes-devtools/tcltk/tk-8.6.0/tkprivate.diff b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/tkprivate.diff
new file mode 100644
index 0000000000..4e15469736
--- /dev/null
+++ b/meta-oe/recipes-devtools/tcltk/tk-8.6.0/tkprivate.diff
@@ -0,0 +1,41 @@
1Patch by Chris Waters sets path which are normally point to a directory
2with Tk sources to a subdirectory of /usr/include/tcl8.4 (debian/rules
3puts private Tk headers there).
4
5--- tk8.5-8.5.8.orig/unix/tkConfig.sh.in
6+++ tk8.5-8.5.8/unix/tkConfig.sh.in
7@@ -55,7 +55,7 @@
8
9 # String to pass to linker to pick up the Tk library from its
10 # build directory.
11-TK_BUILD_LIB_SPEC='@TK_BUILD_LIB_SPEC@'
12+TK_BUILD_LIB_SPEC='@TK_LIB_SPEC@'
13
14 # String to pass to linker to pick up the Tk library from its
15 # installed directory.
16@@ -71,7 +71,7 @@
17 # different place than the directory containing the source files, this
18 # points to the location of the sources, not the location where Tk was
19 # compiled.
20-TK_SRC_DIR='@TK_SRC_DIR@'
21+TK_SRC_DIR='@includedir@/tk-private'
22
23 # Needed if you want to make a 'fat' shared library library
24 # containing tk objects or link a different wish.
25@@ -86,14 +86,14 @@
26
27 # String to pass to linker to pick up the Tk stub library from its
28 # build directory.
29-TK_BUILD_STUB_LIB_SPEC='@TK_BUILD_STUB_LIB_SPEC@'
30+TK_BUILD_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@'
31
32 # String to pass to linker to pick up the Tk stub library from its
33 # installed directory.
34 TK_STUB_LIB_SPEC='@TK_STUB_LIB_SPEC@'
35
36 # Path to the Tk stub library in the build directory.
37-TK_BUILD_STUB_LIB_PATH='@TK_BUILD_STUB_LIB_PATH@'
38+TK_BUILD_STUB_LIB_PATH='@TK_STUB_LIB_PATH@'
39
40 # Path to the Tk stub library in the install directory.
41 TK_STUB_LIB_PATH='@TK_STUB_LIB_PATH@'
diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
new file mode 100644
index 0000000000..d12973cbe6
--- /dev/null
+++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
@@ -0,0 +1,54 @@
1SUMMARY = "Tool Command Language ToolKit Extension"
2HOMEPAGE = "http://tcl.sourceforge.net"
3SECTION = "devel/tcltk"
4LICENSE = "tcl"
5LIC_FILES_CHKSUM = "file://license.terms;md5=c88f99decec11afa967ad33d314f87fe"
6DEPENDS = "tcl virtual/libx11 libxt"
7
8SRC_URI = "\
9 ${SOURCEFORGE_MIRROR}/tcl/tk${PV}-src.tar.gz \
10 file://confsearch.diff;striplevel=2 \
11 file://non-linux.diff;striplevel=2 \
12 file://tklibrary.diff;striplevel=2 \
13 file://tkprivate.diff;striplevel=2 \
14 file://fix-xft.diff \
15"
16SRC_URI[md5sum] = "b883a1a3c489c17413fb602a94bf54e8"
17SRC_URI[sha256sum] = "5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6"
18
19S = "${WORKDIR}/tk${PV}/unix"
20LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/8.6.0/lib"
21inherit autotools
22
23EXTRA_OECONF = "\
24 --enable-threads \
25 --with-x \
26 --with-tcl=${STAGING_BINDIR_CROSS} \
27 --libdir=${libdir} \
28"
29
30do_install_append() {
31 ln -sf libtk8.6.so ${D}${libdir}/libtk8.6.so.0
32 oe_libinstall -so libtk8.6 ${D}${libdir}
33 ln -sf wish8.6 ${D}${bindir}/wish
34
35 # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
36 if [ "$libdir" != "/usr/lib" ]; then
37 # Move files to correct library directory
38 mv ${D}/usr/lib/tk8.6/* ${D}/${libdir}/tk8.6/
39 # Remove unneeded/incorrect dir ('usr/lib/')
40 rm -rf ${D}/usr/lib
41 fi
42}
43
44PACKAGES =+ "${PN}-lib"
45
46FILES_${PN}-lib = "${libdir}/libtk8.6.so*"
47FILES_${PN} += "${libdir}/tk*"
48
49# isn't getting picked up by shlibs code
50RDEPENDS_${PN} += "tk-lib"
51RDEPENDS_${PN}_class-native = ""
52
53BINCONFIG_GLOB = "*Config.sh"
54BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
new file mode 100644
index 0000000000..a3db952221
--- /dev/null
+++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
@@ -0,0 +1,16 @@
1DESCRIPTION = "Vala DBus Binding Tool"
2SECTION = "devel"
3DEPENDS = "vala libgee libxml2 intltool-native"
4HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool"
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
7PE = "1"
8INC_PR = "r3"
9
10export XDG_DATA_DIRS = "${STAGING_DATADIR}"
11
12SRC_URI = "http://downloads.freesmartphone.org/sources/${BPN}/${BP}.tar.bz2;name=archive"
13
14inherit autotools perlnative
15
16BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb
new file mode 100644
index 0000000000..3473971b2d
--- /dev/null
+++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_0.4.0.bb
@@ -0,0 +1,4 @@
1require vala-dbus-binding-tool.inc
2
3SRC_URI[archive.md5sum] = "b7537a087f9f468e25170e81df0ed93f"
4SRC_URI[archive.sha256sum] = "6b0d3796e92b031839e2e2f484e294153ad9eaf9d32915056199a49ce8328722"
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
new file mode 100644
index 0000000000..32d2818a0b
--- /dev/null
+++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
@@ -0,0 +1,9 @@
1require vala-dbus-binding-tool.inc
2
3DEFAULT_PREFERENCE = "-1"
4
5SRCREV = "53d56816a4154e3467f07bd22f4e27d166e3e3f3"
6PV = "0.4.0+gitr${SRCPV}"
7
8SRC_URI = "${FREESMARTPHONE_GIT}/vala-dbus-binding-tool.git;branch=master"
9S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb b/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
new file mode 100644
index 0000000000..1bf538955e
--- /dev/null
+++ b/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
@@ -0,0 +1,18 @@
1SUMMARY = "Yet Another JSON Library."
2
3DESCRIPTION = "YAJL is a small event-driven (SAX-style) JSON parser \
4written in ANSI C, and a small validating JSON generator."
5
6HOMEPAGE = "http://lloyd.github.com/yajl/"
7
8LICENSE = "ISC"
9LIC_FILES_CHKSUM = "file://COPYING;md5=39af6eb42999852bdd3ea00ad120a36d"
10
11SRC_URI = "git://github.com/lloyd/yajl"
12SRCREV = "a0ecdde0c042b9256170f2f8890dd9451a4240aa"
13
14S = "${WORKDIR}/git"
15
16inherit cmake lib_package
17
18EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"