diff options
author | Juergen Beisert <jbe@pengutronix.de> | 2011-12-25 19:20:43 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2012-01-04 11:02:08 +0100 |
commit | e7e45fc758fa8846cd451e2d490ab12410ca6817 (patch) | |
tree | 4ba4b3858f82eecab99c527143169ce39b3e7afc /rules/pyserial.make | |
parent | 294c7ac8f0344d39803b026e16b8dc112c87acd0 (diff) | |
download | ptxdist-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.make | 111 |
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 |