Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jun 2017 02:37:53 +0000 (UTC)
From:      "Danilo G. Baio" <dbaio@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r444534 - in head/lang: python27 python33 python34 python35 python36
Message-ID:  <201706280237.v5S2brwZ051089@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dbaio
Date: Wed Jun 28 02:37:53 2017
New Revision: 444534
URL: https://svnweb.freebsd.org/changeset/ports/444534

Log:
  lang/python{27,33,34,35,36}: Make Python curses module work with Unicode
  
  Use readline from ports (USES= readline:port) and patch
  setup.py to ignore readline from base. The patch is necessary for
  FreeBSD < 1100000, as after this the readline library became an
  INTERNALLIB, see base r268461 [1]
  
  Link devel/readline against termcapw instead of termcap is part of
  this change, see ports r444463 [2]
  
  Note that this is the **ports** approach for getting Python curses
  module working with Unicode. The other way is splitting libncurses
  into separate libncurses and libtinfo in base, for which an open
  issue exists [3].
  
  Apart from Python language ports, at least www/rtv and
  sysutils/py-ranger ports have been tested to work correctly
  (display Unicode) after this change.
  
  [1] https://svnweb.freebsd.org/changeset/base/268461
  [2] https://svnweb.freebsd.org/changeset/ports/444463
  [3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197317
  
  PR:		171246, 197317
  Reported by:	Vitaly Magerya <vmagerya gmail com>
  Reviewed by:	garga, koobs, miwi, sunpoet
  Approved by:	garga (mentor), sunpoet (python, with hat)
  Differential Revision:	https://reviews.freebsd.org/D11127

Modified:
  head/lang/python27/Makefile
  head/lang/python33/Makefile
  head/lang/python34/Makefile
  head/lang/python35/Makefile
  head/lang/python36/Makefile

Modified: head/lang/python27/Makefile
==============================================================================
--- head/lang/python27/Makefile	Wed Jun 28 01:43:43 2017	(r444533)
+++ head/lang/python27/Makefile	Wed Jun 28 02:37:53 2017	(r444534)
@@ -2,7 +2,7 @@
 
 PORTNAME=	python27
 PORTVERSION=	${PYTHON_PORTVERSION}
-PORTREVISION=	5
+PORTREVISION=	6
 CATEGORIES=	lang python ipv6
 MASTER_SITES=	PYTHON/ftp/python/${PORTVERSION}
 DISTNAME=	Python-${PORTVERSION}
@@ -15,7 +15,7 @@ LICENSE=	PSFL
 
 BROKEN_SSL=	openssl-devel
 
-USES=		cpe ncurses pathfix pkgconfig readline ssl tar:xz shebangfix
+USES=		cpe ncurses pathfix pkgconfig readline:port ssl tar:xz shebangfix
 PATHFIX_MAKEFILEIN=	Makefile.pre.in
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
@@ -115,6 +115,13 @@ PLIST_SUB+=	NO_NIS=""
 .endif
 
 post-patch:
+# readline shared library is present on base before FreeBSD 11 - r268461
+# force setup.py ignore base and use readline from ports
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
+	${REINPLACE_CMD} -e \
+		"s|lib_dirs,\ \'readline\'|[\'${LOCALBASE}/lib\',\ \'.\'],\ \'readline\'|" \
+		${WRKSRC}/setup.py
+.endif
 	${REINPLACE_CMD} -e 's|/usr/local/bin/python|${python_CMD}|' \
 		${WRKSRC}/Lib/cgi.py
 	@${REINPLACE_CMD} -e \

Modified: head/lang/python33/Makefile
==============================================================================
--- head/lang/python33/Makefile	Wed Jun 28 01:43:43 2017	(r444533)
+++ head/lang/python33/Makefile	Wed Jun 28 02:37:53 2017	(r444534)
@@ -2,7 +2,7 @@
 
 PORTNAME=	python33
 PORTVERSION=	${PYTHON_PORTVERSION}
-PORTREVISION=	9
+PORTREVISION=	10
 CATEGORIES=	lang python ipv6
 MASTER_SITES=	PYTHON/ftp/python/${PORTVERSION}
 DISTNAME=	Python-${PORTVERSION}
@@ -16,7 +16,7 @@ LICENSE=	PSFL
 DEPRECATED=	No longer receives bug fixes, only security updates. Please update to Python 3.6
 EXPIRATION_DATE=	2017-09-01
 
-USES=		cpe ncurses pathfix pkgconfig readline ssl tar:xz shebangfix
+USES=		cpe ncurses pathfix pkgconfig readline:port ssl tar:xz shebangfix
 PATHFIX_MAKEFILEIN=	Makefile.pre.in
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
@@ -108,6 +108,13 @@ PLIST_SUB+=	NO_NIS=""
 .endif
 
 post-patch:
+# readline shared library is present on base before FreeBSD 11 - r268461
+# force setup.py ignore base and use readline from ports
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
+	${REINPLACE_CMD} -e \
+		"s|lib_dirs,\ \'readline\'|[\'${LOCALBASE}/lib\',\ \'.\'],\ \'readline\'|" \
+		${WRKSRC}/setup.py
+.endif
 	${REINPLACE_CMD} -e 's|/usr/local/bin/python|${python_CMD}|' \
 	${WRKSRC}/Lib/cgi.py
 .if !exists(/usr/bin/ypcat) || defined(WITHOUT_NIS)

Modified: head/lang/python34/Makefile
==============================================================================
--- head/lang/python34/Makefile	Wed Jun 28 01:43:43 2017	(r444533)
+++ head/lang/python34/Makefile	Wed Jun 28 02:37:53 2017	(r444534)
@@ -3,7 +3,7 @@
 
 PORTNAME=	python34
 PORTVERSION=	${PYTHON_PORTVERSION}
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	lang python ipv6
 MASTER_SITES=	PYTHON/ftp/python/${PORTVERSION}
 DISTNAME=	Python-${PORTVERSION}
@@ -14,7 +14,7 @@ COMMENT=	Interpreted object-oriented programming langu
 
 LICENSE=	PSFL
 
-USES=		cpe ncurses pathfix pkgconfig readline ssl tar:xz shebangfix
+USES=		cpe ncurses pathfix pkgconfig readline:port ssl tar:xz shebangfix
 PATHFIX_MAKEFILEIN=	Makefile.pre.in
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
@@ -117,6 +117,13 @@ PLIST_SUB+=	NO_NIS=""
 .endif
 
 post-patch:
+# readline shared library is present on base before FreeBSD 11 - r268461
+# force setup.py ignore base and use readline from ports
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
+	${REINPLACE_CMD} -e \
+		"s|lib_dirs,\ \'readline\'|[\'${LOCALBASE}/lib\',\ \'.\'],\ \'readline\'|" \
+		${WRKSRC}/setup.py
+.endif
 	${REINPLACE_CMD} -e 's|/usr/local/bin/python|${python_CMD}|' \
 		${WRKSRC}/Lib/cgi.py
 

Modified: head/lang/python35/Makefile
==============================================================================
--- head/lang/python35/Makefile	Wed Jun 28 01:43:43 2017	(r444533)
+++ head/lang/python35/Makefile	Wed Jun 28 02:37:53 2017	(r444534)
@@ -3,7 +3,7 @@
 
 PORTNAME=	python
 PORTVERSION=	${PYTHON_PORTVERSION}
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	lang python ipv6
 MASTER_SITES=	PYTHON/ftp/python/${PYTHON_PORTVERSION}
 PKGNAMESUFFIX=	${PYTHON_SUFFIX}
@@ -17,7 +17,7 @@ LICENSE=	PSFL
 
 BROKEN_SSL=	openssl-devel
 
-USES=		cpe ncurses pathfix pkgconfig readline ssl tar:xz shebangfix
+USES=		cpe ncurses pathfix pkgconfig readline:port ssl tar:xz shebangfix
 PATHFIX_MAKEFILEIN=	Makefile.pre.in
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
@@ -127,6 +127,13 @@ PLIST_SUB+=	NO_NIS=""
 .endif
 
 post-patch:
+# readline shared library is present on base before FreeBSD 11 - r268461
+# force setup.py ignore base and use readline from ports
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
+	${REINPLACE_CMD} -e \
+		"s|lib_dirs,\ \'readline\'|[\'${LOCALBASE}/lib\',\ \'.\'],\ \'readline\'|" \
+		${WRKSRC}/setup.py
+.endif
 	${REINPLACE_CMD} -e 's|/usr/local/bin/python|${python_CMD}|' \
 		${WRKSRC}/Lib/cgi.py
 

Modified: head/lang/python36/Makefile
==============================================================================
--- head/lang/python36/Makefile	Wed Jun 28 01:43:43 2017	(r444533)
+++ head/lang/python36/Makefile	Wed Jun 28 02:37:53 2017	(r444534)
@@ -3,7 +3,7 @@
 
 PORTNAME=	python
 PORTVERSION=	${PYTHON_PORTVERSION}
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	lang python ipv6
 MASTER_SITES=	PYTHON/ftp/python/${PYTHON_PORTVERSION}
 PKGNAMESUFFIX=	${PYTHON_SUFFIX}
@@ -15,7 +15,7 @@ COMMENT=	Interpreted object-oriented programming langu
 
 LICENSE=	PSFL
 
-USES=		cpe ncurses pathfix pkgconfig readline ssl tar:xz shebangfix
+USES=		cpe ncurses pathfix pkgconfig readline:port ssl tar:xz shebangfix
 PATHFIX_MAKEFILEIN=	Makefile.pre.in
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
@@ -124,6 +124,13 @@ PLIST_SUB+=	NO_NIS=""
 .endif
 
 post-patch:
+# readline shared library is present on base before FreeBSD 11 - r268461
+# force setup.py ignore base and use readline from ports
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100000
+	${REINPLACE_CMD} -e \
+		"s|lib_dirs,\ \'readline\'|[\'${LOCALBASE}/lib\',\ \'.\'],\ \'readline\'|" \
+		${WRKSRC}/setup.py
+.endif
 	${REINPLACE_CMD} -e 's|/usr/local/bin/python|${python_CMD}|' \
 		${WRKSRC}/Lib/cgi.py
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706280237.v5S2brwZ051089>