From 4c536e83f0992dff95019536ff4b314b8627475f Mon Sep 17 00:00:00 2001 From: Li-Wen Hsu Date: Thu, 19 Nov 2015 01:28:38 +0000 Subject: [PATCH] Add version specified ports of separated standard Python modules for non-default Python versions: - Add pyXY-{sqlite3,gdbm,tkinter} ports for generating binary packages - Improve/add pkg-message to point users to install respective packages of separated Python standard modules - Add COMMENT to explicitly show the Python version that package should be used with - Simplify version-related PYTHON_* for lang/python35 Reviewed by: koobs Differential Revision: https://reviews.freebsd.org/D4170 --- databases/Makefile | 8 ++++++++ databases/py-gdbm/Makefile | 4 ++-- databases/py-sqlite3/Makefile | 4 ++-- databases/py32-gdbm/Makefile | 7 +++++++ databases/py32-sqlite3/Makefile | 7 +++++++ databases/py33-gdbm/Makefile | 7 +++++++ databases/py33-sqlite3/Makefile | 7 +++++++ databases/py34-gdbm/Makefile | 7 +++++++ databases/py34-sqlite3/Makefile | 7 +++++++ databases/py35-gdbm/Makefile | 7 +++++++ databases/py35-sqlite3/Makefile | 7 +++++++ lang/python32/Makefile | 5 ++++- lang/python32/{pkg-message => files/pkg-message.in} | 6 +++--- lang/python33/Makefile | 5 ++++- lang/python33/{pkg-message => files/pkg-message.in} | 6 +++--- lang/python34/Makefile | 5 ++++- lang/python34/files/pkg-message.in | 10 ++++++++++ lang/python35/Makefile | 10 +++++++--- lang/python35/files/pkg-message.in | 10 ++++++++++ x11-toolkits/Makefile | 4 ++++ x11-toolkits/py-tkinter/Makefile | 4 ++-- x11-toolkits/py32-tkinter/Makefile | 7 +++++++ x11-toolkits/py33-tkinter/Makefile | 7 +++++++ x11-toolkits/py34-tkinter/Makefile | 7 +++++++ x11-toolkits/py35-tkinter/Makefile | 7 +++++++ 25 files changed, 147 insertions(+), 18 deletions(-) create mode 100644 databases/py32-gdbm/Makefile create mode 100644 databases/py32-sqlite3/Makefile create mode 100644 databases/py33-gdbm/Makefile create mode 100644 databases/py33-sqlite3/Makefile create mode 100644 databases/py34-gdbm/Makefile create mode 100644 databases/py34-sqlite3/Makefile create mode 100644 databases/py35-gdbm/Makefile create mode 100644 databases/py35-sqlite3/Makefile rename lang/python32/{pkg-message => files/pkg-message.in} (58%) rename lang/python33/{pkg-message => files/pkg-message.in} (58%) create mode 100644 lang/python34/files/pkg-message.in create mode 100644 lang/python35/files/pkg-message.in create mode 100644 x11-toolkits/py32-tkinter/Makefile create mode 100644 x11-toolkits/py33-tkinter/Makefile create mode 100644 x11-toolkits/py34-tkinter/Makefile create mode 100644 x11-toolkits/py35-tkinter/Makefile diff --git a/databases/Makefile b/databases/Makefile index f49b52eb2987..1faf64613c7f 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -723,6 +723,10 @@ SUBDIR += py-flask-sqlalchemy SUBDIR += py-forgetsql SUBDIR += py-gdbm + SUBDIR += py32-gdbm + SUBDIR += py33-gdbm + SUBDIR += py34-gdbm + SUBDIR += py35-gdbm SUBDIR += py-geoalchemy SUBDIR += py-geoalchemy2 SUBDIR += py-hiredis @@ -766,6 +770,10 @@ SUBDIR += py-sqlalchemy-migrate SUBDIR += py-sqlalchemy06 SUBDIR += py-sqlite3 + SUBDIR += py32-sqlite3 + SUBDIR += py33-sqlite3 + SUBDIR += py34-sqlite3 + SUBDIR += py35-sqlite3 SUBDIR += py-sqlite3dbm SUBDIR += py-sqlkit SUBDIR += py-sqlobject diff --git a/databases/py-gdbm/Makefile b/databases/py-gdbm/Makefile index 5b211307eb86..9006ad977874 100644 --- a/databases/py-gdbm/Makefile +++ b/databases/py-gdbm/Makefile @@ -3,14 +3,14 @@ PORTNAME= gdbm PORTVERSION= ${PYTHON_PORTVERSION} -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= databases python MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= Python-${PORTVERSION} MAINTAINER= python@FreeBSD.org -COMMENT= Python bindings to the GNU dbm library +COMMENT= Python bindings to the GNU dbm library (Python ${PYTHON_VER}) LICENSE= PSFL diff --git a/databases/py-sqlite3/Makefile b/databases/py-sqlite3/Makefile index a0e9265a3d42..96ed67f481fa 100644 --- a/databases/py-sqlite3/Makefile +++ b/databases/py-sqlite3/Makefile @@ -3,7 +3,7 @@ PORTNAME= sqlite3 PORTVERSION= ${PYTHON_PORTVERSION} -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= databases python MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -11,7 +11,7 @@ DISTNAME= Python-${PORTVERSION} DIST_SUBDIR= python MAINTAINER= python@FreeBSD.org -COMMENT= Standard Python binding to the SQLite3 library +COMMENT= Standard Python binding to the SQLite3 library (Python ${PYTHON_VER}) LICENSE= PSFL LICENSE_FILE= ${WRKDIR}/Python-${PORTVERSION}/LICENSE diff --git a/databases/py32-gdbm/Makefile b/databases/py32-gdbm/Makefile new file mode 100644 index 000000000000..39d284609341 --- /dev/null +++ b/databases/py32-gdbm/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-gdbm + +PYTHON_VERSION= python3.2 + +.include "${MASTERDIR}/Makefile" diff --git a/databases/py32-sqlite3/Makefile b/databases/py32-sqlite3/Makefile new file mode 100644 index 000000000000..c551d4f168d9 --- /dev/null +++ b/databases/py32-sqlite3/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-sqlite3 + +PYTHON_VERSION= python3.2 + +.include "${MASTERDIR}/Makefile" diff --git a/databases/py33-gdbm/Makefile b/databases/py33-gdbm/Makefile new file mode 100644 index 000000000000..54dac98e7409 --- /dev/null +++ b/databases/py33-gdbm/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-gdbm + +PYTHON_VERSION= python3.3 + +.include "${MASTERDIR}/Makefile" diff --git a/databases/py33-sqlite3/Makefile b/databases/py33-sqlite3/Makefile new file mode 100644 index 000000000000..d0738f8c672e --- /dev/null +++ b/databases/py33-sqlite3/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-sqlite3 + +PYTHON_VERSION= python3.3 + +.include "${MASTERDIR}/Makefile" diff --git a/databases/py34-gdbm/Makefile b/databases/py34-gdbm/Makefile new file mode 100644 index 000000000000..22f120f834cf --- /dev/null +++ b/databases/py34-gdbm/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-gdbm + +PYTHON_VERSION= python3.4 + +.include "${MASTERDIR}/Makefile" diff --git a/databases/py34-sqlite3/Makefile b/databases/py34-sqlite3/Makefile new file mode 100644 index 000000000000..b755b044d8fa --- /dev/null +++ b/databases/py34-sqlite3/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-sqlite3 + +PYTHON_VERSION= python3.4 + +.include "${MASTERDIR}/Makefile" diff --git a/databases/py35-gdbm/Makefile b/databases/py35-gdbm/Makefile new file mode 100644 index 000000000000..9013fe6859bb --- /dev/null +++ b/databases/py35-gdbm/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-gdbm + +PYTHON_VERSION= python3.5 + +.include "${MASTERDIR}/Makefile" diff --git a/databases/py35-sqlite3/Makefile b/databases/py35-sqlite3/Makefile new file mode 100644 index 000000000000..024e9246feb0 --- /dev/null +++ b/databases/py35-sqlite3/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-sqlite3 + +PYTHON_VERSION= python3.5 + +.include "${MASTERDIR}/Makefile" diff --git a/lang/python32/Makefile b/lang/python32/Makefile index 8240d634335a..29a3047b3b2a 100644 --- a/lang/python32/Makefile +++ b/lang/python32/Makefile @@ -2,7 +2,7 @@ PORTNAME= python32 PORTVERSION= 3.2.5 -PORTREVISION= 14 +PORTREVISION= 15 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} DISTNAME= Python-${PORTVERSION} @@ -30,6 +30,9 @@ MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library MAKE_ARGS+= LIBPC="${PREFIX}/libdata/pkgconfig" # Until pathfix gets support for files other than Makefile.in MAKE_JOBS_UNSAFE= yes # Parser/pgen build bug. See Issue: 200622, 201974 +SUB_FILES= pkg-message +SUB_LIST= PYTHON_SUFFIX=${PORTVERSION:R:S/.//g} + PLIST_SUB= ABI=${ABIFLAGS} \ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. http://bugs.python.org/issue19554 diff --git a/lang/python32/pkg-message b/lang/python32/files/pkg-message.in similarity index 58% rename from lang/python32/pkg-message rename to lang/python32/files/pkg-message.in index a5d11a0a0e4f..c2325386f571 100644 --- a/lang/python32/pkg-message +++ b/lang/python32/files/pkg-message.in @@ -3,8 +3,8 @@ Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: -gdbm databases/py-gdbm -sqlite3 databases/py-sqlite3 -tkinter x11-toolkits/py-tkinter +py%%PYTHON_SUFFIX%%-gdbm databases/py%%PYTHON_SUFFIX%%-gdbm +py%%PYTHON_SUFFIX%%-sqlite3 databases/py%%PYTHON_SUFFIX%%-sqlite3 +py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py%%PYTHON_SUFFIX%%-tkinter =========================================================================== diff --git a/lang/python33/Makefile b/lang/python33/Makefile index 0bfdf112b5e1..09ba045e0e43 100644 --- a/lang/python33/Makefile +++ b/lang/python33/Makefile @@ -2,7 +2,7 @@ PORTNAME= python33 PORTVERSION= 3.3.5 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} DISTNAME= Python-${PORTVERSION} @@ -30,6 +30,9 @@ MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library MAKE_ARGS+= LIBPC="${PREFIX}/libdata/pkgconfig" # Until pathfix gets support for files other than Makefile.in MAKE_JOBS_UNSAFE= yes # Parser/pgen build bug. See Issue: 200622, 201974 +SUB_FILES= pkg-message +SUB_LIST= PYTHON_SUFFIX=${PORTVERSION:R:S/.//g} + PLIST_SUB= ABI=${ABIFLAGS} \ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. http://bugs.python.org/issue19554 diff --git a/lang/python33/pkg-message b/lang/python33/files/pkg-message.in similarity index 58% rename from lang/python33/pkg-message rename to lang/python33/files/pkg-message.in index a5d11a0a0e4f..c2325386f571 100644 --- a/lang/python33/pkg-message +++ b/lang/python33/files/pkg-message.in @@ -3,8 +3,8 @@ Note that some standard Python modules are provided as separate ports as they require additional dependencies. They are available as: -gdbm databases/py-gdbm -sqlite3 databases/py-sqlite3 -tkinter x11-toolkits/py-tkinter +py%%PYTHON_SUFFIX%%-gdbm databases/py%%PYTHON_SUFFIX%%-gdbm +py%%PYTHON_SUFFIX%%-sqlite3 databases/py%%PYTHON_SUFFIX%%-sqlite3 +py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py%%PYTHON_SUFFIX%%-tkinter =========================================================================== diff --git a/lang/python34/Makefile b/lang/python34/Makefile index 9ca5f3950bc0..036680e5bd1a 100644 --- a/lang/python34/Makefile +++ b/lang/python34/Makefile @@ -3,7 +3,7 @@ PORTNAME= python34 PORTVERSION= 3.4.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} DISTNAME= Python-${PORTVERSION} @@ -32,6 +32,9 @@ MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library MAKE_ARGS+= LIBPC="${PREFIX}/libdata/pkgconfig" # Until pathfix gets support for files other than Makefile.in MAKE_JOBS_UNSAFE= yes # Parser/pgen build bug. See Issue: 200622, 201974 +SUB_FILES= pkg-message +SUB_LIST= PYTHON_SUFFIX=${PORTVERSION:R:S/.//g} + PLIST_SUB= ABI=${ABIFLAGS} \ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. http://bugs.python.org/issue19554 diff --git a/lang/python34/files/pkg-message.in b/lang/python34/files/pkg-message.in new file mode 100644 index 000000000000..c2325386f571 --- /dev/null +++ b/lang/python34/files/pkg-message.in @@ -0,0 +1,10 @@ +=========================================================================== + +Note that some standard Python modules are provided as separate ports +as they require additional dependencies. They are available as: + +py%%PYTHON_SUFFIX%%-gdbm databases/py%%PYTHON_SUFFIX%%-gdbm +py%%PYTHON_SUFFIX%%-sqlite3 databases/py%%PYTHON_SUFFIX%%-sqlite3 +py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py%%PYTHON_SUFFIX%%-tkinter + +=========================================================================== diff --git a/lang/python35/Makefile b/lang/python35/Makefile index 06d7a1ff58bd..796e65fdc722 100644 --- a/lang/python35/Makefile +++ b/lang/python35/Makefile @@ -3,9 +3,10 @@ PORTNAME= python DISTVERSION= 3.5.0 +PORTREVISION= 1 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/} -PKGNAMESUFFIX= 35 +PKGNAMESUFFIX= ${PYTHON_SUFFIX} DISTNAME= Python-${DISTVERSION} DIST_SUBDIR= python @@ -24,9 +25,9 @@ CPE_PRODUCT= ${CPE_VENDOR} CPE_VERSION= ${DISTVERSION} # Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits. -PYTHON_VER= ${DISTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} -PYTHON_VERSION= python${PYTHON_VER} PYTHON_PORTVERSION= ${DISTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/} +PYTHON_VER= ${PYTHON_PORTVERSION:R} +PYTHON_VERSION= python${PYTHON_VER} PYTHON_SUFFIX= ${PYTHON_VER:S/.//g} DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm @@ -38,6 +39,9 @@ MAKE_ARGS+= INSTALL_SHARED="${INSTALL_LIB}" # Strip shared library MAKE_ARGS+= LIBPC="${PREFIX}/libdata/pkgconfig" # Until pathfix gets support for files other than Makefile.in MAKE_JOBS_UNSAFE= yes # Parser/pgen build bug. See Issue: 200622, 201974 +SUB_FILES= pkg-message +SUB_LIST= PYTHON_SUFFIX=${PYTHON_SUFFIX} + PLIST_SUB= XYDOT=${PYTHON_VER} XY=${PYTHON_SUFFIX} \ XYZDOT=${PYTHON_PORTVERSION} ABI=${ABIFLAGS} \ OSMAJOR=${OSVERSION:C/([0-9]*)[0-9]{5}/\1/} # For plat-freebsd* in pkg-plist. http://bugs.python.org/issue19554 diff --git a/lang/python35/files/pkg-message.in b/lang/python35/files/pkg-message.in new file mode 100644 index 000000000000..c2325386f571 --- /dev/null +++ b/lang/python35/files/pkg-message.in @@ -0,0 +1,10 @@ +=========================================================================== + +Note that some standard Python modules are provided as separate ports +as they require additional dependencies. They are available as: + +py%%PYTHON_SUFFIX%%-gdbm databases/py%%PYTHON_SUFFIX%%-gdbm +py%%PYTHON_SUFFIX%%-sqlite3 databases/py%%PYTHON_SUFFIX%%-sqlite3 +py%%PYTHON_SUFFIX%%-tkinter x11-toolkits/py%%PYTHON_SUFFIX%%-tkinter + +=========================================================================== diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile index c158f1fdc413..b0cfab4af25b 100644 --- a/x11-toolkits/Makefile +++ b/x11-toolkits/Makefile @@ -193,6 +193,10 @@ SUBDIR += py-qt4-gui SUBDIR += py-sexy SUBDIR += py-tkinter + SUBDIR += py32-tkinter + SUBDIR += py33-tkinter + SUBDIR += py34-tkinter + SUBDIR += py35-tkinter SUBDIR += py-tktreectrl SUBDIR += py-traitsbackendwx SUBDIR += py-traitsgui diff --git a/x11-toolkits/py-tkinter/Makefile b/x11-toolkits/py-tkinter/Makefile index 8a436a377ff3..48d1f47c2438 100644 --- a/x11-toolkits/py-tkinter/Makefile +++ b/x11-toolkits/py-tkinter/Makefile @@ -3,14 +3,14 @@ PORTNAME= tkinter PORTVERSION= ${PYTHON_PORTVERSION} -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= x11-toolkits python MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} DISTNAME= Python-${PORTVERSION} MAINTAINER= python@FreeBSD.org -COMMENT= Python bindings to the Tk widget set +COMMENT= Python bindings to the Tk widget set (Python ${PYTHON_VER}) LICENSE= PSFL diff --git a/x11-toolkits/py32-tkinter/Makefile b/x11-toolkits/py32-tkinter/Makefile new file mode 100644 index 000000000000..80546e7cb690 --- /dev/null +++ b/x11-toolkits/py32-tkinter/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-tkinter + +PYTHON_VERSION= python3.2 + +.include "${MASTERDIR}/Makefile" diff --git a/x11-toolkits/py33-tkinter/Makefile b/x11-toolkits/py33-tkinter/Makefile new file mode 100644 index 000000000000..d986ab229554 --- /dev/null +++ b/x11-toolkits/py33-tkinter/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-tkinter + +PYTHON_VERSION= python3.3 + +.include "${MASTERDIR}/Makefile" diff --git a/x11-toolkits/py34-tkinter/Makefile b/x11-toolkits/py34-tkinter/Makefile new file mode 100644 index 000000000000..c9daeb38fbaf --- /dev/null +++ b/x11-toolkits/py34-tkinter/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-tkinter + +PYTHON_VERSION= python3.4 + +.include "${MASTERDIR}/Makefile" diff --git a/x11-toolkits/py35-tkinter/Makefile b/x11-toolkits/py35-tkinter/Makefile new file mode 100644 index 000000000000..6e55813977ab --- /dev/null +++ b/x11-toolkits/py35-tkinter/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +MASTERDIR= ${.CURDIR}/../py-tkinter + +PYTHON_VERSION= python3.5 + +.include "${MASTERDIR}/Makefile"