diff options
Diffstat (limited to 'meta-python')
62 files changed, 1840 insertions, 0 deletions
diff --git a/meta-python/COPYING.MIT b/meta-python/COPYING.MIT new file mode 100644 index 0000000000..fb950dc69f --- /dev/null +++ b/meta-python/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-python/README b/meta-python/README new file mode 100644 index 0000000000..f62ab8fe8e --- /dev/null +++ b/meta-python/README @@ -0,0 +1,53 @@ +meta-python +================================ + +Introduction +------------------------- + +This layer is intended to be the home of python modules for OpenEmbedded. +Modules in this layer need to be independent of openembedded-core and +meta-openembedded/meta-oe. Because of this, modules required by 'gateone' +and 'anki' are not included and remain in: + meta-openembedded/meta-oe/recipes-devtools/python. + +Dependencies +------------------------- + +The meta-python layer depends on: + + URI: git://git.openembedded.org/openembedded-core + layers: meta + branch: master + revision: HEAD + + URI: git://git.openembedded.org/meta-openembedded + layers: meta-oe + branch: master + revision: HEAD + +Please follow the recommended setup procedures of your OE distribution. +For Angstrom that is: + http://www.angstrom-distribution.org/building-angstrom, +other distros should have similar online resources. + +Contributing +------------------------- + +The meta-openembedded mailinglist +(openembedded-devel@lists.openembedded.org) is used for questions, +comments and patch review. It is subscriber only, so please register +before posting. + +Send pull requests to openembedded-devel@lists.openembedded.org with +'[meta-python]' in the subject. + +When sending single patches, please use something like: +'git send-email -M -1 --to=openembedded-devel@lists.openembedded.org --subject-prefix=meta-python][PATCH' + +Maintenance +------------------------- + +Maintainers: + Tim "moto-timo" Orling <TicoTimo@gmail.com> + Paul "bluelightning" Eggleton <paul.eggleton@linux.intel.com> + diff --git a/meta-python/conf/layer.conf b/meta-python/conf/layer.conf new file mode 100644 index 0000000000..55169e4fbb --- /dev/null +++ b/meta-python/conf/layer.conf @@ -0,0 +1,15 @@ +# We might have a conf and classes directory, append to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-python" +BBFILE_PATTERN_meta-python := "^${LAYERDIR}/" +BBFILE_PRIORITY_meta-python = "7" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_meta-python = "1" + +LAYERDEPENDS_meta-python = "core openembedded-layer" diff --git a/meta-python/recipes-devtools/python/pyrtm_0.2.bb b/meta-python/recipes-devtools/python/pyrtm_0.2.bb new file mode 100644 index 0000000000..706515bc4a --- /dev/null +++ b/meta-python/recipes-devtools/python/pyrtm_0.2.bb @@ -0,0 +1,12 @@ +SUMMARY = "Python interface for Remember The Milk API" +AUTHOR = "Sridhar Ratnakumar / srid" +HOMEPAGE = "http://pypi.python.org/pypi/pyrtm" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df" +DEPENDS = "python-native" + +inherit distutils + +SRC_URI = "http://pypi.python.org/packages/source/p/${BPN}/${BP}.tar.gz" +SRC_URI[md5sum] = "34423f39caf7df8a9db8e243be9cf1a0" +SRC_URI[sha256sum] = "d9d46d096a38cb692b55f4ee9f364d54348298e9497b11c1ef057539b5de1567" diff --git a/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb b/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb new file mode 100644 index 0000000000..ac775c4c33 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-autobahn_0.8.6.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "AutobahnPython provides a WebSocket (RFC6455, Hybi-10 to -17, Hixie-76) framework for creating WebSocket-based clients and servers. \ +AutobahnPython also includes an implementation of WAMP (The WebSockets Application Messaging Protocol), a light-weight, \ +asynchronous RPC/PubSub over JSON/WebSocket protocol." +HOMEPAGE = "http://autobahn.ws/python" +SECTION = "console/network" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = " file://autobahn/__init__.py;beginline=1;endline=17;md5=1fdeccf6e5b70cda64cc1345597c18e3" + +SRC_URI = "https://pypi.python.org/packages/source/a/autobahn/autobahn-${PV}.zip" +SRC_URI[md5sum] = "160429e7fb043940e79aa7f4ebbab57a" +SRC_URI[sha256sum] = "94ae5c6f37f9fe7c9d3f12c170fcc273afed4104a1c5508b26d6014bb9e6373e" + +S = "${WORKDIR}/autobahn-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = "python python-pprint python-twisted-protocols python-netserver python-twisted-web" + diff --git a/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb b/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb new file mode 100644 index 0000000000..9caae41bf8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-backports-ssl_3.4.0.2.bb @@ -0,0 +1,23 @@ +SUMMARY = "The ssl.match_hostname() function from Python 3.4" +DESCRIPTION = "The Secure Sockets layer is only actually secure if you check the hostname in the \ +certificate returned by the server to which you are connecting, and verify that it matches to hostname \ +that you are trying to reach. But the matching logic, defined in RFC2818, can be a bit tricky to implement \ +on your own. So the ssl package in the Standard Library of Python 3.2 and greater now includes a \ +match_hostname() function for performing this check instead of requiring every application to \ +implement the check separately. This backport brings match_hostname() to users of earlier versions of Python" +HOMEPAGE = "https://pypi.python.org/pypi/backports.ssl_match_hostname" +SECTION = "devel/python" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=77b684960b86b7a4bb4a450ffde08605" + +SRCNAME = "backports.ssl_match_hostname" + +SRC_URI = "https://pypi.python.org/packages/source/b/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "788214f20214c64631f0859dc79f23c6" +SRC_URI[sha256sum] = "07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb b/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb new file mode 100644 index 0000000000..5e0404e960 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-certifi_14.05.14.bb @@ -0,0 +1,20 @@ +SUMMARY = "Python package for providing Mozilla's CA Bundle." +DESCRIPTION = "This installable Python package contains a CA Bundle that you can reference in your \ +Python code. This is useful for verifying HTTP requests, for example. This is the same CA Bundle \ +which ships with the Requests codebase, and is derived from Mozilla Firefox's canonical set." +HOMEPAGE = "https://pypi.python.org/pypi/certifi" +SECTION = "devel/python" + +LICENSE = "ISC" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f77f61d14ee6feac4228d3ebd26cc1f1" + +SRCNAME = "certifi" + +SRC_URI = "https://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "315ea4e50673a16ab047099f816fd32a" +SRC_URI[sha256sum] = "1e1bcbacd6357c151ae37cf0290dcc809721d32ce21fd6b7339568f3ddef1b69" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb b/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb new file mode 100644 index 0000000000..e015d0b023 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cheetah_2.4.4.bb @@ -0,0 +1,21 @@ +SUMMARY = "Python template engine and code generation tool" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=aff1107514aa6aae948f9fe71fdc393b" + +SRCNAME = "Cheetah" + +PR = "r3" + +SRC_URI = "http://pypi.python.org/packages/source/C/Cheetah/Cheetah-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = "python-pickle python-pprint" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native nativesdk" + +SRC_URI[md5sum] = "853917116e731afbc8c8a43c37e6ddba" +SRC_URI[sha256sum] = "be308229f0c1e5e5af4f27d7ee06d90bb19e6af3059794e5fd536a6f29a9b550" diff --git a/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb b/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb new file mode 100644 index 0000000000..120a8a7927 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cloudeebus_0.6.0.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "A component which enables calling DBus methods and registering on DBus signals from Javascript" +HOMEPAGE = "https://github.com/01org/cloudeebus" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93" + +SRC_URI = "git://github.com/01org/cloudeebus.git;protocol=http;branch=master " +SRCREV = "b5cc957eeabfe98cb996baf8e5a0ac848993c3d4" + +S = "${WORKDIR}/git" + +inherit distutils + +DEPENDS_${PN} = "python python-distribute" +RDEPENDS_${PN} = "python python-dbus python-json python-argparse python-pygobject python-autobahn python-twisted python-subprocess" + +do_install_prepend() { + install -d ${D}${PYTHON_SITEPACKAGES_DIR}/${PN} +} + +DISTUTILS_INSTALL_ARGS = "--root=${D} \ + --single-version-externally-managed \ + --prefix=${prefix} \ + --install-lib=${PYTHON_SITEPACKAGES_DIR} \ + --install-data=${datadir}" + +do_install_append() { + distutils_do_install + install -d ${D}${datadir}/doc/${BPN}/ + install -m 0644 ${S}/README.md ${D}${datadir}/doc/${BPN}/ +} + +FILES_${PN} += "${datadir}/cloudeebus" +FILES_${PN} += "${sysconfdir}/dbus-1/system.d/org.cloudeebus.conf" + diff --git a/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb b/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb new file mode 100644 index 0000000000..fc7f024a47 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cmd2_0.6.7.bb @@ -0,0 +1,20 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Extra features for standard library's cmd module" +HOMEPAGE = "http://packages.python.org/cmd2/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://setup.py;beginline=21;endline=21;md5=a00047b7e92e0781452d0beba4e7b44e" + +SRCNAME = "cmd2" + +SRC_URI = "http://pypi.python.org/packages/source/c/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "842df29ff2f72d64d7f0d917039c0e51" +SRC_URI[sha256sum] = "8e98c7a1cfd106183559240b269e7cd9fe97e8342b5c05295f591aab6fd2f4f0" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += "python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-cython_0.20.2.bb b/meta-python/recipes-devtools/python/python-cython_0.20.2.bb new file mode 100644 index 0000000000..3966e0b96e --- /dev/null +++ b/meta-python/recipes-devtools/python/python-cython_0.20.2.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Cython is a language specially designed for writing Python extension modules. \ +It's designed to bridge the gap between the nice, high-level, easy-to-use world of Python \ +and the messy, low-level world of C." +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa" +SRCNAME = "Cython" +BBCLASSEXTEND = "native" + +SRC_URI = "http://www.cython.org/release/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +SRC_URI[md5sum] = "7fc13e1c665bdf7cea19ad08906af91f" +SRC_URI[sha256sum] = "ed13b606a2aeb5bd6c235f8ed6c9988c99d01a033d0d21d56137c13d5c7be63f" + +inherit setuptools + +RDEPENDS_${PN} += "\ + python-distribute \ + python-netserver \ + python-subprocess \ + python-shell \ +" +RDEPENDS_${PN}_class-native = "" diff --git a/meta-python/recipes-devtools/python/python-dateutil_1.5.bb b/meta-python/recipes-devtools/python/python-dateutil_1.5.bb new file mode 100644 index 0000000000..37f19a839a --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dateutil_1.5.bb @@ -0,0 +1,22 @@ +SUMMARY = "Extensions to the standard Python date/time support" +HOMEPAGE = "http://labix.org/python-dateutil" +SECTION = "devel/python" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6" +SRCNAME = "${BPN}" + +SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +PACKAGES =+ "${PN}-zoneinfo" +FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo" + +RDEPENDS_${PN} = "\ + python-core \ + python-datetime \ +" + +SRC_URI[md5sum] = "35f3732db3f2cc4afdc68a8533b60a52" +SRC_URI[sha256sum] = "c08aca7d85f8f8eed61e83b3423b829262c596a9a78f7ca3de0bcee2217d0e3b" diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch b/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch new file mode 100644 index 0000000000..fdd00b6a4d --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock/0001-Add-functionality-to-add-own-objects-to-internal-obj.patch @@ -0,0 +1,53 @@ +From eebe0f66435c4d821b0f5f93f69efe17b4a384c2 Mon Sep 17 00:00:00 2001 +From: Simon Busch <simon.busch@lge.com> +Date: Wed, 9 Apr 2014 13:18:33 +0200 +Subject: [PATCH 1/2] Add functionality to add own objects to internal object + list + +In some case the tests might want to create dynamically dbus objects which extended +functionality from own class definitions within templates. In such cases we need to +register those objects with the internal object manager of dbusmock. + +Signed-off-by: Simon Busch <simon.busch@lge.com> +--- + dbusmock/__init__.py | 4 ++-- + dbusmock/mockobject.py | 8 ++++++++ + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/dbusmock/__init__.py b/dbusmock/__init__.py +index f799cc7..6718c06 100644 +--- a/dbusmock/__init__.py ++++ b/dbusmock/__init__.py +@@ -14,8 +14,8 @@ __license__ = 'LGPL 3+' + __version__ = '0.10.1' + + from dbusmock.mockobject import (DBusMockObject, MOCK_IFACE, +- OBJECT_MANAGER_IFACE, get_object, get_objects) ++ OBJECT_MANAGER_IFACE, get_object, get_objects, add_object) + from dbusmock.testcase import DBusTestCase + + __all__ = ['DBusMockObject', 'MOCK_IFACE', 'OBJECT_MANAGER_IFACE', +- 'DBusTestCase', 'get_object', 'get_objects'] ++ 'DBusTestCase', 'get_object', 'get_objects', 'add_object'] +diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py +index 97b79ce..a98e03d 100644 +--- a/dbusmock/mockobject.py ++++ b/dbusmock/mockobject.py +@@ -682,6 +682,14 @@ dbus.service._method_lookup = _dbusmock_method_lookup + # Helper API for templates + # + ++def add_object(path, obj): ++ if path in objects: ++ raise dbus.exceptions.DBusException( ++ 'org.freedesktop.DBus.Mock.NameError', ++ 'object %s already exists' % path) ++ ++ objects[path] = obj ++ + + def get_objects(): + '''Return all existing object paths''' +-- +1.7.9.5 + diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch b/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch new file mode 100644 index 0000000000..f3ab53c546 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock/0001-Don-t-use-gobject-introspection-for-bindings.patch @@ -0,0 +1,29 @@ +From 29960f2fce7ab42ed0a1bf8ce96499fdb6eedf3c Mon Sep 17 00:00:00 2001 +From: Simon Busch <simon.busch@lge.com> +Date: Tue, 25 Mar 2014 15:28:54 +0100 +Subject: [PATCH] Don't use gobject introspection for bindings + +In our environment we're not providing the glib python bindings through +introspection but just pygobject so we need to use the right import. + +Signed-off-by: Simon Busch <simon.busch@lge.com> +--- + dbusmock/__main__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dbusmock/__main__.py b/dbusmock/__main__.py +index 44b63fb..bfd089c 100644 +--- a/dbusmock/__main__.py ++++ b/dbusmock/__main__.py +@@ -51,7 +51,7 @@ def parse_args(): + + if __name__ == '__main__': + import dbus.mainloop.glib +- from gi.repository import GLib ++ import glib as GLib + + args = parse_args() + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) +-- +1.7.9.5 + diff --git a/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch b/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch new file mode 100644 index 0000000000..981694f0e8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock/0002-Add-possibility-to-import-templates-from-packages.patch @@ -0,0 +1,29 @@ +From ff1dffd5673bcd2cbd9554ad62476d108dbc18af Mon Sep 17 00:00:00 2001 +From: Simon Busch <simon.busch@lge.com> +Date: Wed, 9 Apr 2014 13:20:33 +0200 +Subject: [PATCH 2/2] Add possibility to import templates from packages + +Does not have any unit tests yet. + +Signed-off-by: Simon Busch <simon.busch@lge.com> +--- + dbusmock/mockobject.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/dbusmock/mockobject.py b/dbusmock/mockobject.py +index a98e03d..9530c2a 100644 +--- a/dbusmock/mockobject.py ++++ b/dbusmock/mockobject.py +@@ -49,6 +49,9 @@ def load_module(name): + + return module + ++ if '.' in name: ++ return importlib.import_module(name) ++ + return importlib.import_module('dbusmock.templates.' + name) + + +-- +1.7.9.5 + diff --git a/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb b/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb new file mode 100644 index 0000000000..b24794395a --- /dev/null +++ b/meta-python/recipes-devtools/python/python-dbusmock_0.10.1.bb @@ -0,0 +1,22 @@ +# Copyright (c) 2014 LG Electronics, Inc. + +SUMMARY = "With this program/Python library you can easily create mock objects on D-Bus" +AUTHOR = "Martin Pitt <martin.pitt@ubuntu.com>" +SECTION = "devel/python" + +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02" + +DEPENDS += "python-pygobject python-dbus" + +SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BP}.tar.gz" +SRC_URI[md5sum] = "7370d325c4a75494dd71885ca65b79e8" +SRC_URI[sha256sum] = "03aadc93bdc26ea18d4d78fcff7b6cb34f4e18623bc5cc41cf9539d663cee11e" + +SRC_URI += " \ + file://0001-Don-t-use-gobject-introspection-for-bindings.patch \ + file://0001-Add-functionality-to-add-own-objects-to-internal-obj.patch \ + file://0002-Add-possibility-to-import-templates-from-packages.patch \ +" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb b/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb new file mode 100644 index 0000000000..43166304a2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-decorator_3.4.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python decorator utilities" +HOMEPAGE = "http://pypi.python.org/pypi/decorator/" +DESCRIPTION = "\ +The aim of the decorator module it to simplify the usage of decorators \ +for the average programmer, and to popularize decorators by showing \ +various non-trivial examples. Of course, as all techniques, decorators \ +can be abused and you should not try to solve every problem with a \ +decorator, just because you can." + +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://documentation3.py;beginline=848;endline=877;md5=0b56661417fb7b841afc8892e14ba241" + +SRCNAME = "decorator" + +SRC_URI = "https://pypi.python.org/packages/source/d/decorator/decorator-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +SRC_URI[md5sum] = "1e8756f719d746e2fc0dd28b41251356" +SRC_URI[sha256sum] = "c20b404cbb7ee5cebd506688e0114e3cd76f5ce233805a51f36e1a7988d9d783" diff --git a/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb b/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb new file mode 100644 index 0000000000..4ec0668575 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-epydoc_3.0.1.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Epydoc is a tool for generating API documentation for Python modules, based on their docstrings" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=011c0d78eb6054d731c879132d7313f0" +HOMEPAGE = "http://epydoc.sourceforge.net/" +SRCNAME = "epydoc" +DEPENDS += "python" +DEPENDS_virtclass-native += "python-native" + +SRC_URI = "http://downloads.sourceforge.net/project/${SRCNAME}/${SRCNAME}/${PV}/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "cdd6f6c76dd8bab5e653a343a0544294" +SRC_URI[sha256sum] = "d4e5c8d90937d01b05170f592c1fa9b29e9ed0498dfe7f0eb2a3af61725b6ad1" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb b/meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb new file mode 100644 index 0000000000..92d55682f5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-feedparser_5.1.3.bb @@ -0,0 +1,14 @@ +SUMMARY = "Python Atom and RSS feed parser" +HOMEPAGE = "http://code.google.com/p/feedparser" +SECTION = "devel/python" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=f5fbe7f8b71b4019eca5ac5f900fd8ad" + +SRC_URI = "http://feedparser.googlecode.com/files/feedparser-${PV}.tar.bz2" +SRC_URI[md5sum] = "6fb6372a1dc2f56d4d79d740b8f49f25" +SRC_URI[sha256sum] = "7f6507d400d07edfd1ea8205da36808009b0c539f5b8a6e0ab54337b955e6dc3" + +S = "${WORKDIR}/feedparser-${PV}" + +inherit setuptools + diff --git a/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb b/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb new file mode 100644 index 0000000000..a7376db5d1 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-flufl-enum_4.0.1.bb @@ -0,0 +1,33 @@ +SUMMARY = "A Python enumeration package." +DESCRIPTION = "The flufl.enum library is a Python enumeration package. Its goal is to provide simple, \ +specific, concise semantics in an easy to read and write syntax. flufl.enum has just enough of the \ +features needed to make enumerations useful, but without a lot of extra baggage to weigh them down. " +HOMEPAGE = "https://pypi.python.org/pypi/flufl.enum" +SECTION = "devel/python" + +LICENSE = "LGPLv3" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=1fa25baed15d3be23c902636379438e8" + +SRCNAME = "flufl.enum" + +SRC_URI = " \ + http://pypi.python.org/packages/source/f/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ +" + +SRC_URI[md5sum] = "b3ad23761a78232bc78499ced7cb85d9" +SRC_URI[sha256sum] = "4af7e7cf2dcc7517251570c7ef9ad194e30ee4b6f860eba500c03954ae95f9d8" + +inherit setuptools + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +PACKAGES =+ "\ + ${PN}-test \ +" + +FILES_${PN}-doc += "\ + ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/*.rst \ + ${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/docs \ +" + +FILES_${PN}-test += "${libdir}/${PYTHON_DIR}/site-packages/flufl/enum/tests" diff --git a/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb b/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb new file mode 100644 index 0000000000..ea602779be --- /dev/null +++ b/meta-python/recipes-devtools/python/python-gdata_1.2.4.bb @@ -0,0 +1,18 @@ +SUMMARY = "Google Data APIs Python Client Library" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.txt;md5=473bd4dff0ddca1f958244b2dc7a162c" +HOMEPAGE = "http://code.google.com/p/gdata-python-client/" + +inherit distutils + +SRC_URI = "http://gdata-python-client.googlecode.com/files/gdata.py-${PV}.tar.gz" +SRC_URI[md5sum] = "521f33a377d64f8a6505ba119415b787" +SRC_URI[sha256sum] = "fc5ddb8f76b17abd728721a0e0177ea35f55a70106f44dc9010b22eceb06abde" + +S = "${WORKDIR}/gdata.py-${PV}" + +FILES_${PN} += "${datadir}" + +RDEPENDS_${PN} = "python-elementtree" + diff --git a/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb b/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb new file mode 100644 index 0000000000..3fd3e7c536 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-gevent_0.13.8.bb @@ -0,0 +1,19 @@ +SUMMARY = "A coroutine-based Python networking library" +DESCRIPTION = "gevent is a coroutine-based Python networking library that uses greenlet to provide \ +a high-level synchronous API on top of the libevent event loop." +HOMEPAGE = "http://www.gevent.org" +SECTION = "devel/python" +LICENSE = "MIT & BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2 \ + file://LICENSE.pyevent;md5=718070c63de243053e2c616268b00fdd" +DEPENDS += "python-greenlet libevent" +RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re" + +SRC_URI = "http://pypi.python.org/packages/source/g/gevent/gevent-${PV}.tar.gz" +SRC_URI[md5sum] = "ca9dcaa7880762d8ebbc266b11252960" +SRC_URI[sha256sum] = "54b8d26300ce408c0916a3e63ef6cd3e6aca76230833558deb7de15196ed955e" + +S = "${WORKDIR}/gevent-${PV}" + +inherit setuptools + diff --git a/meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb b/meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb new file mode 100644 index 0000000000..a6db8ab7b3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-greenlet_0.4.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "Python lightweight in-process concurrent programming" +HOMEPAGE = "http://pypi.python.org/pypi/greenlet" +SECTION = "devel/python" +LICENSE = "MIT & PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=03143d7a1a9f5d8a0fee825f24ca9c36 \ + file://LICENSE.PSF;md5=c106931d9429eda0492617f037b8f69a" +SRC_URI = "http://pypi.python.org/packages/source/g/greenlet/greenlet-${PV}.zip" +SRC_URI[md5sum] = "c2deda75bdda59c38cae12a77cc53adc" +SRC_URI[sha256sum] = "ea671592f8460541286b133ed46a6cf5311a6b75051cc31b53e2bc38992b775a" + +S = "${WORKDIR}/greenlet-${PV}" + +inherit distutils + diff --git a/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch b/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch new file mode 100644 index 0000000000..a703d342e9 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-ldap/setup.cfg.patch @@ -0,0 +1,14 @@ +--- python-ldap-2.3.9/setup.cfg.orig 2009-08-13 11:07:23.000000000 +0200 ++++ python-ldap-2.3.9/setup.cfg 2009-08-13 11:07:37.000000000 +0200 +@@ -1,9 +1,9 @@ + [_ldap] + extra_objects = + extra_compile_args = +-libs = ldap_r lber sasl2 ssl crypto ++libs = ldap_r lber ssl crypto + library_dirs = /opt/openldap-RE24/lib +-include_dirs = /opt/openldap-RE24/include /usr/include/sasl ++include_dirs = /opt/openldap-RE24/include + + [egg_info] + tag_build = diff --git a/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb b/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb new file mode 100644 index 0000000000..bc4993bdb9 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-ldap_2.3.9.bb @@ -0,0 +1,13 @@ +DESCRIPTION = "LDAP client API for Python, C wrapper module around OpenLDAP 2.x with an object-oriented API" +SECTION = "devel/python" +LICENSE = "Python-style" +LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555" +HOMEPAGE = "http://www.python-ldap.org/" +DEPENDS = "python openldap" + +SRC_URI = "http://pypi.python.org/packages/source/p/${BPN}/${BP}.tar.gz \ + file://setup.cfg.patch" +SRC_URI[md5sum] = "a9f9f16338288d118a1ae6266c993247" +SRC_URI[sha256sum] = "62f75b21c5ee744408c9d8b59878328b3bdf47899d30e8abf0c09b3ffb893ed4" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb b/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb new file mode 100644 index 0000000000..78a878a15b --- /dev/null +++ b/meta-python/recipes-devtools/python/python-ldap_2.4.10.bb @@ -0,0 +1,27 @@ +# +# Copyright (C) 2012 Wind River Systems, Inc. +# +SUMMARY = "Provides a wrapper in Python to LDAP" +DESCRIPTION = "This module provides access to the LDAP \ +(Lightweight Directory Access Protocol) through Python operations \ +instead of C API. The module mainly acts as a wrapper for the \ +OpenLDAP 2.x libraries. Errors will appear as exceptions." + +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "PSF" +HOMEPAGE = "http://www.python-ldap.org/" +DEPENDS = "python openldap cyrus-sasl" + +SRC_URI = "http://pypi.python.org/packages/source/p/${PN}/${BPN}-${PV}.tar.gz" + +inherit setuptools + +LIC_FILES_CHKSUM = "file://LICENCE;md5=a41c82edffa04912007cae1d20cac555" +SRC_URI[md5sum] = "a15827ca13c90e9101e5e9405c1d83be" +SRC_URI[sha256sum] = "67cc7801bf24c29386ab99966ceb68d6a60fa9e0566cc95a4fbb2c4695a8ce54" + +do_configure_prepend() { + sed -i -e 's:^library_dirs =.*::' setup.cfg + sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg +} diff --git a/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch b/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch new file mode 100644 index 0000000000..0a8e211bd3 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-lxml/python-lxml-3.2.5-fix-CVE-2014-3146.patch @@ -0,0 +1,91 @@ +Upstream-status:Backport + +--- a/src/lxml/html/clean.py ++++ b/src/lxml/html/clean.py +@@ -70,9 +70,10 @@ _css_import_re = re.compile( + + # All kinds of schemes besides just javascript: that can cause + # execution: +-_javascript_scheme_re = re.compile( +- r'\s*(?:javascript|jscript|livescript|vbscript|data|about|mocha):', re.I) +-_substitute_whitespace = re.compile(r'\s+').sub ++_is_javascript_scheme = re.compile( ++ r'(?:javascript|jscript|livescript|vbscript|data|about|mocha):', ++ re.I).search ++_substitute_whitespace = re.compile(r'[\s\x00-\x08\x0B\x0C\x0E-\x19]+').sub + # FIXME: should data: be blocked? + + # FIXME: check against: http://msdn2.microsoft.com/en-us/library/ms537512.aspx +@@ -467,7 +468,7 @@ class Cleaner(object): + def _remove_javascript_link(self, link): + # links like "j a v a s c r i p t:" might be interpreted in IE + new = _substitute_whitespace('', link) +- if _javascript_scheme_re.search(new): ++ if _is_javascript_scheme(new): + # FIXME: should this be None to delete? + return '' + return link +--- a/src/lxml/html/tests/test_clean.txt ++++ b/src/lxml/html/tests/test_clean.txt +@@ -1,3 +1,4 @@ ++>>> import re + >>> from lxml.html import fromstring, tostring + >>> from lxml.html.clean import clean, clean_html, Cleaner + >>> from lxml.html import usedoctest +@@ -17,6 +18,7 @@ + ... <body onload="evil_function()"> + ... <!-- I am interpreted for EVIL! --> + ... <a href="javascript:evil_function()">a link</a> ++... <a href="j\x01a\x02v\x03a\x04s\x05c\x06r\x07i\x0Ep t:evil_function()">a control char link</a> + ... <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a> + ... <a href="#" onclick="evil_function()">another link</a> + ... <p onclick="evil_function()">a paragraph</p> +@@ -33,7 +35,7 @@ + ... </body> + ... </html>''' + +->>> print(doc) ++>>> print(re.sub('[\x00-\x07\x0E]', '', doc)) + <html> + <head> + <script type="text/javascript" src="evil-site"></script> +@@ -49,6 +51,7 @@ + <body onload="evil_function()"> + <!-- I am interpreted for EVIL! --> + <a href="javascript:evil_function()">a link</a> ++ <a href="javascrip t:evil_function()">a control char link</a> + <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a> + <a href="#" onclick="evil_function()">another link</a> + <p onclick="evil_function()">a paragraph</p> +@@ -81,6 +84,7 @@ + <body onload="evil_function()"> + <!-- I am interpreted for EVIL! --> + <a href="javascript:evil_function()">a link</a> ++ <a href="javascrip%20t:evil_function()">a control char link</a> + <a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgidGVzdCIpOzwvc2NyaXB0Pg==">data</a> + <a href="#" onclick="evil_function()">another link</a> + <p onclick="evil_function()">a paragraph</p> +@@ -104,6 +108,7 @@ + </head> + <body> + <a href="">a link</a> ++ <a href="">a control char link</a> + <a href="">data</a> + <a href="#">another link</a> + <p>a paragraph</p> +@@ -123,6 +128,7 @@ + </head> + <body> + <a href="">a link</a> ++ <a href="">a control char link</a> + <a href="">data</a> + <a href="#">another link</a> + <p>a paragraph</p> +@@ -146,6 +152,7 @@ + </head> + <body> + <a href="">a link</a> ++ <a href="">a control char link</a> + <a href="">data</a> + <a href="#">another link</a> + <p>a paragraph</p> diff --git a/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb new file mode 100644 index 0000000000..1fa2889958 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-lxml_3.2.5.bb @@ -0,0 +1,35 @@ +SUMMARY = "Python XML bindings for libxml2 and libxslt" +DESCRIPTION = "Powerful and Pythonic XML processing library combining \ +libxml2/libxslt with the ElementTree API." +HOMEPAGE = "http://codespeak.net/lxml" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=f9f1dc24f720c143c2240df41fe5073b" +SRCNAME = "lxml" + +DEPENDS = "libxml2 libxslt" + +SRC_URI = "http://pypi.python.org/packages/source/l/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ + file://python-lxml-3.2.5-fix-CVE-2014-3146.patch " + +SRC_URI[md5sum] = "6c4fb9b1840631cff09b8229a12a9ef7" +SRC_URI[sha256sum] = "2bf072808a6546d0e56bf1ad3b98a43cca828724360d7419fad135141bd31f7e" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +DISTUTILS_BUILD_ARGS += " \ + --with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \ + --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \ +" + +DISTUTILS_INSTALL_ARGS += " \ + --with-xslt-config='${STAGING_BINDIR_NATIVE}/pkg-config libxslt' \ + --with-xml2-config='${STAGING_BINDIR_CROSS}/xml2-config' \ +" + +BBCLASSEXTEND = "native nativesdk" + +RDEPENDS_${PN} += "libxml2 libxslt python-compression" +RDEPENDS_${PN}_virtclass-native = "libxml2-native libxslt-native" + diff --git a/meta-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch b/meta-python/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-python/recipes-devtools/python/python-m2crypto/0001-setup.py-link-in-sysroot-not-in-host-directories.patch @@ -0,0 +1,39 @@ +From f11b9c71080513f9b867ba8f40613ba2ebc6e960 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Fri, 29 Mar 2013 15:17:17 +0100 +Subject: [PATCH] setup.py: link in sysroot, not in host directories + +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> + +Upstream-status: Unknown +--- + setup.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/setup.py b/setup.py +index e7c49eb..8deaa34 100644 +--- a/setup.py ++++ b/setup.py +@@ -40,7 +40,7 @@ class _M2CryptoBuildExt(build_ext.build_ext): + self.openssl = 'c:\\pkg' + else: + self.libraries = ['ssl', 'crypto'] +- self.openssl = '/usr' ++ self.openssl = os.environ.get( "STAGING_DIR" ) + + + def finalize_options(self): +@@ -49,8 +49,8 @@ class _M2CryptoBuildExt(build_ext.build_ext): + + build_ext.build_ext.finalize_options(self) + +- opensslIncludeDir = os.path.join(self.openssl, 'include') +- opensslLibraryDir = os.path.join(self.openssl, 'lib') ++ opensslIncludeDir = os.environ.get( "STAGING_INCDIR" ) ++ opensslLibraryDir = os.environ.get( "STAGING_LIBDIR" ) + + self.swig_opts = ['-I%s' % i for i in self.include_dirs + \ + [opensslIncludeDir]] +-- +1.8.1.4 + diff --git a/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb new file mode 100644 index 0000000000..67ec9214ad --- /dev/null +++ b/meta-python/recipes-devtools/python/python-m2crypto_0.21.1.bb @@ -0,0 +1,44 @@ +SUMMARY = "A Python crypto and SSL toolkit" +HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto" + +DEPENDS = "openssl swig-native python" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e" + +SRC_URI = "http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-${PV}.tar.gz \ + file://0001-setup.py-link-in-sysroot-not-in-host-directories.patch" + +SRC_URI[md5sum] = "f93d8462ff7646397a9f77a2fe602d17" +SRC_URI[sha256sum] = "25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a" + +S = "${WORKDIR}/M2Crypto-${PV}" + +inherit setuptools + +SWIG_FEATURES_x86-64 = "-D__x86_64__" +SWIG_FEATURES ?= "" +export SWIG_FEATURES + +# Get around a problem with swig, but only if the +# multilib header file exists. +# +do_compile_prepend() { + if [ "${SITEINFO_BITS}" = "64" ];then + bit="64" + else + bit="32" + fi + + if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then + for i in SWIG/_ec.i SWIG/_evp.i; do + sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i" + done + elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then + for i in SWIG/_ec.i SWIG/_evp.i; do + sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i" + done + fi +} + +BBCLASSEXTEND = "native" diff --git a/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch new file mode 100644 index 0000000000..9381583537 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch @@ -0,0 +1,29 @@ +This fixes the dependency checks inside of setup.py since things like +'import numpy' won't work with bitbake. + +diff --git a/setup.py b/setup.py +index 2f13821..e6d6ed0 100644 +--- a/setup.py ++++ b/setup.py +@@ -113,12 +113,6 @@ if 1: + baseline_images = [chop_package(f) for f in baseline_images] + package_data['matplotlib'].extend(baseline_images) + +-if not check_for_numpy(): +- sys.exit(1) +- +-if not check_for_freetype(): +- sys.exit(1) +- + build_ft2font(ext_modules, packages) + build_ttconv(ext_modules, packages) + build_contour(ext_modules, packages) +@@ -129,7 +123,7 @@ build_tri(ext_modules, packages) + + print_raw("") + print_raw("OPTIONAL BACKEND DEPENDENCIES") +-has_libpng = check_for_libpng() ++has_libpng = True + + if has_libpng and options['build_agg']: + build_agg(ext_modules, packages) diff --git a/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch new file mode 100644 index 0000000000..9a13a1850f --- /dev/null +++ b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch @@ -0,0 +1,40 @@ +This fixes the numpy import problem in setupext.py using a hard-coded path. + +Index: matplotlib-1.1.0/setupext.py +=================================================================== +--- matplotlib-1.1.0.orig/setupext.py ++++ matplotlib-1.1.0/setupext.py +@@ -122,8 +122,8 @@ numpy_inc_dirs = [] + # matplotlib build options, which can be altered using setup.cfg + options = {'display_status': True, + 'verbose': False, +- 'provide_pytz': 'auto', +- 'provide_dateutil': 'auto', ++ 'provide_pytz': False, ++ 'provide_dateutil': False, + 'build_agg': True, + 'build_gtk': 'auto', + 'build_gtkagg': 'auto', +@@ -176,10 +176,7 @@ if os.path.exists(setup_cfg): + except: pass + + # For get_base_flags: +-if options['basedirlist']: +- basedirlist = options['basedirlist'].split() +-else: +- basedirlist = basedir[sys.platform] ++basedirlist = [os.environ['STAGING_LIBDIR']] + print("basedirlist is: %s" % basedirlist) + + if options['display_status']: +@@ -555,8 +552,8 @@ def check_for_numpy(): + + def add_numpy_flags(module): + "Add the modules flags to build extensions which use numpy" +- import numpy +- module.include_dirs.append(numpy.get_include()) ++ # Hard-coded path for OE since I know this is where numpy's include dir will be ++ module.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')) + + def add_png_flags(module): + try_pkgconfig(module, 'libpng', 'png') diff --git a/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb new file mode 100644 index 0000000000..69f71c7116 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats" +SECTION = "devel/python" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81" +PR = "r1" + +DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz" +RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz" + +SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \ + file://fix_setup.patch \ + file://fix_setupext.patch \ +" + +S = "${WORKDIR}/matplotlib-${PV}" + +EXTRA_OECONF = "--disable-docs --with-python-includes=${STAGING_INCDIR}/../" + +inherit distutils + +do_compile_prepend() { + BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ + ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ + true +} + +# need to export these variables for python-config to work +export PYTHONPATH +export BUILD_SYS +export HOST_SYS +export STAGING_INCDIR +export STAGING_LIBDIR + + +SRC_URI[md5sum] = "57a627f30b3b27821f808659889514c2" +SRC_URI[sha256sum] = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7" diff --git a/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb b/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb new file mode 100644 index 0000000000..a056c092cb --- /dev/null +++ b/meta-python/recipes-devtools/python/python-mccabe_0.2.1.bb @@ -0,0 +1,23 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "McCabe checker, plugin for flake8" +HOMEPAGE = "https://github.com/dreamhost/cliff" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.rst;md5=aa0383f6aee4f5c20084a97cd13164c4" + +SRCNAME = "mccabe" + +SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "5a3f3fa6a4bad126c88aaaa7dab682f5" +SRC_URI[sha256sum] = "5a2a170e47de5593a6abfae1e9542bd2c3924ac62bbe4e6ed96c953c0352243a" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-mock_1.0.1.bb b/meta-python/recipes-devtools/python/python-mock_1.0.1.bb new file mode 100644 index 0000000000..a23b5523f4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-mock_1.0.1.bb @@ -0,0 +1,26 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "A Python Mocking and Patching Library for Testing" +HOMEPAGE = "https://pypi.python.org/pypi/mock" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=80e5ba73891255687dff3bee2b4cbb16" + +SRCNAME = "mock" + +SRC_URI = "https://pypi.python.org/packages/source/m/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "c3971991738caa55ec7c356bbc154ee2" +SRC_URI[sha256sum] = "b839dd2d9c117c701430c149956918a423a9863b48b09c90e30a6013e7d2f44f" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing \ + python-mccabe \ + python-pep8 \ + python-pyflakes" diff --git a/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch b/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch new file mode 100644 index 0000000000..c1916b8b9f --- /dev/null +++ b/meta-python/recipes-devtools/python/python-numeric/no-lapack.patch @@ -0,0 +1,33 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- Numeric-23.7/setup.py~nolapack ++++ Numeric-23.7/setup.py +@@ -32,7 +32,7 @@ + mathlibs = [] + + # delete all but the first one in this list if using your own LAPACK/BLAS +-sourcelist = [os.path.join('Src', 'lapack_litemodule.c'), ++sourcelist = [ + #os.path.join('Src', 'blas_lite.c'), + #os.path.join('Src', 'f2c_lite.c'), + #os.path.join('Src', 'zlapack_lite.c'), +@@ -40,12 +40,12 @@ + ] + # set these to use your own BLAS; + +-library_dirs_list = ['/usr/lib/atlas'] +-libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c'] ++library_dirs_list = [] ++libraries_list = [] + + # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct +-use_dotblas = 1 +-include_dirs = ['/usr/include/atlas'] ++use_dotblas = 0 ++include_dirs = [] + # You may need to set this to find cblas.h + # e.g. on UNIX using ATLAS this should be ['/usr/include/atlas'] + extra_link_args = [] diff --git a/meta-python/recipes-devtools/python/python-numeric_24.2.bb b/meta-python/recipes-devtools/python/python-numeric_24.2.bb new file mode 100644 index 0000000000..c0b04e1441 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-numeric_24.2.bb @@ -0,0 +1,14 @@ +SUMMARY = "A sophisticated Numeric Processing Package for Python" +SECTION = "devel/python" +LICENSE = "PSF & LLNL" +LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e" + +PR = "ml3" + +SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz" +S = "${WORKDIR}/Numeric-${PV}" + +inherit distutils + +SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093" +SRC_URI[sha256sum] = "5f72e729eb6ff57442f2a38bfc9931738b59e5077928e2e70d22b4610ff15258" diff --git a/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb b/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb new file mode 100644 index 0000000000..b3c743ebd7 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pep8_1.4.6.bb @@ -0,0 +1,23 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Python style guide checker" +HOMEPAGE = "https://github.com/dreamhost/cliff" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.rst;md5=b0d37793ab91ca25ad5c200e9ea22331" + +SRCNAME = "pep8" + +SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "a03bb494859e87b42601b61b1b043a0c" +SRC_URI[sha256sum] = "603a46e5c358ce20ac4807a0eeafac7505d1125a4c1bd8378757ada06f61bed8" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-pexpect_2.3.bb b/meta-python/recipes-devtools/python/python-pexpect_2.3.bb new file mode 100644 index 0000000000..d4c2ba477d --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pexpect_2.3.bb @@ -0,0 +1,23 @@ +SUMMARY = "A Pure Python Expect like Module for Python" +SECTION = "devel/python" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=04a2bf11b85ce49d4a8c0c413fd34404" +SRCNAME = "pexpect" +PR = "ml3" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +RDEPENDS_${PN} = "\ + python-core \ + python-io \ + python-terminal \ + python-resource \ + python-fcntl \ +" + + +SRC_URI[md5sum] = "bf107cf54e67bc6dec5bea1f3e6a65c3" +SRC_URI[sha256sum] = "d315e7f3a8544fd85034d7e17fd7c5854e8f0828f5791f83cf313f8fa5740b75" diff --git a/meta-python/recipes-devtools/python/python-pip_1.3.1.bb b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb new file mode 100644 index 0000000000..d1a7c8b3ae --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pip_1.3.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "PIP is a tool for installing and managing Python packages" +LICENSE = "MIT & GPL" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd00425a3465a0e4c81929b94241d3de" + +SRC_URI = "https://pypi.python.org/packages/source/p/pip/pip-${PV}.tar.gz" +SRC_URI[md5sum] = "cbb27a191cebc58997c4da8513863153" +SRC_URI[sha256sum] = "145eaa5d1ea1b062663da1f3a97780d7edea4c63c68a37c463b1deedf7bb4957" + +S = "${WORKDIR}/pip-${PV}" + +inherit setuptools + +# Since PIP is like CPAN for PERL we need to drag in all python modules to ensure everything works +RDEPENDS_${PN} = "python-modules" diff --git a/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb b/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb new file mode 100644 index 0000000000..fdc13eb119 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-prettytable_0.7.2.bb @@ -0,0 +1,25 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Python library for displaying tabular data in a ASCII table format" +HOMEPAGE = "http://code.google.com/p/prettytable" +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=3e73500ffa52de5071cff65990055282" + +SRCNAME = "prettytable" + +SRC_URI = "http://pypi.python.org/packages/source/P/PrettyTable/${SRCNAME}-${PV}.zip" + +SRC_URI[md5sum] = "0c1361104caff8b09f220748f9d69899" +SRC_URI[sha256sum] = "a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +do_install_append() { + perm_files=`find "${D}${PYTHON_SITEPACKAGES_DIR}/" -name "top_level.txt"` + for f in $perm_files; do + chmod 644 "${f}" + done +} diff --git a/meta-python/recipes-devtools/python/python-psutil_0.6.1.bb b/meta-python/recipes-devtools/python/python-psutil_0.6.1.bb new file mode 100644 index 0000000000..ff113d0f24 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-psutil_0.6.1.bb @@ -0,0 +1,14 @@ +SUMMARY = "A cross-platform process and system utilities module for Python" +SECTION = "devel/python" +HOMEPAGE = "http://code.google.com/p/psutil" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=0f02e99f7f3c9a7fe8ecfc5d44c2be62" + +SRC_URI = "http://psutil.googlecode.com/files/psutil-${PV}.tar.gz" +SRC_URI[md5sum] = "3cfcbfb8525f6e4c70110e44a85e907e" +SRC_URI[sha256sum] = "d665a4cc58c9a5d207fb0dc9869fc0ee10f4f66ad885e84886ef6339ccce0a6f" + +S = "${WORKDIR}/psutil-${PV}" + +inherit setuptools + diff --git a/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb new file mode 100644 index 0000000000..0e660adff6 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyalsaaudio_0.4.bb @@ -0,0 +1,15 @@ +SUMMARY = "Support for the Linux 2.6.x ALSA Sound System" +SECTION = "devel/python" +DEPENDS = "alsa-lib" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d" +SRCNAME = "pyalsaaudio" +PR = "ml2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898" +SRC_URI[sha256sum] = "07148ce16024724b17cc24c51d0f4fb78af214b09b7dc8dcb7b06e5647f4c582" diff --git a/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb b/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb new file mode 100644 index 0000000000..ce48cd7323 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyflakes_0.7.3.bb @@ -0,0 +1,23 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "passive checker of Python programs" +HOMEPAGE = "https://github.com/dreamhost/cliff" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.rst;md5=1815018ebbbfc8659a9df33681a0936e" + +SRCNAME = "pyflakes" + +SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" + +SRC_URI[md5sum] = "ec94ac11cb110e6e72cca23c104b66b1" +SRC_URI[sha256sum] = "dbd2c940a1030a4f811afc1a04017a44011c0cb54f8f384b66aa624097d9b5e3" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += " \ + python-prettytable \ + python-cmd2 \ + python-pyparsing" diff --git a/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb b/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb new file mode 100644 index 0000000000..06d6d40143 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyparsing_2.0.1.bb @@ -0,0 +1,18 @@ +# Imported from git://git.yoctoproject.org/meta-cloud-services + +SUMMARY = "Python parsing module" +HOMEPAGE = "http://pyparsing.wikispaces.com/" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fb46329938e6bc829b256e37d5c1e31a" + +SRCNAME = "pyparsing" + +SRC_URI = "http://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.zip" + +SRC_URI[md5sum] = "dc7036a6f1ab01c3baed3d97af8d77c0" +SRC_URI[sha256sum] = "7e1766ee747cca79fe172b670fd53ef58fc55d2b1804fd6c66d857abb62d143a" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils diff --git a/meta-python/recipes-devtools/python/python-pyserial_2.4.bb b/meta-python/recipes-devtools/python/python-pyserial_2.4.bb new file mode 100644 index 0000000000..2263b2ccc0 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyserial_2.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "Serial Port Support for Python" +SECTION = "devel/python" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7424386ffe323e815ee62ee9ad591dd8" +SRCNAME = "pyserial" +PR = "ml4" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +# FIXME might stop packaging serialwin32 and serialjava files + +RDEPENDS_${PN} = "\ + python-fcntl \ + python-io \ + python-stringold \ +" + +SRC_URI[md5sum] = "eec19df59fd75ba5a136992897f8e468" +SRC_URI[sha256sum] = "6b6a9e3d2fd5978c92c843e0109918a4bcac481eecae316254481c0e0f7e73c8" diff --git a/meta-python/recipes-devtools/python/python-pytz_2014.7.bb b/meta-python/recipes-devtools/python/python-pytz_2014.7.bb new file mode 100644 index 0000000000..92d07961c5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pytz_2014.7.bb @@ -0,0 +1,19 @@ +SUMMARY = "World timezone definitions, modern and historical" +HOMEPAGE = " http://pythonhosted.org/pytz" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6" +SRCNAME = "pytz" + +SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = "\ + python-core \ + python-datetime \ +" + +SRC_URI[md5sum] = "8940ddae309e44b593c75a9e05dd2a0b" +SRC_URI[sha256sum] = "bfc2bd00147e5ecf75399f4a94cb84cc00ce9b511a15f9958bb6c85a455f76eb" diff --git a/meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb b/meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb new file mode 100644 index 0000000000..964b5f92b5 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyudev_0.16.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "A libudev binding" +HOMEPAGE = "http://pypi.python.org/pypi/pyudev" +SECTION = "devel/python" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRCNAME = "pyudev" +SRC_URI = "http://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "4034de584b6d9efcbfc590a047c63285" +SRC_URI[sha256sum] = "765d1c14bd9bd031f64e2612225621984cb2bbb8cbc0c03538bcc4c735ff1c95" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +do_configure_prepend() { + sed -i "/import pyudev/d" ${S}/setup.py + sed -i "s/str(pyudev.__version__)/'${PV}'/g" ${S}/setup.py +} + +RDEPENDS_${PN} = "\ + python-ctypes \ + python-subprocess \ + python-misc \ +" diff --git a/meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb b/meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb new file mode 100644 index 0000000000..360f213221 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyusb_1.0.0a2.bb @@ -0,0 +1,18 @@ +SUMMARY = "PyUSB provides USB access on the Python language" +HOMEPAGE = "http://pyusb.sourceforge.net/" +SECTION = "devel/python" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a53a9c39efcfb812e2464af14afab013" +DEPENDS = "libusb1" +PR = "r1" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pyusb/${SRCNAME}-${PV}.tar.gz \ +" +SRC_URI[md5sum] = "9136b3dc019272c62a5b6d4eb624f89f" +SRC_URI[sha256sum] = "dacbf7d568c0bb09a974d56da66d165351f1ba3c4d5169ab5b734266623e1736" + +SRCNAME = "pyusb" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils diff --git a/meta-python/recipes-devtools/python/python-pyyaml/setup.py b/meta-python/recipes-devtools/python/python-pyyaml/setup.py new file mode 100644 index 0000000000..fb64983419 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyyaml/setup.py @@ -0,0 +1,64 @@ +NAME = 'PyYAML' +VERSION = '3.06' +DESCRIPTION = "YAML parser and emitter for Python" +LONG_DESCRIPTION = """\ +YAML is a data serialization format designed for human readability and +interaction with scripting languages. PyYAML is a YAML parser and +emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that allow +to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistance.""" +AUTHOR = "Kirill Simonov" +AUTHOR_EMAIL = 'xi@resolvent.net' +LICENSE = "MIT" +PLATFORMS = "Any" +URL = "http://pyyaml.org/wiki/PyYAML" +DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION) +CLASSIFIERS = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Text Processing :: Markup", +] + +from distutils.core import setup +from distutils.extension import Extension +from Cython.Distutils import build_ext + +import sys, os.path + + +if __name__ == '__main__': + + setup( + name=NAME, + version=VERSION, + description=DESCRIPTION, + long_description=LONG_DESCRIPTION, + author=AUTHOR, + author_email=AUTHOR_EMAIL, + license=LICENSE, + platforms=PLATFORMS, + url=URL, + download_url=DOWNLOAD_URL, + classifiers=CLASSIFIERS, + + package_dir={'': 'lib'}, + packages=['yaml'], + + ext_modules = [ + Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] ) + ], + + cmdclass={ + 'build_ext': build_ext, + }, + ) diff --git a/meta-python/recipes-devtools/python/python-pyyaml_3.10.bb b/meta-python/recipes-devtools/python/python-pyyaml_3.10.bb new file mode 100644 index 0000000000..100e1c81ac --- /dev/null +++ b/meta-python/recipes-devtools/python/python-pyyaml_3.10.bb @@ -0,0 +1,22 @@ +SUMMARY = "Python support for YAML" +HOMEPAGE = "http://www.pyyaml.org" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" +DEPENDS = "libyaml python-cython-native" + +SRC_URI = "http://pyyaml.org/download/pyyaml/PyYAML-${PV}.tar.gz \ + file://setup.py \ +" + +SRC_URI[md5sum] = "74c94a383886519e9e7b3dd1ee540247" +SRC_URI[sha256sum] = "e713da45c96ca53a3a8b48140d4120374db622df16ab71759c9ceb5b8d46fe7c" + +S = "${WORKDIR}/PyYAML-${PV}" + +inherit distutils + +do_configure_prepend() { + # upstream setup.py overcomplicated, use ours + install -m 0644 ${WORKDIR}/setup.py ${S} +} diff --git a/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb b/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb new file mode 100644 index 0000000000..2714f43221 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-slip-dbus_0.6.0.bb @@ -0,0 +1,27 @@ +SUMMARY = "Convenience functions for dbus services in Python 2.x" +HOMEPAGE = "http://nphilipp.fedorapeople.org/python-slip/" +DESCRIPTION = "\ +The Simple Library for Python 2.x packages contain miscellaneous code for \ +convenience, extension and workaround purposes. \ +\ +This package provides slip.dbus.service.Object, which is a dbus.service.Object \ +derivative that ends itself after a certain time without being used and/or if \ +there are no clients anymore on the message bus, as well as convenience \ +functions and decorators for integrating a dbus service with PolicyKit." + +SECTION = "devel/python" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=5574c6965ae5f583e55880e397fbb018" +SRCNAME = "python-slip" + +SRC_URI = "https://fedorahosted.org/released/${SRCNAME}/${SRCNAME}-${PV}.tar.bz2" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +SRC_URI[md5sum] = "fb3299d75af1a67ca6679d96ce839da6" +SRC_URI[sha256sum] = "f47361ec52b608309b83c71905e692b6b363eaf3b8a7afdeff866cd94463ad5c" + +do_compile_prepend() { + sed -e 's/@VERSION@/${PV}/g' setup.py.in > setup.py +} diff --git a/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb b/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb new file mode 100644 index 0000000000..df47df6248 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-smbus_3.1.1.bb @@ -0,0 +1,20 @@ +SUMMARY = "Set of i2c tools for linux - Python module" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://smbusmodule.c;startline=1;endline=17;md5=fa24df321a520ff8e10f203425ab9fa8" + +SRC_URI = "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-${PV}.tar.bz2 \ +" +SRC_URI[md5sum] = "0fdbff53ebd0b8d9249256d6c56480b1" +SRC_URI[sha256sum] = "14d4d7d60d1c12e43f2befe239c682a5c44c27682f153d4b58c1e392d2db1700" + +DEPENDS = "i2c-tools" + +inherit distutils + +S = "${WORKDIR}/i2c-tools-${PV}/py-smbus/" + +do_configure_prepend() { + # Adjust for OE header rename + sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: Module.mk + sed -i s:linux/i2c-dev.h:linux/i2c-dev-user.h: smbusmodule.c +} diff --git a/meta-python/recipes-devtools/python/python-snakefood_1.4.bb b/meta-python/recipes-devtools/python/python-snakefood_1.4.bb new file mode 100644 index 0000000000..1af33d44d4 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-snakefood_1.4.bb @@ -0,0 +1,56 @@ +SUMMARY = "Dependency graphing for Python" +DESCRIPTION = " Generate dependency graphs from Python code. This \ +dependency tracker package has a few distinguishing characteristics \ +\ + * It uses the AST to parse the Python files. This is very reliable, \ + it always runs.\ + * No module is loaded. Loading modules to figure out dependencies is \ + almost always problem, because a lot of codebases run initialization \ + code in the global namespace, which often requires additional setup. \ + Snakefood is guaranteed not to have this problem (it just runs, no \ + matter what).\ + * It works on a set of files, i.e. you do not have to specify a single \ + script, you can select a directory (package or else) or a set of files.\ + It finds all the Python files recursively automatically.\ + * Automatic/no configuration: your PYTHONPATH is automatically adjusted \ + to include the required package roots. It figures out the paths that \ + are required from the files/directories given as input. You should not \ + have to setup ANYTHING.\ + * It does not have to automatically 'follow' dependencies between modules,\ + i.e. by default it only considers the files and directories you specify \ + on the command-line and their immediate dependencies. It also has an \ + option to automatically include only the dependencies within the \ + packages of the files you specify.\ + * It follows the UNIX philosophy of small programs that do one thing well:\ + it consists of a few simple programs whose outputs you combine via \ + pipes. Graphing dependencies always requires the user to filter and \ + cluster the filenames, so this is appropriate. You can combine it with \ + your favourite tools, grep, sed, etc.\ +\ +A problem with dependency trackers that run code is that they are unreliable, \ +due to the dynamic nature of Python (the presence of imports within function \ +calls and __import__ hooks makes it almost impossible to always do the right \ +thing). This script aims at being right 99% of the time, and we think that \ +given the trade-offs, 99% is good enough for 99% of the uses.\ +" +AUTHOR = "Martin Blais <blais@furius.ca>" +HOMEPAGE = "http://furius.ca/snakefood" +SECTION = "devel/python" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +SRCNAME = "snakefood" + +SRC_URI = "https://pypi.python.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "56c88667a33d8909b0aabf2ab6903bdf" +SRC_URI[sha256sum] = "295784668032254e7391ca99ba7060edd3ae4eca1a330ac11627b18ab5923b77" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} = " python-logging python-compiler python-shell" +# the above modules do not have a -native counterpart +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND = "native" + diff --git a/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb b/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb new file mode 100644 index 0000000000..43b4b7efa2 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-sqlalchemy_0.7.9.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \ +application developers the full power and flexibility of SQL" +HOMEPAGE = "http://www.sqlalchemy.org/" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=baffc5e5f4804c92fc9be155fed70d41" +RDEPENDS_${PN} += "python-numbers" + +SRCNAME = "SQLAlchemy" +SRC_URI = "${SOURCEFORGE_MIRROR}/sqlalchemy/${SRCNAME}-${PV}.tar.gz" +SRC_URI[md5sum] = "c4852d586d95a59fbc9358f4467875d5" +SRC_URI[sha256sum] = "f7a305ad122144f364ce09a2d9ed5159d5f46ec43650653593e7dfa05d3294a1" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools diff --git a/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb b/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb new file mode 100644 index 0000000000..f1b8141a24 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-tornado_4.0.2.bb @@ -0,0 +1,34 @@ +SUMMARY = "Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed." +DESCRIPTION = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. \ +By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long \ +polling, WebSockets, and other applications that require a long-lived connection to each user." +HOMEPAGE = "http://www.tornadoweb.org/en/stable/" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5208df23820f490f691712a654be256d" + +SRCNAME = "tornado" + +SRC_URI = " \ + https://pypi.python.org/packages/source/t/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ +" +SRC_URI[md5sum] = "985c0e704b765c33a6193d49d1935588" +SRC_URI[sha256sum] = "900c5124ebdb6598ca8e8a0c5888f41a5f14117952d5515258e3d20222b21bfa" + +inherit setuptools + +RDEPENDS_${PN} += "python-compression python-numbers python-email python-subprocess \ + python-pkgutil python-html python-json python-backports-ssl python-certifi" + +RDEPENDS_${PN}-test += "${PN} python-unittest" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +PACKAGES =+ "\ + ${PN}-test \ +" + +FILES_${PN}-test = " \ + ${libdir}/${PYTHON_DIR}/site-packages/${SRCNAME}/test \ + ${libdir}/${PYTHON_DIR}/site-packages/${SRCNAME}/testing.py* \ +" diff --git a/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb new file mode 100644 index 0000000000..2b433f718e --- /dev/null +++ b/meta-python/recipes-devtools/python/python-twisted_13.2.0.bb @@ -0,0 +1,247 @@ +DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ +Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ +(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." +HOMEPAGE = "http://www.twistedmatrix.com" +SECTION = "console/network" + +#twisted/topfiles/NEWS:655: - Relicensed: Now under the MIT license, rather than LGPL. +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=5602d7228daf59a16f0f1b2640c46bca" + +SRC_URI = "https://pypi.python.org/packages/source/T/Twisted/Twisted-${PV}.tar.bz2" +SRC_URI[md5sum] = "83fe6c0c911cc1602dbffb036be0ba79" +SRC_URI[sha256sum] = "095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3" + +S = "${WORKDIR}/Twisted-${PV}" + +inherit setuptools + +do_install_append() { + # remove some useless files before packaging + find ${D} \( -name "*.bat" -o -name "*.c" -o -name "*.h" \) -exec rm -f {} \; +} + +PACKAGES += "\ + ${PN}-zsh \ + ${PN}-test \ + ${PN}-protocols \ + ${PN}-conch \ + ${PN}-lore \ + ${PN}-mail \ + ${PN}-names \ + ${PN}-news \ + ${PN}-runner \ + ${PN}-web \ + ${PN}-words \ + ${PN}-flow \ + ${PN}-pair \ + ${PN}-core \ +" + +PACKAGES =+ "\ + ${PN}-src \ + ${PN}-bin \ +" + +RDEPENDS_${PN} = "\ + ${PN}-bin \ + ${PN}-conch \ + ${PN}-lore \ + ${PN}-mail \ + ${PN}-names \ + ${PN}-news \ + ${PN}-runner \ + ${PN}-web \ + ${PN}-words \ +" + +RDEPENDS_${PN}-core = "python-core python-zopeinterface python-contextlib" +RDEPENDS_${PN}-test = "${PN}" +RDEPENDS_${PN}-conch = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-lore = "${PN}-core" +RDEPENDS_${PN}-mail = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-names = "${PN}-core" +RDEPENDS_${PN}-news = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-runner = "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-web += "${PN}-core ${PN}-protocols" +RDEPENDS_${PN}-words += "${PN}-core" +RDEPENDS_${PN}-flow += "${PN}-core" +RDEPENDS_${PN}-pair += "${PN}-core" +RDEPENDS_${PN}-dbg = "${PN}" + +ALLOW_EMPTY_${PN} = "1" +FILES_${PN} = "" + +FILES_${PN}-test = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/test \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/test \ +" + +FILES_${PN}-protocols = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/*.py* \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/gps/ \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols/mice/ \ +" + +FILES_${PN}-zsh = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zsh \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.* \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/python/twisted-completion.zsh \ +" + +FILES_${PN}-conch = " \ + ${bindir}/ckeygen \ + ${bindir}/tkconch \ + ${bindir}/conch \ + ${bindir}/conchftp \ + ${bindir}/cftp \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_conch.py* \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/conch \ +" + +FILES_${PN}-core = " \ +${bindir}/manhole \ +${bindir}/mktap \ +${bindir}/twistd \ +${bindir}/tap2deb \ +${bindir}/tap2rpm \ +${bindir}/tapconvert \ +${bindir}/tkmktap \ +${bindir}/trial \ +${bindir}/easy_install* \ +${bindir}/pyhtmlizer \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.so \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/__init__.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/notestplugin.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/testplugin.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_ftp.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_inet.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_manhole.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_portforward.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_socks.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_telnet.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_trial.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/dropin.cache \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/application \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/cred \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/enterprise \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/internet \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/manhole \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/persisted \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/protocols\ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python\ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/timeoutqueue.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/filepath.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dxprofile.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/plugin.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/htmlizer.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/__init__.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dispatch.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/hook.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadpool.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/otp.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/usage.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/roots.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/versions.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/urlpath.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/util.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/components.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/logfile.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/runtime.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/reflect.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/context.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/threadable.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/rebuild.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/failure.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/lockfile.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/formmethod.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/finalize.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/win32.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/dist.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/shortcut.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zipstream.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/release.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/syslog.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/log.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/compat.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/zshcomp.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/procutils.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/text.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/_twisted_zsh_stub \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/scripts/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/spread/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/tap/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/trial/ \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/__init__.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/_version.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/copyright.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/im.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/python/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/*.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/topfiles \ +${libdir}/${PYTHON_DIR}/site-packages/Twisted*egg-info \ +" + +FILES_${PN}-lore = " \ +${bindir}/bookify \ +${bindir}/lore \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_lore.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/lore \ +" + +FILES_${PN}-mail = " \ +${bindir}/mailmail \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_mail.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/mail \ +" + +FILES_${PN}-names = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_names.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/names \ +" + +FILES_${PN}-news = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_news.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/news \ +" + +FILES_${PN}-runner = " \ +${libdir}/site-packages/twisted/runner/portmap.so \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/runner\ +" + +FILES_${PN}-web = " \ +${bindir}/websetroot \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_web.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/web\ +" + +FILES_${PN}-words = " \ +${bindir}/im \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_words.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/words\ +" + +FILES_${PN}-flow = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_flow.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/flow \" + +FILES_${PN}-pair = " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/plugins/twisted_pair.py* \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/pair \ +" + +FILES_${PN}-dbg += " \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*/.debug \ +${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/.debug \ +" + +RDEPENDS_{PN}-src = "${PN}" +FILES_${PN}-src = " \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*.py \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*.py \ + ${libdir}/${PYTHON_DIR}/site-packages/twisted/*/*/*.py \ + " diff --git a/meta-python/recipes-devtools/python/python-ujson_1.33.bb b/meta-python/recipes-devtools/python/python-ujson_1.33.bb new file mode 100644 index 0000000000..8fdd2b8351 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-ujson_1.33.bb @@ -0,0 +1,21 @@ +SUMMARY = "Ultra fast JSON encoder and decoder for Python" +DESCRIPTION = "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 2.5+ and 3." +HOMEPAGE = "https://pypi.python.org/pypi/ujson" + +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://PKG-INFO;md5=5b206f6ba5e41c60df8cdcddf79a3d82" + +SRCNAME = "ujson" + +SRC_URI = " \ + http://pypi.python.org/packages/source/u/ujson/${SRCNAME}-${PV}.zip \ +" + +SRC_URI[md5sum] = "8148a2493fff78940feab1e11dc0a893" +SRC_URI[sha256sum] = "68cf825f227c82e1ac61e423cfcad923ff734c27b5bdd7174495d162c42c602b" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +RDEPENDS_${PN} += "python-numbers" diff --git a/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb b/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb new file mode 100644 index 0000000000..a28c02f7e7 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-vobject_0.8.1c.bb @@ -0,0 +1,16 @@ +SUMMARY = "Python package for parsing and generating vCard and vCalendar files" +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" +HOMEPAGE = "http://vobject.skyhouseconsulting.com/" +SRCNAME = "vobject" +RDEPENDS_${PN} = "python python-dateutil" +PR = "r4" + +SRC_URI = "http://vobject.skyhouseconsulting.com/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +SRC_URI[md5sum] = "c9686dd74d39fdae140890d9c694c076" +SRC_URI[sha256sum] = "594113117f2017ed837c8f3ce727616f9053baa5a5463a7420c8249b8fc556f5" diff --git a/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb b/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb new file mode 100644 index 0000000000..7a6437dc53 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-webdav_0.1.2.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "This project aims to provide an object-oriented Python WebDAV client-side library\ + based on Python`s standard httplib and Greg Stein`s davlib.\ + The client shall fully support RFCs 4918 (basic specification),\ + 3744 (access control), and 3253 (versioning)." +SECTION = "devel/python" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://src/webdav/WebdavClient.py;endline=15;md5=a1520fad859feb7b0d7f05277bc6ce48" +HOMEPAGE = "http://sourceforge.net/projects/pythonwebdavlib/" +SRCNAME = "Python_WebDAV_Library" +DEPENDS = "python" + +SRC_URI = "${SOURCEFORGE_MIRROR}/pythonwebdavlib/Python%20WebDAV%20Library%20-%20${PV}/${SRCNAME}-${PV}.zip" +SRC_URI[md5sum] = "8e49e0ecc5b4327c4f752a544ee10e1a" +SRC_URI[sha256sum] = "72c029ad1e25de950f59c2f1812d009d2c1691b70e4b5b09f1af9006e8fd5f23" + +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + diff --git a/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb b/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb new file mode 100644 index 0000000000..4151f585b8 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-zopeinterface_4.1.1.bb @@ -0,0 +1,22 @@ +SUMMARY = "Interface definitions for Zope products" +SECTION = "console/network" + +LICENSE = "ZPL-2.1" +LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e54fd776274c1b7423ec128974bd9d46" + +SRC_URI = "http://pypi.python.org/packages/source/z/zope.interface/zope.interface-${PV}.tar.gz" +SRC_URI[md5sum] = "edcd5f719c5eb2e18894c4d06e29b6c6" +SRC_URI[sha256sum] = "91cba7b7cd7cb82f6f4e023fe77f94dc3df4ae5287fd55def2148dc232d0c7da" + +S = "${WORKDIR}/zope.interface-${PV}" + +inherit setuptools + +RPROVIDES_${PN} += "zope-interfaces" +FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*.egg/*/*/.debug" +FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.c" +FILES_${PN}-doc += "${PYTHON_SITEPACKAGES_DIR}/zope/interface/*.txt" +FILES_${PN}-tests = " \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/tests \ + ${PYTHON_SITEPACKAGES_DIR}/zope/interface/common/tests \ +" diff --git a/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb new file mode 100644 index 0000000000..bfb4f6f87b --- /dev/null +++ b/meta-python/recipes-extended/python-pyparted/python-pyparted_3.9.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "pyparted is a set of Python modules that provide Python programmers \ +an interface to libparted, the GNU parted library for disk partitioning and \ +filesystem manipulation." +SUMMARY = "Python bindings for libparted" +HOMEPAGE = "https://fedorahosted.org/pyparted/" +LICENSE = "GPL-2.0+" +LIC_FILES_CHKSUM = "\ + file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ + file://src/_pedmodule.c;startline=10;endline=22;md5=70c62bd73782a03f56a0571a9f08ea46 \ +" +DEPENDS += "parted" + +SRC_URI = "https://fedorahosted.org/releases/p/y/pyparted/pyparted-${PV}.tar.gz" +SRC_URI[md5sum] = "f16c7ef7f5fa4a43fcb2a4654b487e39" +SRC_URI[sha256sum] = "a56712e3d058ce3d859c158236dbbf45224018919efd3d880ea80f9e0d0bebbb" +S = "${WORKDIR}/pyparted-${PV}" + +inherit distutils + +RDEPENDS_${PN} += "python-stringold python-codecs python-math" +RDEPENDS_${PN}_class-native = "" + +BBCLASSEXTEND += "native" |