lucene-pylucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andi Vajda <va...@apache.org>
Subject Re: [VOTE] Release PyLucene 6.5.0 (rc1) (now with Python 3 support)
Date Thu, 30 Mar 2017 19:05:41 GMT

On Thu, 30 Mar 2017, Petrus Hyvönen wrote:

> Hi,
>
> My current diff to the svn is below (as in the chain of mails). Now i get
> it to wrap my library in both 2.7, 3.5 and 3.6.

I believe, I've now applied all these diffs (or equivalents).
Thank you Petrus for testing on Windows, I'm going to release rc2 artifacts 
and call for a new vote.

Andi..

>
> /Regards
>
>
> Index: jcc2/__init__.py
> ===================================================================
> --- jcc2/__init__.py (revision 1789413)
> +++ jcc2/__init__.py (working copy)
> @@ -20,7 +20,7 @@
>         from windows import add_jvm_dll_directory_to_path
>         add_jvm_dll_directory_to_path()
>
> -    from jcc2.config import SHARED
> +    from jcc.config import SHARED
>     if SHARED:
>         path = os.environ['Path'].split(os.pathsep)
>         eggpath =
> os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
> Index: jcc3/sources/functions.cpp
> ===================================================================
> --- jcc3/sources/functions.cpp (revision 1789413)
> +++ jcc3/sources/functions.cpp (working copy)
> @@ -300,7 +300,7 @@
> #if defined(_MSC_VER) || defined(__SUNPRO_CC)
> int __parseArgs(PyObject *args, char *types, ...)
> {
> -    int count = PY_SIZE((PyTupleObject *) args);
> +    int count = Py_SIZE((PyTupleObject *) args); //WAS PY_SIZE
>     va_list list, check;
>
>     va_start(list, types);
> Index: jcc3/sources/jcc.cpp
> ===================================================================
> --- jcc3/sources/jcc.cpp (revision 1789413)
> +++ jcc3/sources/jcc.cpp (working copy)
> @@ -195,11 +195,11 @@
>
> static PyObject *t_jccenv_strhash(PyObject *self, PyObject *arg)
> {
> -    static const size_t hexdig = sizeof(uintmax_t) * 2;
> -    uintmax_t hash = (uintmax_t) PyObject_Hash(arg);
> +    unsigned long long hash = (unsigned long long) PyObject_Hash(arg);
> +    static const size_t hexdig = sizeof(hash) * 2;
>     char buffer[hexdig + 1];
>
> -    sprintf(buffer, "%0*"PRIxMAX, (int) hexdig, hash);
> +    sprintf(buffer, "%0*llx", (int) hexdig, hash);
>     return PyUnicode_FromStringAndSize(buffer, hexdig);
> }
>
> Index: setup.py
> ===================================================================
> --- setup.py (revision 1789413)
> +++ setup.py (working copy)
> @@ -158,7 +158,7 @@
>     'sunos5': ['-L%(sunos5)s/jre/lib/i386' %(JDK), '-ljava',
>                '-L%(sunos5)s/jre/lib/i386/client' %(JDK), '-ljvm',
>                '-R%(sunos5)s/jre/lib/i386:%(sunos5)s/jre/lib/i386/client'
> %(JDK)],
> -    'win32': ['/LIBPATH:%(win32)s/lib' %(JDK), 'Ws2_32.lib', 'jvm.lib'],
> +    'win32': ['/LIBPATH:%(win32)s/lib' %(JDK), 'Ws2_32.lib',
> 'jvm.lib','/DLL'],
>     'mingw32': ['-L%(mingw32)s/lib' %(JDK), '-ljvm'],
>     'freebsd7': ['-L%(freebsd7)s/jre/lib/i386' %(JDK), '-ljava',
> '-lverify',
>                  '-L%(freebsd7)s/jre/lib/i386/client' %(JDK), '-ljvm',
>
>
>
> On Thu, Mar 30, 2017 at 5:36 PM, Petrus Hyvönen <petrus.hyvonen@gmail.com>
> wrote:
>
>> Hi,
>>
>> I was trying the python 2.7 build and I think the line 23 in
>> jcc2/__init__.py should be:
>>
>>     from jcc.config import SHARED
>>
>> (instead of from jcc2.config import..)
>>
>> Regards
>> /Petrus
>>
>>
>> On Thu, Mar 30, 2017 at 9:10 AM, Petrus Hyvönen <petrus.hyvonen@gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> With this version of of t_jccenv_strhash I can build both JCC and wrap
>>> the library I'm using!
>>>
>>> Regards
>>> /Petrus
>>>
>>>
>>>
>>>>
>>>>
>>>>> static PyObject *t_jccenv_strhash(PyObject *self, PyObject *arg)
>>>>> {
>>>>>    unsigned long long hash = (unsigned long long) PyObject_Hash(arg);
>>>>>    static const size_t hexdig = sizeof(hash) * 2;
>>>>>    char buffer[hexdig + 1];
>>>>>
>>>>>    sprintf(buffer, "%0*llx", (int) hexdig, hash);
>>>>>    return PyUnicode_FromStringAndSize(buffer, hexdig);
>>>>> }
>>>>>
>>>>> BTW this function should be also copied to the py2 directory where we
>>>>> still use int allthough PyObject_Hash returns already long on python
>>>>>
>>>>>> 2.x.
>>>>>>
>>>>>
>>>>> cu,
>>>>> Rudi
>>>>>
>>>>>
>>>>>
>>>
>>>
>>> --
>>> _____________________________________________
>>> Petrus Hyvönen, Uppsala, Sweden
>>> Mobile Phone/SMS:+46 73 803 19 00 <073-803%2019%2000>
>>>
>>
>>
>>
>> --
>> _____________________________________________
>> Petrus Hyvönen, Uppsala, Sweden
>> Mobile Phone/SMS:+46 73 803 19 00 <073-803%2019%2000>
>>
>
>
>
> -- 
> _____________________________________________
> Petrus Hyvönen, Uppsala, Sweden
> Mobile Phone/SMS:+46 73 803 19 00
>
Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message