From owner-freebsd-python@FreeBSD.ORG Sun Mar 27 17:20:56 2011 Return-Path: Delivered-To: python@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5E3B106564A; Sun, 27 Mar 2011 17:20:56 +0000 (UTC) (envelope-from lwhsu@FreeBSD.cs.nctu.edu.tw) Received: from FreeBSD.cs.nctu.edu.tw (FreeBSD.cs.nctu.edu.tw [140.113.17.209]) by mx1.freebsd.org (Postfix) with ESMTP id 7AC168FC16; Sun, 27 Mar 2011 17:20:56 +0000 (UTC) Received: by FreeBSD.cs.nctu.edu.tw (Postfix, from userid 1058) id 6DD2861D60; Mon, 28 Mar 2011 01:20:55 +0800 (CST) Date: Mon, 28 Mar 2011 01:20:55 +0800 From: Li-Wen Hsu To: wen heping Message-ID: <20110327172055.GA24257@FreeBSD.cs.nctu.edu.tw> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="envbJBWh7q8WU6mo" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Nicola Vitale , Wen Heping , python@freebsd.org, Martin Wilke Subject: Re: about py3 relate ports X-BeenThere: freebsd-python@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD-specific Python issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Mar 2011 17:20:56 -0000 --envbJBWh7q8WU6mo Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Mar 27, 2011 at 00:52:49 +0800, wen heping wrote: > Hi, all: >=20 > After python-2.7 was set as default python version, now it is the > time to think > about python-3.x. >=20 > Although we set "USE_PYTHON=3Dyes' in python relate ports, but we kno= w many of > it could not build with python3, especially those install with > easy_install since setuptools > could not build with python3. >=20 > There are two ways to resolve it: > 1 Modify the bsd.python.mk and every python port's Makefile. > 2 create a new bsd.python3.mk and create new port for those > python3-enable applications. >=20 > I prefer the second way which is similar to Debian, because if we > choose the first way, > it is a huge work of it, we have to modify bsd.python.mk and modify > every python relate port's > Makefile and plist, while the second way is much more simpler. >=20 > I create bsd.python3.mk which is revised from bsd.python.mk and > some new python3 ports. > I attached them all here. >=20 > Any comments ? I admit due to my busy day job, I currently have no time to think about this issue very deeply, here are some thought currently on my mind: How about changing the package manager from setuptools/easy_install to use distribute/pip? And about the ports fails with Python 3, well, firstly I think it's not really a big issue, it only happens on the system set Python 3 as default. One should know what will happen when setting PYTHON_VERSION in make.conf. Keeping USE_PYTHON=3Dyes in the Makefile is acceptable (to me) since when using Python 3, we should already know some python modules will not work, and it's not the default setting of ports system, besides, the biggest thing need to think about would be "how to make this module Python 3 ready" After achieve that, USE_PYTHON=3Dyes is perfect. :) And for knowing or getting reports about some ports are not Python ready, I think modifying Makefile to USE_PYTHON=3D2.4-2.7 is OK, since it explicit= ly states this port does not Python 3 compatible. Perhaps we can add a syntax like: USE_PYTHON=3D2.x or USE_PYTHON=3D2 However, Python 2.7.x looks like the last releases of Python 2, so we may not bothering thinking about this. Please note this is not conflicting with your 2nd option (entirely), I just don't want to maintain another .mk file. Creating Python 3 ports is fine, which gives us a pre-built binary package on ftp, that's good and we already have some, like databases/py25-bsddb . The only thing need to take care is setting CONFLICTS in Makefile(s) correctly. Some py-* ports install files under bin/, not all in ${PYTHON_SITELIBDIR} Best, Li-Wen --=20 Li-Wen Hsu http://lwhsu.org --envbJBWh7q8WU6mo Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iEYEARECAAYFAk2PcfMACgkQQWsOOSiXsijo2ACfTfzwn3BW+rwqDS2bNa392l2R HFYAnRKV3wY0QvlnToBOGfEO0OdcNtVR =Sxxt -----END PGP SIGNATURE----- --envbJBWh7q8WU6mo--