about py3 relate ports

wen heping wenheping at gmail.com
Mon Mar 28 01:10:56 UTC 2011


2011/3/28 Li-Wen Hsu <lwhsu at freebsd.org>:
> On Sun, Mar 27, 2011 at 00:52:49 +0800, wen heping wrote:
>> Hi, all:
>>
>>     After python-2.7 was set as default python version, now it is the
>> time to think
>> about python-3.x.
>>
>>     Although we set "USE_PYTHON=yes' in python relate ports, but we know many of
>> it could not build with python3, especially those install with
>> easy_install since setuptools
>> could not build with python3.
>>
>>    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.
>>
>>    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.
>>
>>    I create bsd.python3.mk which is revised from bsd.python.mk and
>> some new python3 ports.
>> I attached them all here.
>>
>>    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=yes 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=yes is perfect. :)

   I agree this way could resolve the problem, and it is what I mean
as first way,
but you give more detailed explaintion. But this way require huge work
to re-test
all the python ports and many modifications.

   Anyway I think freebsd python group should have to do something to make
python3 modules work. We should have a decision, first way ? second way or
third way ?


Regards,
wen




>
> And for knowing or getting reports about some ports are not Python ready,
> I think modifying Makefile to USE_PYTHON=2.4-2.7 is OK, since it explicitly
> states this port does not Python 3 compatible.  Perhaps we can add a syntax
> like:
>
>     USE_PYTHON=2.x or USE_PYTHON=2
>
> 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
>
> --
> Li-Wen Hsu <lwhsu AT FreeBSD.org>
> http://lwhsu.org
>


More information about the freebsd-python mailing list