Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Mar 2011 01:20:55 +0800
From:      Li-Wen Hsu <lwhsu@FreeBSD.org>
To:        wen heping <wenheping@gmail.com>
Cc:        Nicola Vitale <nivit@freebsd.org>, Wen Heping <wen@freebsd.org>, python@freebsd.org, Martin Wilke <miwi@freebsd.org>
Subject:   Re: about py3 relate ports
Message-ID:  <20110327172055.GA24257@FreeBSD.cs.nctu.edu.tw>
In-Reply-To: <BANLkTineyY5aHbScsN0j4Jd5yRehzTtVOw@mail.gmail.com>
References:  <BANLkTineyY5aHbScsN0j4Jd5yRehzTtVOw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--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 <lwhsu AT FreeBSD.org>
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--



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