summaryrefslogtreecommitdiffstats
path: root/rules/pyserial.make
diff options
context:
space:
mode:
authorJuergen Beisert <jbe@pengutronix.de>2011-12-25 19:20:43 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2012-01-04 11:02:08 +0100
commite7e45fc758fa8846cd451e2d490ab12410ca6817 (patch)
tree4ba4b3858f82eecab99c527143169ce39b3e7afc /rules/pyserial.make
parent294c7ac8f0344d39803b026e16b8dc112c87acd0 (diff)
downloadptxdist-e7e45fc758fa8846cd451e2d490ab12410ca6817.tar.gz
ptxdist-e7e45fc758fa8846cd451e2d490ab12410ca6817.tar.xz
Python/pyserial: add serial/UART module feature
Add operating system independent UART handling to the Python interpreter. Signed-off-by: Juergen Beisert <jbe@pengutronix.de> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/pyserial.make')
-rw-r--r--rules/pyserial.make111
1 files changed, 111 insertions, 0 deletions
diff --git a/rules/pyserial.make b/rules/pyserial.make
new file mode 100644
index 000000000..3100129e5
--- /dev/null
+++ b/rules/pyserial.make
@@ -0,0 +1,111 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2011 by Juergen Beisert <jbe@pengutronix.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_PYSERIAL) += pyserial
+
+#
+# Paths and names
+#
+PYSERIAL_VERSION := 2.6
+PYSERIAL_MD5 := cde799970b7c1ce1f7d6e9ceebe64c98
+PYSERIAL := pyserial-$(PYSERIAL_VERSION)
+PYSERIAL_SUFFIX := tar.gz
+PYSERIAL_URL := http://pypi.python.org/packages/source/p/pyserial/$(PYSERIAL).$(PYSERIAL_SUFFIX)
+PYSERIAL_SOURCE := $(SRCDIR)/$(PYSERIAL).$(PYSERIAL_SUFFIX)
+PYSERIAL_DIR := $(BUILDDIR)/$(PYSERIAL)
+PYSERIAL_LICENSE := BSD
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+PYSERIAL_PATH := PATH=$(CROSS_PATH)
+PYSERIAL_CONF_TOOL := NO
+PYSERIAL_MAKE_ENV := $(CROSS_ENV)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/pyserial.compile:
+ @$(call targetinfo)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Instal
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/pyserial.install:
+ @$(call targetinfo)
+ @cd $(PYSERIAL_DIR) && \
+ $(PYSERIAL_PATH) $(PYSERIAL_MAKE_ENV) \
+ python setup.py install --root=$(PYSERIAL_PKGDIR) --prefix=/usr
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/pyserial.targetinstall:
+ @$(call targetinfo)
+
+ @$(call install_init, pyserial)
+ @$(call install_fixup, pyserial,PRIORITY,optional)
+ @$(call install_fixup, pyserial,SECTION,base)
+ @$(call install_fixup, pyserial,AUTHOR,"Juergen Beisert <jbe@pengutronix.de>")
+ @$(call install_fixup, pyserial,DESCRIPTION, "Serial Communication for Python")
+
+ @$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES))
+ @$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES)/serial)
+ @$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES)/serial/tools)
+ @$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES)/serial/urlhandler)
+
+ @for file in $(shell cd $(PYSERIAL_PKGDIR) && find . -name "*.pyc"); \
+ do \
+ $(call install_copy, pyserial, 0, 0, 0644, -, /$$file); \
+ done
+
+# note: the setup.py also installs the miniterm.py script, but with a really
+# broken path to the python interpreter. As a workaround we use the plain script
+# from the build directory instead
+ifdef PTXCONF_PYSERIAL_MINITERM
+ $(call install_copy, pyserial, 0, 0, 0755, \
+ $(PYSERIAL_DIR)/serial/tools/miniterm.py, /usr/bin/miniterm.py)
+endif
+
+# there are some examples that could be useful to check and understand this package
+ifdef PTXCONF_PYSERIAL_EXAMPLES
+ @for file in run_all_tests.py test_high_load.py test.py test_url.py \
+ test_advanced.py test_iolib.py test_readline.py; \
+ do \
+ $(call install_copy, pyserial, 0, 0, 0755, \
+ $(PYSERIAL_DIR)/test/$$file, /usr/bin/$$file); \
+ done
+endif
+
+# there are some test scripts that could be useful to check the installation
+ifdef PTXCONF_PYSERIAL_TESTS
+ @for file in enhancedserial.py scanlinux.py setup-miniterm-py2exe.py \
+ tcp_serial_redirect.py port_publisher.py scan.py \
+ setup-rfc2217_server-py2exe.py wxSerialConfigDialog.py \
+ rfc2217_server.py scanwin32.py setup-wxTerminal-py2exe.py; \
+ do \
+ $(call install_copy, pyserial, 0, 0, 0755, \
+ $(PYSERIAL_DIR)/examples/$$file, /usr/bin/$$file); \
+ done
+endif
+ @$(call install_finish, pyserial)
+
+ @$(call touch)
+
+# vim: syntax=make