aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Mk/bsd.python.mk113
1 files changed, 113 insertions, 0 deletions
diff --git a/Mk/bsd.python.mk b/Mk/bsd.python.mk
new file mode 100644
index 000000000000..f77ab12a261f
--- /dev/null
+++ b/Mk/bsd.python.mk
@@ -0,0 +1,113 @@
+# -*- mode: Fundamental; tab-width: 4; -*-
+# ex: ts=4
+#
+# $FreeBSD$
+#
+
+Python_Include= bsd.python.mk
+Python_Include_MAINTAINER= tg@FreeBSD.org
+
+# This file contains some variable definitions that are supposed to
+# make your life easier when dealing with ports related to the Python
+# language. It's automatically included when USE_PYTHON or PYTHON_VERSION
+# is defined in the ports' makefile. Define PYTHON_VERSION to override the
+# defaults that USE_PYTHON would give you.
+#
+# The variables:
+#
+# PYTHON_CMD: Python's command line file name, including the version
+# number (used for dependencies), but not using the full path.
+# default: depends on the version of your python binary
+#
+# PYTHON_DISTFILE: The ${DISTFILE} for your python version. Needed for
+# extensions like Tkinter, py-gdbm and py-expat, which
+# are built from sources contained in the Python
+# distribution.
+#
+# PYTHON_LIBDIR: Base of the python library tree
+# default: ${LOCALBASE}/lib/python${PYVERSION}
+#
+# PYTHON_PORTSDIR: The source of your binary's port. Needed for the
+# RUN_DEPENDS.
+#
+# PYTHON_PORTVERSION: Version number suitable for ${PORTVERSION}.
+#
+# PYTHON_SITELIBDIR: Location of the site-packages tree. Don't change,
+# unless you know what you do.
+# default: ${PYTHON_LIBDIR}/site-packages
+#
+# PYTHON_VERSION: Version of the python binary in your ${PATH}, in the
+# format "python2.0". Set this in your makefile in case you
+# want to build extensions with an older binary.
+# default: depends on the version of your python binary
+#
+# PYTHON_WRKSRC: The ${WRKSRC} for your python version. Needed for
+# extensions like Tkinter, py-gdbm and py-expat, which
+# are built from sources contained in the Python
+# distribution.
+#
+# PYDISTUTILS: Dependency line for the distutils extension. As of Python-2.0,
+# the distutils are in the base distribution.
+#
+# PYXML: Dependency line for the XML entension. As of Python-2.0,
+# this extension is in the base distribution.
+
+# XXX Ugly hack, but running python is the best way to determine the
+# currently installed version. If Python is not installed, a default
+# version number is substituted and the corresponding Python distribution
+# will be built through the dependency processing.
+_PYTHON_VERSION!= (python -c 'import sys; print sys.version[:3]') 2> /dev/null \
+ || echo 1.6
+PYTHON_VERSION?= python${_PYTHON_VERSION}
+PYTHON_PORTVERSION!= (${PYTHON_VERSION} -c 'import string, sys; \
+ print string.split(sys.version)[0]') 2> /dev/null \
+ || echo 1.6
+
+# Python-2.0
+.if ${PYTHON_VERSION} == "python2.0"
+PYDISTUTILS= ${PYTHON_LIBDIR}/distutils/core.py:${PORTSDIR}/lang/python
+PYXML= ${PYTHON_LIBDIR}/xml/xmllib.py:${PORTSDIR}/lang/python
+
+PYTHON_DISTFILE= BeOpen-Python-2.0b1.tar.gz
+PYTHON_PORTSDIR= ${PORTSDIR}/lang/python-beta
+PYTHON_WRKSRC= ${WRKDIR}/Python-2.0b1
+
+# Python-1.6
+.elif ${PYTHON_VERSION} == "python1.6"
+PYDISTUTILS= ${PYTHON_LIBDIR}/distutils/core.py:${PORTSDIR}/misc/py-distutils
+PYXML= ${PYTHON_LIBDIR}/site-packages/xml/xmllib.py:${PORTSDIR}/textproc/py-xml
+
+PYTHON_DISTFILE= Python-1.6.tar.gz
+PYTHON_PORTSDIR= ${PORTSDIR}/lang/python
+PYTHON_WRKSRC= ${WRKDIR}/Python-1.6
+
+# Python-1.5
+.elif ${PYTHON_VERSION} == "python1.5"
+PYDISTUTILS= ${PYTHON_LIBDIR}/site-packages/distutils/core.py:${PORTSDIR}/misc/py-distutils
+PYXML= ${PYTHON_LIBDIR}/site-packages/xml/xmllib.py:${PORTSDIR}/textproc/py-xml
+
+PYTHON_DISTFILE= py152.tgz
+PYTHON_PORTSDIR= ${PORTSDIR}/lang/python15
+PYTHON_WRKSRC= ${WRKDIR}/Python-1.5.2
+
+.else
+.BEGIN:
+ @${ECHO} "Error: bad value for PYTHON_VERSION: ${PYTHON_VERSION}."
+ @${ECHO} "Use one of python1.5, python1.6 (default) or python2.0."
+ @${FALSE}
+.endif
+
+PYTHON_CMD= ${PYTHON_VERSION}
+PYTHON_LIBDIR= ${LOCALBASE}/lib/${PYTHON_VERSION}
+PYTHON_SITELIBDIR= ${PYTHON_LIBDIR}/site-packages
+
+# dependencies
+PYTHON_NO_DEPENDS?= NO
+
+.if ${PYTHON_NO_DEPENDS} == "NO"
+BUILD_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR}
+RUN_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR}
+.endif
+
+# pkg/PLIST substrings
+PLIST_SUB+= PYTHON_VERSION=${PYTHON_VERSION}