diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-04-19 20:50:16 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-04-21 07:30:03 +0200 |
commit | 6c79cb5ac373b1cccf531e8be3ed1b9722ed1622 (patch) | |
tree | 4b51ce4c13129450c7abb96883a1407e8a7d9638 /rules/python3.make | |
parent | 12aab9286219400de76c73ae6a33eb4495253b20 (diff) | |
download | ptxdist-6c79cb5ac373b1cccf531e8be3ed1b9722ed1622.tar.gz ptxdist-6c79cb5ac373b1cccf531e8be3ed1b9722ed1622.tar.xz |
[python3] create a separate python3 package
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'rules/python3.make')
-rw-r--r-- | rules/python3.make | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/rules/python3.make b/rules/python3.make new file mode 100644 index 000000000..c819fae2f --- /dev/null +++ b/rules/python3.make @@ -0,0 +1,146 @@ +# -*-makefile-*- +# +# Copyright (C) 2009 by Marc Kleine-Budde <mkl@pengutronix.de> +# 2010 by Michael Olbrich <m.olbrich@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_PYTHON3) += python3 + +# +# Paths and names +# +PYTHON3_VERSION := 3.1.2 +PYTHON3_MAJORMINOR := 3.1 +PYTHON3 := Python-$(PYTHON3_VERSION) +PYTHON3_SUFFIX := tar.bz2 +PYTHON3_SOURCE := $(SRCDIR)/$(PYTHON3).$(PYTHON3_SUFFIX) +PYTHON3_DIR := $(BUILDDIR)/$(PYTHON3) + +PYTHON3_URL := \ + http://python.org/ftp/python3/$(PYTHON3_VERSION)/$(PYTHON3).$(PYTHON3_SUFFIX) \ + http://python.org/ftp/python3/$(PYTHON3_MAJORMINOR)/$(PYTHON3).$(PYTHON3_SUFFIX) + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +$(PYTHON3_SOURCE): + @$(call targetinfo) + @$(call get, PYTHON3) + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +PYTHON3_PATH := PATH=$(CROSS_PATH) +PYTHON3_ENV := \ + $(CROSS_ENV) \ + PYTHON3_FOR_BUILD=$(PTXCONF_SYSROOT_HOST)/bin/python$(PYTHON3_MAJORMINOR) \ + ac_cv_have_chflags=no \ + ac_cv_have_lchflags=no \ + ac_cv_py_format_size_t=yes \ + ac_cv_broken_sem_getvalue=no + +PYTHON3_BINCONFIG_GLOB := "" + +# +# autoconf +# +PYTHON3_AUTOCONF := \ + $(CROSS_AUTOCONF_USR) \ + --enable-shared \ + --with-cyclic-gc \ + --with-pymalloc \ + --with-signal-module \ + --with-threads \ + --with-wctype-functions \ + --without-cxx + +PYTHON3_MAKEVARS := \ + PGEN_FOR_BUILD=$(PTXCONF_SYSROOT_HOST)/bin/pgen + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +$(STATEDIR)/python3.install.post: + @$(call targetinfo) + @$(call world/install.post, PYTHON3) + + @cp "$(PYTHON3_DIR)/cross-python-wrapper" "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)" + @chmod a+x "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)" + @ln -sf "python$(PYTHON3_MAJORMINOR)" \ + "$(PTXCONF_SYSROOT_CROSS)/bin/python3" + + @echo "#!/bin/sh" \ + > "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)-config" + @echo "exec \ + \"$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)\" \ + \"$(PTXCONF_SYSROOT_HOST)/bin/python$(PYTHON3_MAJORMINOR)-config\" \ + \"\$${@}\"" \ + >> "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)-config" + @chmod a+x "$(PTXCONF_SYSROOT_CROSS)/bin/python$(PYTHON3_MAJORMINOR)-config" + @ln -sf "python$(PYTHON3_MAJORMINOR)-config" \ + "$(PTXCONF_SYSROOT_CROSS)/bin/python3-config" + + @$(call touch) + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +PYTHON3_SKIP-$(call ptx/opt-dis, PTXCONF_PYTHON3_LIBTK) += lib-tk +PYTHON3_SKIP-$(call ptx/opt-dis, PTXCONF_PYTHON3_IDLELIB) += idlelib +PYTHON3_SKIP-$(call ptx/opt-dis, PTXCONF_PYTHON3_DISTUTILS) += distutils + +ifneq ($(PYTHON3_SKIP-y),) +PYTHON3_SKIP_LIST_PRE :=-a \! -wholename $(quote)*/ +PYTHON3_SKIP_LIST_POST :=/*$(quote) + +PYTHON3_SKIP_LIST := $(subst $(space),$(PYTHON3_SKIP_LIST_POST) $(PYTHON3_SKIP_LIST_PRE),$(PYTHON3_SKIP-y)) +PYTHON3_SKIP_LIST := $(PYTHON3_SKIP_LIST_PRE)$(PYTHON3_SKIP_LIST)$(PYTHON3_SKIP_LIST_POST) +endif + +$(STATEDIR)/python3.targetinstall: + @$(call targetinfo) + + @$(call install_init, python3) + @$(call install_fixup, python3,PACKAGE,python3) + @$(call install_fixup, python3,PRIORITY,optional) + @$(call install_fixup, python3,VERSION,$(PYTHON3_VERSION)) + @$(call install_fixup, python3,SECTION,base) + @$(call install_fixup, python3,AUTHOR,"Marc Kleine-Budde <mkl@pengutronix.de>") + @$(call install_fixup, python3,DEPENDS,) + @$(call install_fixup, python3,DESCRIPTION,missing) + + @cd $(PYTHON3_PKGDIR) && \ + find ./usr/lib/python$(PYTHON3_MAJORMINOR) \ + \! -wholename "*/test/*" -a \! -wholename "*/tests/*" \ + $(PYTHON3_SKIP_LIST) \ + -a \( -name "*.so" -o -name "*.pyc" \) | \ + while read file; do \ + $(call install_copy, python3, 0, 0, 644, -, $${file##.}); \ + done + + @$(call install_copy, python3, 0, 0, 755, -, /usr/bin/python$(PYTHON3_MAJORMINOR)) + @$(call install_copy, python3, 0, 0, 644, -, /usr/lib/libpython$(PYTHON3_MAJORMINOR).so.1.0) + @$(call install_link, python3, libpython$(PYTHON3_MAJORMINOR).so.1.0, \ + /usr/lib/libpython$(PYTHON3_MAJORMINOR).so) + +ifdef PTXCONF_PYTHON3_SYMLINK + @$(call install_link, python3, python$(PYTHON3_MAJORMINOR), /usr/bin/python3) +endif + + @$(call install_finish, python3) + + @$(call touch) + +# vim: syntax=make |