Hello community, here is the log from the commit of package python3-cffi for openSUSE:Factory checked in at 2015-03-09 10:10:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-cffi (Old) and /work/SRC/openSUSE:Factory/.python3-cffi.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-cffi" Changes: -------- --- /work/SRC/openSUSE:Factory/python3-cffi/python3-cffi.changes 2015-03-05 18:16:53.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python3-cffi.new/python3-cffi.changes 2015-03-09 10:10:20.000000000 +0100 @@ -1,0 +2,8 @@ +Sun Mar 8 17:29:09 UTC 2015 - a...@gmx.de + +- update to version 0.9.1: + * Add the MD5/SHA + * gcc complains if given the obscure flag + "-Werror=declaration-after-statement" + +------------------------------------------------------------------- Old: ---- cffi-0.9.0.tar.gz New: ---- cffi-0.9.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-cffi.spec ++++++ --- /var/tmp/diff_new_pack.tFzJq1/_old 2015-03-09 10:10:21.000000000 +0100 +++ /var/tmp/diff_new_pack.tFzJq1/_new 2015-03-09 10:10:21.000000000 +0100 @@ -17,7 +17,7 @@ Name: python3-cffi -Version: 0.9.0 +Version: 0.9.1 Release: 0 Summary: Foreign Function Interface for Python calling C code License: MIT ++++++ cffi-0.9.0.tar.gz -> cffi-0.9.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/PKG-INFO new/cffi-0.9.1/PKG-INFO --- old/cffi-0.9.0/PKG-INFO 2015-03-03 10:42:33.000000000 +0100 +++ new/cffi-0.9.1/PKG-INFO 2015-03-08 09:07:14.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: cffi -Version: 0.9.0 +Version: 0.9.1 Summary: Foreign Function Interface for Python calling C code. Home-page: http://cffi.readthedocs.org Author: Armin Rigo, Maciej Fijalkowski diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/c/_cffi_backend.c new/cffi-0.9.1/c/_cffi_backend.c --- old/cffi-0.9.0/c/_cffi_backend.c 2015-03-03 10:32:45.000000000 +0100 +++ new/cffi-0.9.1/c/_cffi_backend.c 2015-03-08 09:06:59.000000000 +0100 @@ -5689,7 +5689,7 @@ if (v == NULL || PyModule_AddObject(m, "_C_API", v) < 0) INITERROR; - v = PyText_FromString("0.9.0"); + v = PyText_FromString("0.9.1"); if (v == NULL || PyModule_AddObject(m, "__version__", v) < 0) INITERROR; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/c/malloc_closure.h new/cffi-0.9.1/c/malloc_closure.h --- old/cffi-0.9.0/c/malloc_closure.h 2015-02-26 10:22:04.000000000 +0100 +++ new/cffi-0.9.1/c/malloc_closure.h 2015-03-08 09:06:59.000000000 +0100 @@ -125,6 +125,7 @@ if (item == NULL) return; #else + { int prot = PROT_READ | PROT_WRITE | PROT_EXEC; if (is_emutramp_enabled ()) prot &= ~PROT_EXEC; @@ -136,6 +137,7 @@ 0); if (item == (void *)MAP_FAILED) return; + } #endif #ifdef MALLOC_CLOSURE_DEBUG diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/c/test_c.py new/cffi-0.9.1/c/test_c.py --- old/cffi-0.9.0/c/test_c.py 2015-03-03 10:32:54.000000000 +0100 +++ new/cffi-0.9.1/c/test_c.py 2015-03-08 09:06:59.000000000 +0100 @@ -3260,4 +3260,4 @@ def test_version(): # this test is here mostly for PyPy - assert __version__ == "0.9.0" + assert __version__ == "0.9.1" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/cffi/__init__.py new/cffi-0.9.1/cffi/__init__.py --- old/cffi-0.9.0/cffi/__init__.py 2015-03-03 10:32:28.000000000 +0100 +++ new/cffi-0.9.1/cffi/__init__.py 2015-03-08 09:06:59.000000000 +0100 @@ -4,8 +4,8 @@ from .api import FFI, CDefError, FFIError from .ffiplatform import VerificationError, VerificationMissing -__version__ = "0.9.0" -__version_info__ = (0, 9, 0) +__version__ = "0.9.1" +__version_info__ = (0, 9, 1) # The verifier module file names are based on the CRC32 of a string that # contains the following version number. It may be older than __version__ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/cffi.egg-info/PKG-INFO new/cffi-0.9.1/cffi.egg-info/PKG-INFO --- old/cffi-0.9.0/cffi.egg-info/PKG-INFO 2015-03-03 10:42:33.000000000 +0100 +++ new/cffi-0.9.1/cffi.egg-info/PKG-INFO 2015-03-08 09:07:13.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: cffi -Version: 0.9.0 +Version: 0.9.1 Summary: Foreign Function Interface for Python calling C code. Home-page: http://cffi.readthedocs.org Author: Armin Rigo, Maciej Fijalkowski diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/cffi.egg-info/SOURCES.txt new/cffi-0.9.1/cffi.egg-info/SOURCES.txt --- old/cffi-0.9.0/cffi.egg-info/SOURCES.txt 2015-03-03 10:42:33.000000000 +0100 +++ new/cffi-0.9.1/cffi.egg-info/SOURCES.txt 2015-03-08 09:07:14.000000000 +0100 @@ -39,28 +39,20 @@ cffi.egg-info/requires.txt cffi.egg-info/top_level.txt demo/_curses.py -demo/a.py demo/api.py -demo/audioop.py demo/bsdopendirtype.py demo/btrfs-snap.py demo/cffi-cocoa.py demo/fastcsv.py demo/gmp.py -demo/issue169.py demo/pwuid.py demo/py.cleanup demo/pyobj.py demo/readdir.py demo/readdir2.py -demo/readdir3.py -demo/readdir3_build.py demo/readdir_ctypes.py demo/setup.py -demo/test1.py -demo/test_audioop.py demo/winclipboard.py -demo/x.py demo/xclient.py doc/Makefile doc/design.rst @@ -90,22 +82,15 @@ testing/udir.py testing/snippets/distutils_module/setup.py testing/snippets/distutils_module/snip_basic_verify.py -testing/snippets/distutils_module/build/lib.linux-x86_64-2.7/snip_basic_verify.py testing/snippets/distutils_package_1/setup.py -testing/snippets/distutils_package_1/build/lib.linux-x86_64-2.7/snip_basic_verify1/__init__.py testing/snippets/distutils_package_1/snip_basic_verify1/__init__.py testing/snippets/distutils_package_2/setup.py -testing/snippets/distutils_package_2/build/lib.linux-x86_64-2.7/snip_basic_verify2/__init__.py testing/snippets/distutils_package_2/snip_basic_verify2/__init__.py testing/snippets/infrastructure/setup.py -testing/snippets/infrastructure/build/lib.linux-x86_64-2.7/snip_infrastructure/__init__.py testing/snippets/infrastructure/snip_infrastructure/__init__.py testing/snippets/setuptools_module/setup.py testing/snippets/setuptools_module/snip_setuptools_verify.py -testing/snippets/setuptools_module/build/lib.linux-x86_64-2.7/snip_setuptools_verify.py testing/snippets/setuptools_package_1/setup.py -testing/snippets/setuptools_package_1/build/lib.linux-x86_64-2.7/snip_setuptools_verify1/__init__.py testing/snippets/setuptools_package_1/snip_setuptools_verify1/__init__.py testing/snippets/setuptools_package_2/setup.py -testing/snippets/setuptools_package_2/build/lib.linux-x86_64-2.7/snip_setuptools_verify2/__init__.py testing/snippets/setuptools_package_2/snip_setuptools_verify2/__init__.py \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/a.py new/cffi-0.9.1/demo/a.py --- old/cffi-0.9.0/demo/a.py 2014-12-31 18:52:33.000000000 +0100 +++ new/cffi-0.9.1/demo/a.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -import cffi -ffi = cffi.FFI() -ffi.cdef('int foo();') -lib = ffi.verify('int foo();', sources=['a.cpp'], force_generic_engine=True) -print(lib.foo()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/audioop.py new/cffi-0.9.1/demo/audioop.py --- old/cffi-0.9.0/demo/audioop.py 2015-02-10 18:19:19.000000000 +0100 +++ new/cffi-0.9.1/demo/audioop.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,551 +0,0 @@ -from __future__ import division -import __builtin__ as builtins -import math -import cffi -from fractions import gcd - - -_ffi = cffi.FFI() - - -class error(Exception): - pass - - -def _check_size(size): - if size != 1 and size != 2 and size != 4: - raise error("Size should be 1, 2 or 4") - - -def _check_params(length, size): - _check_size(size) - if length % size != 0: - raise error("not a whole number of frames") - - -def _sample_count(cp, size): - return len(cp) // size - - -def _get_samples(cp, size): - for i in range(_sample_count(cp, size)): - yield _get_sample(cp, size, i, True) - - -def _struct_format(size): - if size == 1: - return "b" - elif size == 2: - return "h" - elif size == 4: - return "i" - - -def _get_sample(cp, size, i): - fmt = _struct_format(size) - start = i * size - end = start + size - return struct.unpack_from(fmt, _buffer(cp)[start:end])[0] - - -def _put_sample(cp, size, i, val): - fmt = _struct_format(size) - struct.pack_into(fmt, cp, i * size, val) - - -def _get_maxval(size, signed=True): - if signed and size == 1: - return 0x7f - elif size == 1: - return 0xff - elif signed and size == 2: - return 0x7fff - elif size == 2: - return 0xffff - elif signed and size == 4: - return 0x7fffffff - elif size == 4: - return 0xffffffff - - -def _get_minval(size, signed=True): - if not signed: - return 0 - elif size == 1: - return -0x80 - elif size == 2: - return -0x8000 - elif size == 4: - return -0x80000000 - - -def _get_clipfn(size, signed=True): - maxval = _get_maxval(size, signed) - minval = _get_minval(size, signed) - return lambda val: builtins.max(min(val, maxval), minval) - - -def _overflow(val, size, signed=True): - minval = _get_minval(size, signed) - maxval = _get_maxval(size, signed) - if minval <= val <= maxval: - return val - - bits = size * 8 - if signed: - offset = 2**(bits-1) - return ((val + offset) % (2**bits)) - offset - else: - return val % (2**bits) - - -def getsample(cp, size, i): - _check_params(len(cp), size) - if not (0 <= i < len(cp) // size): - raise error("Index out of range") - return _get_sample(cp, size, i) - - -def max(cp, size): - _check_params(len(cp), size) - - if len(cp) == 0: - return 0 - - return builtins.max(abs(sample) for sample in _get_samples(cp, size)) - - -def minmax(cp, size): - _check_params(len(cp), size) - - min_sample, max_sample = 0x7fffffff, -0x80000000 - for sample in _get_samples(cp, size): - max_sample = builtins.max(sample, max_sample) - min_sample = builtins.min(sample, min_sample) - - return min_sample, max_sample - - -def avg(cp, size): - _check_params(len(cp), size) - sample_count = _sample_count(cp, size) - if sample_count == 0: - return 0 - return sum(_get_samples(cp, size)) // sample_count - - -def rms(cp, size): - _check_params(len(cp), size) - - sample_count = _sample_count(cp, size) - if sample_count == 0: - return 0 - - sum_squares = sum(sample**2 for sample in _get_samples(cp, size)) - return int(math.sqrt(sum_squares // sample_count)) - - -def _sum2(cp1, cp2, length): - size = 2 - return sum(getsample(cp1, size, i) * getsample(cp2, size, i) - for i in range(length)) - - -def findfit(cp1, cp2): - size = 2 - - if len(cp1) % 2 != 0 or len(cp2) % 2 != 0: - raise error("Strings should be even-sized") - - if len(cp1) < len(cp2): - raise error("First sample should be longer") - - len1 = _sample_count(cp1, size) - len2 = _sample_count(cp2, size) - - sum_ri_2 = _sum2(cp2, cp2, len2) - sum_aij_2 = _sum2(cp1, cp1, len2) - sum_aij_ri = _sum2(cp1, cp2, len2) - - result = (sum_ri_2 * sum_aij_2 - sum_aij_ri * sum_aij_ri) / sum_aij_2 - - best_result = result - best_i = 0 - - for i in range(1, len1 - len2 + 1): - aj_m1 = _get_sample(cp1, size, i - 1) - aj_lm1 = _get_sample(cp1, size, i + len2 - 1) - - sum_aij_2 += aj_lm1**2 - aj_m1**2 - sum_aij_ri = _sum2(_buffer(cp1)[i*size:], cp2, len2) - - result = (sum_ri_2 * sum_aij_2 - sum_aij_ri * sum_aij_ri) / sum_aij_2 - - if result < best_result: - best_result = result - best_i = i - - factor = _sum2(_buffer(cp1)[best_i*size:], cp2, len2) / sum_ri_2 - - return best_i, factor - - -def findfactor(cp1, cp2): - size = 2 - - if len(cp1) % 2 != 0: - raise error("Strings should be even-sized") - - if len(cp1) != len(cp2): - raise error("Samples should be same size") - - sample_count = _sample_count(cp1, size) - - sum_ri_2 = _sum2(cp2, cp2, sample_count) - sum_aij_ri = _sum2(cp1, cp2, sample_count) - - return sum_aij_ri / sum_ri_2 - - -def findmax(cp, len2): - size = 2 - sample_count = _sample_count(cp, size) - - if len(cp) % 2 != 0: - raise error("Strings should be even-sized") - - if len2 < 0 or sample_count < len2: - raise error("Input sample should be longer") - - if sample_count == 0: - return 0 - - result = _sum2(cp, cp, len2) - best_result = result - best_i = 0 - - for i in range(1, sample_count - len2 + 1): - sample_leaving_window = getsample(cp, size, i - 1) - sample_entering_window = getsample(cp, size, i + len2 - 1) - - result -= sample_leaving_window**2 - result += sample_entering_window**2 - - if result > best_result: - best_result = result - best_i = i - - return best_i - - -def avgpp(cp, size): - _check_params(len(cp), size) - sample_count = _sample_count(cp, size) - if sample_count <= 2: - return 0 - - prevextremevalid = False - prevextreme = None - avg = 0 - nextreme = 0 - - prevval = getsample(cp, size, 0) - val = getsample(cp, size, 1) - - prevdiff = val - prevval - - for i in range(1, sample_count): - val = getsample(cp, size, i) - diff = val - prevval - - if diff * prevdiff < 0: - if prevextremevalid: - avg += abs(prevval - prevextreme) - nextreme += 1 - - prevextremevalid = True - prevextreme = prevval - - prevval = val - if diff != 0: - prevdiff = diff - - if nextreme == 0: - return 0 - - return avg // nextreme - - -def maxpp(cp, size): - _check_params(len(cp), size) - sample_count = _sample_count(cp, size) - if sample_count <= 1: - return 0 - - prevextremevalid = False - prevextreme = None - max = 0 - - prevval = getsample(cp, size, 0) - val = getsample(cp, size, 1) - - prevdiff = val - prevval - - for i in range(1, sample_count): - val = getsample(cp, size, i) - diff = val - prevval - - if diff * prevdiff < 0: - if prevextremevalid: - extremediff = abs(prevval - prevextreme) - if extremediff > max: - max = extremediff - prevextremevalid = True - prevextreme = prevval - - prevval = val - if diff != 0: - prevdiff = diff - - return max - - -def cross(cp, size): - _check_params(len(cp), size) - - crossings = -1 - last_sample = 17 - for sample in _get_samples(cp, size): - sample = sample < 0 - if sample != last_sample: - crossings += 1 - last_sample = sample - return crossings - - -def mul(cp, size, factor): - _check_params(len(cp), size) - clip = _get_clipfn(size) - - result = create_string_buffer(len(cp)) - - for i, sample in enumerate(_get_samples(cp, size)): - sample = clip(int(sample * factor)) - _put_sample(result, size, i, sample) - - return result.raw - - -def tomono(cp, size, fac1, fac2): - _check_params(len(cp), size) - clip = _get_clipfn(size) - - sample_count = _sample_count(cp, size) - - result = create_string_buffer(len(cp) // 2) - - for i in range(0, sample_count, 2): - l_sample = getsample(cp, size, i) - r_sample = getsample(cp, size, i + 1) - - sample = (l_sample * fac1) + (r_sample * fac2) - sample = int(clip(sample)) - - _put_sample(result, size, i // 2, sample) - - return result.raw - - -def tostereo(cp, size, fac1, fac2): - _check_params(len(cp), size) - - sample_count = _sample_count(cp, size) - - result = create_string_buffer(len(cp) * 2) - clip = _get_clipfn(size) - - for i in range(sample_count): - sample = _get_sample(cp, size, i) - - l_sample = clip(sample * fac1) - r_sample = clip(sample * fac2) - - _put_sample(result, size, i * 2, l_sample) - _put_sample(result, size, i * 2 + 1, r_sample) - - return result.raw - - -def add(cp1, cp2, size): - _check_params(len(cp1), size) - - if len(cp1) != len(cp2): - raise error("Lengths should be the same") - - clip = _get_clipfn(size) - sample_count = _sample_count(cp1, size) - result = create_string_buffer(len(cp1)) - - for i in range(sample_count): - sample1 = getsample(cp1, size, i) - sample2 = getsample(cp2, size, i) - - sample = clip(sample1 + sample2) - - _put_sample(result, size, i, sample) - - return result.raw - - -def bias(cp, size, bias): - _check_params(len(cp), size) - - result = create_string_buffer(len(cp)) - - for i, sample in enumerate(_get_samples(cp, size)): - sample = _overflow(sample + bias, size) - _put_sample(result, size, i, sample) - - return result.raw - - -def reverse(cp, size): - _check_params(len(cp), size) - sample_count = _sample_count(cp, size) - - result = create_string_buffer(len(cp)) - for i, sample in enumerate(_get_samples(cp, size)): - _put_sample(result, size, sample_count - i - 1, sample) - - return result.raw - - -def lin2lin(cp, size, size2): - _check_params(len(cp), size) - _check_size(size2) - - if size == size2: - return cp - - new_len = (len(cp) // size) * size2 - result = create_string_buffer(new_len) - - for i in range(_sample_count(cp, size)): - sample = _get_sample(cp, size, i) - if size == 1: - sample <<= 24 - elif size == 2: - sample <<= 16 - if size2 == 1: - sample >>= 24 - elif size2 == 2: - sample >>= 16 - sample = _overflow(sample, size2) - _put_sample(result, size2, i, sample) - - return result.raw - - -def ratecv(cp, size, nchannels, inrate, outrate, state, weightA=1, weightB=0): - _check_params(len(cp), size) - if nchannels < 1: - raise error("# of channels should be >= 1") - - bytes_per_frame = size * nchannels - frame_count = len(cp) // bytes_per_frame - - if bytes_per_frame // nchannels != size: - raise OverflowError("width * nchannels too big for a C int") - - if weightA < 1 or weightB < 0: - raise error("weightA should be >= 1, weightB should be >= 0") - - if len(cp) % bytes_per_frame != 0: - raise error("not a whole number of frames") - - if inrate <= 0 or outrate <= 0: - raise error("sampling rate not > 0") - - d = gcd(inrate, outrate) - inrate //= d - outrate //= d - - prev_i = [0] * nchannels - cur_i = [0] * nchannels - - if state is None: - d = -outrate - else: - d, samps = state - - if len(samps) != nchannels: - raise error("illegal state argument") - - prev_i, cur_i = zip(*samps) - prev_i, cur_i = list(prev_i), list(cur_i) - - q = frame_count // inrate - ceiling = (q + 1) * outrate - nbytes = ceiling * bytes_per_frame - - result = create_string_buffer(nbytes) - - samples = _get_samples(cp, size) - out_i = 0 - while True: - while d < 0: - if frame_count == 0: - samps = zip(prev_i, cur_i) - retval = result.raw - - # slice off extra bytes - trim_index = (out_i * bytes_per_frame) - len(retval) - retval = retval[:trim_index] - - return (retval, (d, tuple(samps))) - - for chan in range(nchannels): - prev_i[chan] = cur_i[chan] - cur_i[chan] = next(samples) - - cur_i[chan] = ( - (weightA * cur_i[chan] + weightB * prev_i[chan]) - // (weightA + weightB) - ) - - frame_count -= 1 - d += outrate - - while d >= 0: - for chan in range(nchannels): - cur_o = ( - (prev_i[chan] * d + cur_i[chan] * (outrate - d)) - // outrate - ) - _put_sample(result, size, out_i, _overflow(cur_o, size)) - out_i += 1 - d -= inrate - - -def lin2ulaw(cp, size): - raise NotImplementedError() - - -def ulaw2lin(cp, size): - raise NotImplementedError() - - -def lin2alaw(cp, size): - raise NotImplementedError() - - -def alaw2lin(cp, size): - raise NotImplementedError() - - -def lin2adpcm(cp, size, state): - raise NotImplementedError() - - -def adpcm2lin(cp, size, state): - raise NotImplementedError() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/issue169.py new/cffi-0.9.1/demo/issue169.py --- old/cffi-0.9.0/demo/issue169.py 2014-12-03 11:48:33.000000000 +0100 +++ new/cffi-0.9.1/demo/issue169.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -import cffi - -ffi = cffi.FFI() -ffi.cdef('''struct my_struct { - int a; - struct { - int b; - int c; - } s; -};''') - - -def offsetof(type_str, field_names): - type_ = ffi.typeof(type_str) - res = 0 - for field_name in field_names.split('.'): - field = dict(type_.fields)[field_name] - res += field.offset - type_ = field.type - return res - - -print offsetof('struct my_struct', 's.b') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/readdir3.py new/cffi-0.9.1/demo/readdir3.py --- old/cffi-0.9.0/demo/readdir3.py 2014-09-21 13:28:25.000000000 +0200 +++ new/cffi-0.9.1/demo/readdir3.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -# A Linux-only demo, using verify() instead of hard-coding the exact layouts -# -import sys -from cffi import FFI - -ffi = FFI() -ffi.cdef(""" - - typedef ... DIR; - - struct dirent { - unsigned char d_type; /* type of file; not supported - by all file system types */ - char d_name[...]; /* filename */ - ...; - }; - - int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); - int openat(int dirfd, const char *pathname, int flags); - DIR *fdopendir(int fd); - int closedir(DIR *dirp); - - static const int DT_DIR; - -""") -ffi.C = ffi.verify(None, modulename='_readdir3') - - -def walk(basefd, path): - print '{', path - dirfd = ffi.C.openat(basefd, path, 0) - if dirfd < 0: - # error in openat() - return - dir = ffi.C.fdopendir(dirfd) - dirent = ffi.new("struct dirent *") - result = ffi.new("struct dirent **") - while True: - if ffi.C.readdir_r(dir, dirent, result): - # error in readdir_r() - break - if result[0] == ffi.NULL: - break - name = ffi.string(dirent.d_name) - print '%3d %s' % (dirent.d_type, name) - if dirent.d_type == ffi.C.DT_DIR and name != '.' and name != '..': - walk(dirfd, name) - ffi.C.closedir(dir) - print '}' - - -walk(-1, "/tmp") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/readdir3_build.py new/cffi-0.9.1/demo/readdir3_build.py --- old/cffi-0.9.0/demo/readdir3_build.py 2014-09-21 13:27:16.000000000 +0200 +++ new/cffi-0.9.1/demo/readdir3_build.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,40 +0,0 @@ -# A Linux-only demo, using verify() instead of hard-coding the exact layouts -# -import sys -from cffi import FFI - -if not sys.platform.startswith('linux'): - raise Exception("Linux-only demo") - - -ffi = FFI() -ffi.cdef(""" - - typedef ... DIR; - - struct dirent { - unsigned char d_type; /* type of file; not supported - by all file system types */ - char d_name[...]; /* filename */ - ...; - }; - - int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result); - int openat(int dirfd, const char *pathname, int flags); - DIR *fdopendir(int fd); - int closedir(DIR *dirp); - - static const int DT_DIR; - -""") -ffi.verify(""" -#ifndef _ATFILE_SOURCE -# define _ATFILE_SOURCE -#endif -#ifndef _BSD_SOURCE -# define _BSD_SOURCE -#endif -#include <fcntl.h> -#include <sys/types.h> -#include <dirent.h> -""", modulename='_readdir3', tmpdir='.') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/test1.py new/cffi-0.9.1/demo/test1.py --- old/cffi-0.9.0/demo/test1.py 2014-11-16 19:14:15.000000000 +0100 +++ new/cffi-0.9.1/demo/test1.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -import cffi - -ffi = cffi.FFI() - - -ffi.cdef(""" -struct foo_s { - int a, b, c; - ...; -}; -""") - -lib = ffi.verify(""" -struct foo_s { - int b, d, a; - const int c; -}; -""") - -s = ffi.new("struct foo_s *") -for name in ('a', 'b', 'c'): - print ffi.offsetof("struct foo_s", name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/test_audioop.py new/cffi-0.9.1/demo/test_audioop.py --- old/cffi-0.9.0/demo/test_audioop.py 2015-02-10 18:16:57.000000000 +0100 +++ new/cffi-0.9.1/demo/test_audioop.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,401 +0,0 @@ -import audioop -import sys -import unittest -import struct -from test.test_support import run_unittest, impl_detail - - -formats = { - 1: 'b', - 2: 'h', - 4: 'i', -} - -def pack(width, data): - return struct.pack('=%d%s' % (len(data), formats[width]), *data) - -packs = { - 1: lambda *data: pack(1, data), - 2: lambda *data: pack(2, data), - 4: lambda *data: pack(4, data), -} -maxvalues = {w: (1 << (8 * w - 1)) - 1 for w in (1, 2, 4)} -minvalues = {w: -1 << (8 * w - 1) for w in (1, 2, 4)} - -datas = { - 1: b'\x00\x12\x45\xbb\x7f\x80\xff', - 2: packs[2](0, 0x1234, 0x4567, -0x4567, 0x7fff, -0x8000, -1), - 4: packs[4](0, 0x12345678, 0x456789ab, -0x456789ab, - 0x7fffffff, -0x80000000, -1), -} - -INVALID_DATA = [ - (b'abc', 0), - (b'abc', 2), - (b'abc', 4), -] - - -class TestAudioop(unittest.TestCase): - - def test_max(self): - for w in 1, 2, 4: - self.assertEqual(audioop.max(b'', w), 0) - p = packs[w] - self.assertEqual(audioop.max(p(5), w), 5) - self.assertEqual(audioop.max(p(5, -8, -1), w), 8) - self.assertEqual(audioop.max(p(maxvalues[w]), w), maxvalues[w]) - self.assertEqual(audioop.max(p(minvalues[w]), w), -minvalues[w]) - self.assertEqual(audioop.max(datas[w], w), -minvalues[w]) - - def XXtest_minmax(self): - for w in 1, 2, 4: - self.assertEqual(audioop.minmax(b'', w), - (0x7fffffff, -0x80000000)) - p = packs[w] - self.assertEqual(audioop.minmax(p(5), w), (5, 5)) - self.assertEqual(audioop.minmax(p(5, -8, -1), w), (-8, 5)) - self.assertEqual(audioop.minmax(p(maxvalues[w]), w), - (maxvalues[w], maxvalues[w])) - self.assertEqual(audioop.minmax(p(minvalues[w]), w), - (minvalues[w], minvalues[w])) - self.assertEqual(audioop.minmax(datas[w], w), - (minvalues[w], maxvalues[w])) - - def XXtest_maxpp(self): - for w in 1, 2, 4: - self.assertEqual(audioop.maxpp(b'', w), 0) - self.assertEqual(audioop.maxpp(packs[w](*range(100)), w), 0) - self.assertEqual(audioop.maxpp(packs[w](9, 10, 5, 5, 0, 1), w), 10) - self.assertEqual(audioop.maxpp(datas[w], w), - maxvalues[w] - minvalues[w]) - - def XXtest_avg(self): - for w in 1, 2, 4: - self.assertEqual(audioop.avg(b'', w), 0) - p = packs[w] - self.assertEqual(audioop.avg(p(5), w), 5) - self .assertEqual(audioop.avg(p(5, 8), w), 6) - self.assertEqual(audioop.avg(p(5, -8), w), -2) - self.assertEqual(audioop.avg(p(maxvalues[w], maxvalues[w]), w), - maxvalues[w]) - self.assertEqual(audioop.avg(p(minvalues[w], minvalues[w]), w), - minvalues[w]) - self.assertEqual(audioop.avg(packs[4](0x50000000, 0x70000000), 4), - 0x60000000) - self.assertEqual(audioop.avg(packs[4](-0x50000000, -0x70000000), 4), - -0x60000000) - - def XXtest_avgpp(self): - for w in 1, 2, 4: - self.assertEqual(audioop.avgpp(b'', w), 0) - self.assertEqual(audioop.avgpp(packs[w](*range(100)), w), 0) - self.assertEqual(audioop.avgpp(packs[w](9, 10, 5, 5, 0, 1), w), 10) - self.assertEqual(audioop.avgpp(datas[1], 1), 196) - self.assertEqual(audioop.avgpp(datas[2], 2), 50534) - self.assertEqual(audioop.avgpp(datas[4], 4), 3311897002) - - def XXtest_rms(self): - for w in 1, 2, 4: - self.assertEqual(audioop.rms(b'', w), 0) - p = packs[w] - self.assertEqual(audioop.rms(p(*range(100)), w), 57) - self.assertAlmostEqual(audioop.rms(p(maxvalues[w]) * 5, w), - maxvalues[w], delta=1) - self.assertAlmostEqual(audioop.rms(p(minvalues[w]) * 5, w), - -minvalues[w], delta=1) - self.assertEqual(audioop.rms(datas[1], 1), 77) - self.assertEqual(audioop.rms(datas[2], 2), 20001) - self.assertEqual(audioop.rms(datas[4], 4), 1310854152) - - def XXtest_cross(self): - for w in 1, 2, 4: - self.assertEqual(audioop.cross(b'', w), -1) - p = packs[w] - self.assertEqual(audioop.cross(p(0, 1, 2), w), 0) - self.assertEqual(audioop.cross(p(1, 2, -3, -4), w), 1) - self.assertEqual(audioop.cross(p(-1, -2, 3, 4), w), 1) - self.assertEqual(audioop.cross(p(0, minvalues[w]), w), 1) - self.assertEqual(audioop.cross(p(minvalues[w], maxvalues[w]), w), 1) - - def XXtest_add(self): - for w in 1, 2, 4: - self.assertEqual(audioop.add(b'', b'', w), b'') - self.assertEqual(audioop.add(datas[w], b'\0' * len(datas[w]), w), - datas[w]) - self.assertEqual(audioop.add(datas[1], datas[1], 1), - b'\x00\x24\x7f\x80\x7f\x80\xfe') - self.assertEqual(audioop.add(datas[2], datas[2], 2), - packs[2](0, 0x2468, 0x7fff, -0x8000, 0x7fff, -0x8000, -2)) - self.assertEqual(audioop.add(datas[4], datas[4], 4), - packs[4](0, 0x2468acf0, 0x7fffffff, -0x80000000, - 0x7fffffff, -0x80000000, -2)) - - def XXtest_bias(self): - for w in 1, 2, 4: - for bias in 0, 1, -1, 127, -128, 0x7fffffff, -0x80000000: - self.assertEqual(audioop.bias(b'', w, bias), b'') - self.assertEqual(audioop.bias(datas[1], 1, 1), - b'\x01\x13\x46\xbc\x80\x81\x00') - self.assertEqual(audioop.bias(datas[1], 1, -1), - b'\xff\x11\x44\xba\x7e\x7f\xfe') - self.assertEqual(audioop.bias(datas[1], 1, 0x7fffffff), - b'\xff\x11\x44\xba\x7e\x7f\xfe') - self.assertEqual(audioop.bias(datas[1], 1, -0x80000000), - datas[1]) - self.assertEqual(audioop.bias(datas[2], 2, 1), - packs[2](1, 0x1235, 0x4568, -0x4566, -0x8000, -0x7fff, 0)) - self.assertEqual(audioop.bias(datas[2], 2, -1), - packs[2](-1, 0x1233, 0x4566, -0x4568, 0x7ffe, 0x7fff, -2)) - self.assertEqual(audioop.bias(datas[2], 2, 0x7fffffff), - packs[2](-1, 0x1233, 0x4566, -0x4568, 0x7ffe, 0x7fff, -2)) - self.assertEqual(audioop.bias(datas[2], 2, -0x80000000), - datas[2]) - self.assertEqual(audioop.bias(datas[4], 4, 1), - packs[4](1, 0x12345679, 0x456789ac, -0x456789aa, - -0x80000000, -0x7fffffff, 0)) - self.assertEqual(audioop.bias(datas[4], 4, -1), - packs[4](-1, 0x12345677, 0x456789aa, -0x456789ac, - 0x7ffffffe, 0x7fffffff, -2)) - self.assertEqual(audioop.bias(datas[4], 4, 0x7fffffff), - packs[4](0x7fffffff, -0x6dcba989, -0x3a987656, 0x3a987654, - -2, -1, 0x7ffffffe)) - self.assertEqual(audioop.bias(datas[4], 4, -0x80000000), - packs[4](-0x80000000, -0x6dcba988, -0x3a987655, 0x3a987655, - -1, 0, 0x7fffffff)) - - def XXtest_lin2lin(self): - for w in 1, 2, 4: - self.assertEqual(audioop.lin2lin(datas[w], w, w), datas[w]) - - self.assertEqual(audioop.lin2lin(datas[1], 1, 2), - packs[2](0, 0x1200, 0x4500, -0x4500, 0x7f00, -0x8000, -0x100)) - self.assertEqual(audioop.lin2lin(datas[1], 1, 4), - packs[4](0, 0x12000000, 0x45000000, -0x45000000, - 0x7f000000, -0x80000000, -0x1000000)) - self.assertEqual(audioop.lin2lin(datas[2], 2, 1), - b'\x00\x12\x45\xba\x7f\x80\xff') - self.assertEqual(audioop.lin2lin(datas[2], 2, 4), - packs[4](0, 0x12340000, 0x45670000, -0x45670000, - 0x7fff0000, -0x80000000, -0x10000)) - self.assertEqual(audioop.lin2lin(datas[4], 4, 1), - b'\x00\x12\x45\xba\x7f\x80\xff') - self.assertEqual(audioop.lin2lin(datas[4], 4, 2), - packs[2](0, 0x1234, 0x4567, -0x4568, 0x7fff, -0x8000, -1)) - - @impl_detail(pypy=False, cpython=False) - def XXtest_adpcm2lin(self): - self.assertEqual(audioop.adpcm2lin(b'\x07\x7f\x7f', 1, None), - (b'\x00\x00\x00\xff\x00\xff', (-179, 40))) - self.assertEqual(audioop.adpcm2lin(b'\x07\x7f\x7f', 2, None), - (packs[2](0, 0xb, 0x29, -0x16, 0x72, -0xb3), (-179, 40))) - self.assertEqual(audioop.adpcm2lin(b'\x07\x7f\x7f', 4, None), - (packs[4](0, 0xb0000, 0x290000, -0x160000, 0x720000, - -0xb30000), (-179, 40))) - - # Very cursory test - for w in 1, 2, 4: - self.assertEqual(audioop.adpcm2lin(b'\0' * 5, w, None), - (b'\0' * w * 10, (0, 0))) - - @impl_detail(pypy=False, cpython=False) - def XXtest_lin2adpcm(self): - self.assertEqual(audioop.lin2adpcm(datas[1], 1, None), - (b'\x07\x7f\x7f', (-221, 39))) - self.assertEqual(audioop.lin2adpcm(datas[2], 2, None), - (b'\x07\x7f\x7f', (31, 39))) - self.assertEqual(audioop.lin2adpcm(datas[4], 4, None), - (b'\x07\x7f\x7f', (31, 39))) - - # Very cursory test - for w in 1, 2, 4: - self.assertEqual(audioop.lin2adpcm(b'\0' * w * 10, w, None), - (b'\0' * 5, (0, 0))) - - @impl_detail(pypy=False, cpython=False) - def XXtest_lin2alaw(self): - self.assertEqual(audioop.lin2alaw(datas[1], 1), - b'\xd5\x87\xa4\x24\xaa\x2a\x5a') - self.assertEqual(audioop.lin2alaw(datas[2], 2), - b'\xd5\x87\xa4\x24\xaa\x2a\x55') - self.assertEqual(audioop.lin2alaw(datas[4], 4), - b'\xd5\x87\xa4\x24\xaa\x2a\x55') - - @impl_detail(pypy=False, cpython=False) - def XXtest_alaw2lin(self): - encoded = b'\x00\x03\x24\x2a\x51\x54\x55\x58\x6b\x71\x7f'\ - b'\x80\x83\xa4\xaa\xd1\xd4\xd5\xd8\xeb\xf1\xff' - src = [-688, -720, -2240, -4032, -9, -3, -1, -27, -244, -82, -106, - 688, 720, 2240, 4032, 9, 3, 1, 27, 244, 82, 106] - for w in 1, 2, 4: - self.assertEqual(audioop.alaw2lin(encoded, w), - packs[w](*(x << (w * 8) >> 13 for x in src))) - - encoded = ''.join(chr(x) for x in xrange(256)) - for w in 2, 4: - decoded = audioop.alaw2lin(encoded, w) - self.assertEqual(audioop.lin2alaw(decoded, w), encoded) - - @impl_detail(pypy=False, cpython=False) - def XXtest_lin2ulaw(self): - self.assertEqual(audioop.lin2ulaw(datas[1], 1), - b'\xff\xad\x8e\x0e\x80\x00\x67') - self.assertEqual(audioop.lin2ulaw(datas[2], 2), - b'\xff\xad\x8e\x0e\x80\x00\x7e') - self.assertEqual(audioop.lin2ulaw(datas[4], 4), - b'\xff\xad\x8e\x0e\x80\x00\x7e') - - @impl_detail(pypy=False, cpython=False) - def XXtest_ulaw2lin(self): - encoded = b'\x00\x0e\x28\x3f\x57\x6a\x76\x7c\x7e\x7f'\ - b'\x80\x8e\xa8\xbf\xd7\xea\xf6\xfc\xfe\xff' - src = [-8031, -4447, -1471, -495, -163, -53, -18, -6, -2, 0, - 8031, 4447, 1471, 495, 163, 53, 18, 6, 2, 0] - for w in 1, 2, 4: - self.assertEqual(audioop.ulaw2lin(encoded, w), - packs[w](*(x << (w * 8) >> 14 for x in src))) - - # Current u-law implementation has two codes fo 0: 0x7f and 0xff. - encoded = ''.join(chr(x) for x in range(127) + range(128, 256)) - for w in 2, 4: - decoded = audioop.ulaw2lin(encoded, w) - self.assertEqual(audioop.lin2ulaw(decoded, w), encoded) - - def XXtest_mul(self): - for w in 1, 2, 4: - self.assertEqual(audioop.mul(b'', w, 2), b'') - self.assertEqual(audioop.mul(datas[w], w, 0), - b'\0' * len(datas[w])) - self.assertEqual(audioop.mul(datas[w], w, 1), - datas[w]) - self.assertEqual(audioop.mul(datas[1], 1, 2), - b'\x00\x24\x7f\x80\x7f\x80\xfe') - self.assertEqual(audioop.mul(datas[2], 2, 2), - packs[2](0, 0x2468, 0x7fff, -0x8000, 0x7fff, -0x8000, -2)) - self.assertEqual(audioop.mul(datas[4], 4, 2), - packs[4](0, 0x2468acf0, 0x7fffffff, -0x80000000, - 0x7fffffff, -0x80000000, -2)) - - def XXtest_ratecv(self): - for w in 1, 2, 4: - self.assertEqual(audioop.ratecv(b'', w, 1, 8000, 8000, None), - (b'', (-1, ((0, 0),)))) - self.assertEqual(audioop.ratecv(b'', w, 5, 8000, 8000, None), - (b'', (-1, ((0, 0),) * 5))) - self.assertEqual(audioop.ratecv(b'', w, 1, 8000, 16000, None), - (b'', (-2, ((0, 0),)))) - self.assertEqual(audioop.ratecv(datas[w], w, 1, 8000, 8000, None)[0], - datas[w]) - state = None - d1, state = audioop.ratecv(b'\x00\x01\x02', 1, 1, 8000, 16000, state) - d2, state = audioop.ratecv(b'\x00\x01\x02', 1, 1, 8000, 16000, state) - self.assertEqual(d1 + d2, b'\000\000\001\001\002\001\000\000\001\001\002') - - for w in 1, 2, 4: - d0, state0 = audioop.ratecv(datas[w], w, 1, 8000, 16000, None) - d, state = b'', None - for i in range(0, len(datas[w]), w): - d1, state = audioop.ratecv(datas[w][i:i + w], w, 1, - 8000, 16000, state) - d += d1 - self.assertEqual(d, d0) - self.assertEqual(state, state0) - - def XXtest_reverse(self): - for w in 1, 2, 4: - self.assertEqual(audioop.reverse(b'', w), b'') - self.assertEqual(audioop.reverse(packs[w](0, 1, 2), w), - packs[w](2, 1, 0)) - - def XXtest_tomono(self): - for w in 1, 2, 4: - data1 = datas[w] - data2 = bytearray(2 * len(data1)) - for k in range(w): - data2[k::2*w] = data1[k::w] - self.assertEqual(audioop.tomono(str(data2), w, 1, 0), data1) - self.assertEqual(audioop.tomono(str(data2), w, 0, 1), b'\0' * len(data1)) - for k in range(w): - data2[k+w::2*w] = data1[k::w] - self.assertEqual(audioop.tomono(str(data2), w, 0.5, 0.5), data1) - - def XXtest_tostereo(self): - for w in 1, 2, 4: - data1 = datas[w] - data2 = bytearray(2 * len(data1)) - for k in range(w): - data2[k::2*w] = data1[k::w] - self.assertEqual(audioop.tostereo(data1, w, 1, 0), data2) - self.assertEqual(audioop.tostereo(data1, w, 0, 0), b'\0' * len(data2)) - for k in range(w): - data2[k+w::2*w] = data1[k::w] - self.assertEqual(audioop.tostereo(data1, w, 1, 1), data2) - - def XXtest_findfactor(self): - self.assertEqual(audioop.findfactor(datas[2], datas[2]), 1.0) - self.assertEqual(audioop.findfactor(b'\0' * len(datas[2]), datas[2]), - 0.0) - - def XXtest_findfit(self): - self.assertEqual(audioop.findfit(datas[2], datas[2]), (0, 1.0)) - self.assertEqual(audioop.findfit(datas[2], packs[2](1, 2, 0)), - (1, 8038.8)) - self.assertEqual(audioop.findfit(datas[2][:-2] * 5 + datas[2], datas[2]), - (30, 1.0)) - - def XXtest_findmax(self): - self.assertEqual(audioop.findmax(datas[2], 1), 5) - - def XXtest_getsample(self): - for w in 1, 2, 4: - data = packs[w](0, 1, -1, maxvalues[w], minvalues[w]) - self.assertEqual(audioop.getsample(data, w, 0), 0) - self.assertEqual(audioop.getsample(data, w, 1), 1) - self.assertEqual(audioop.getsample(data, w, 2), -1) - self.assertEqual(audioop.getsample(data, w, 3), maxvalues[w]) - self.assertEqual(audioop.getsample(data, w, 4), minvalues[w]) - - def XXtest_negativelen(self): - # from issue 3306, previously it segfaulted - self.assertRaises(audioop.error, - audioop.findmax, ''.join( chr(x) for x in xrange(256)), -2392392) - - @impl_detail(pypy=False, cpython=False) - def XXtest_issue7673(self): - state = None - for data, size in INVALID_DATA: - size2 = size - self.assertRaises(audioop.error, audioop.getsample, data, size, 0) - self.assertRaises(audioop.error, audioop.max, data, size) - self.assertRaises(audioop.error, audioop.minmax, data, size) - self.assertRaises(audioop.error, audioop.avg, data, size) - self.assertRaises(audioop.error, audioop.rms, data, size) - self.assertRaises(audioop.error, audioop.avgpp, data, size) - self.assertRaises(audioop.error, audioop.maxpp, data, size) - self.assertRaises(audioop.error, audioop.cross, data, size) - self.assertRaises(audioop.error, audioop.mul, data, size, 1.0) - self.assertRaises(audioop.error, audioop.tomono, data, size, 0.5, 0.5) - self.assertRaises(audioop.error, audioop.tostereo, data, size, 0.5, 0.5) - self.assertRaises(audioop.error, audioop.add, data, data, size) - self.assertRaises(audioop.error, audioop.bias, data, size, 0) - self.assertRaises(audioop.error, audioop.reverse, data, size) - self.assertRaises(audioop.error, audioop.lin2lin, data, size, size2) - self.assertRaises(audioop.error, audioop.ratecv, data, size, 1, 1, 1, state) - self.assertRaises(audioop.error, audioop.lin2ulaw, data, size) - self.assertRaises(audioop.error, audioop.lin2alaw, data, size) - self.assertRaises(audioop.error, audioop.lin2adpcm, data, size, state) - - @impl_detail(pypy=False, cpython=False) - def XXtest_wrongsize(self): - data = b'abcdefgh' - state = None - for size in (-1, 0, 3, 5, 1024): - self.assertRaises(audioop.error, audioop.ulaw2lin, data, size) - self.assertRaises(audioop.error, audioop.alaw2lin, data, size) - self.assertRaises(audioop.error, audioop.adpcm2lin, data, size, state) - -def test_main(): - run_unittest(TestAudioop) - -if __name__ == '__main__': - test_main() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/demo/x.py new/cffi-0.9.1/demo/x.py --- old/cffi-0.9.0/demo/x.py 2015-01-28 17:18:01.000000000 +0100 +++ new/cffi-0.9.1/demo/x.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -from cffi import FFI -ffi = FFI() -ffi.cdef("void myprint();") -C = ffi.verify(""" -#include "test.c" -""", include_dirs=['.']) -C.myprint() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/doc/source/conf.py new/cffi-0.9.1/doc/source/conf.py --- old/cffi-0.9.0/doc/source/conf.py 2015-03-03 10:33:11.000000000 +0100 +++ new/cffi-0.9.1/doc/source/conf.py 2015-03-08 09:06:59.000000000 +0100 @@ -47,7 +47,7 @@ # The short X.Y version. version = '0.9' # The full version, including alpha/beta/rc tags. -release = '0.9.0' +release = '0.9.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/doc/source/index.rst new/cffi-0.9.1/doc/source/index.rst --- old/cffi-0.9.0/doc/source/index.rst 2015-03-03 10:33:23.000000000 +0100 +++ new/cffi-0.9.1/doc/source/index.rst 2015-03-08 09:06:59.000000000 +0100 @@ -88,7 +88,7 @@ Download and Installation: -* http://pypi.python.org/packages/source/c/cffi/cffi-0.9.0.tar.gz +* http://pypi.python.org/packages/source/c/cffi/cffi-0.9.1.tar.gz - Or grab the most current version by following the instructions below. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/setup.py new/cffi-0.9.1/setup.py --- old/cffi-0.9.0/setup.py 2015-03-03 10:32:34.000000000 +0100 +++ new/cffi-0.9.1/setup.py 2015-03-08 09:06:59.000000000 +0100 @@ -139,7 +139,7 @@ `Mailing list <https://groups.google.com/forum/#!forum/python-cffi>`_ """, - version='0.9.0', + version='0.9.1', packages=['cffi'], zip_safe=False, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/testing/snippets/distutils_module/build/lib.linux-x86_64-2.7/snip_basic_verify.py new/cffi-0.9.1/testing/snippets/distutils_module/build/lib.linux-x86_64-2.7/snip_basic_verify.py --- old/cffi-0.9.0/testing/snippets/distutils_module/build/lib.linux-x86_64-2.7/snip_basic_verify.py 2014-04-30 11:16:17.000000000 +0200 +++ new/cffi-0.9.1/testing/snippets/distutils_module/build/lib.linux-x86_64-2.7/snip_basic_verify.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ - -from cffi import FFI -import sys - -ffi = FFI() -ffi.cdef(""" // some declarations from the man page - struct passwd { - char *pw_name; - ...; - }; - struct passwd *getpwuid(int uid); -""") -C = ffi.verify(""" // passed to the real C compiler -#include <sys/types.h> -#include <pwd.h> -""", libraries=[], # or a list of libraries to link with - force_generic_engine=hasattr(sys, '_force_generic_engine_')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/testing/snippets/distutils_package_1/build/lib.linux-x86_64-2.7/snip_basic_verify1/__init__.py new/cffi-0.9.1/testing/snippets/distutils_package_1/build/lib.linux-x86_64-2.7/snip_basic_verify1/__init__.py --- old/cffi-0.9.0/testing/snippets/distutils_package_1/build/lib.linux-x86_64-2.7/snip_basic_verify1/__init__.py 2014-04-30 11:16:17.000000000 +0200 +++ new/cffi-0.9.1/testing/snippets/distutils_package_1/build/lib.linux-x86_64-2.7/snip_basic_verify1/__init__.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ - -from cffi import FFI -import sys - -ffi = FFI() -ffi.cdef(""" // some declarations from the man page - struct passwd { - char *pw_name; - ...; - }; - struct passwd *getpwuid(int uid); -""") -C = ffi.verify(""" // passed to the real C compiler -#include <sys/types.h> -#include <pwd.h> -""", libraries=[], # or a list of libraries to link with - force_generic_engine=hasattr(sys, '_force_generic_engine_')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/testing/snippets/distutils_package_2/build/lib.linux-x86_64-2.7/snip_basic_verify2/__init__.py new/cffi-0.9.1/testing/snippets/distutils_package_2/build/lib.linux-x86_64-2.7/snip_basic_verify2/__init__.py --- old/cffi-0.9.0/testing/snippets/distutils_package_2/build/lib.linux-x86_64-2.7/snip_basic_verify2/__init__.py 2014-04-30 11:16:17.000000000 +0200 +++ new/cffi-0.9.1/testing/snippets/distutils_package_2/build/lib.linux-x86_64-2.7/snip_basic_verify2/__init__.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ - -from cffi import FFI -import sys - -ffi = FFI() -ffi.cdef(""" // some declarations from the man page - struct passwd { - char *pw_name; - ...; - }; - struct passwd *getpwuid(int uid); -""") -C = ffi.verify(""" // passed to the real C compiler -#include <sys/types.h> -#include <pwd.h> -""", libraries=[], # or a list of libraries to link with - ext_package='snip_basic_verify2', - force_generic_engine=hasattr(sys, '_force_generic_engine_')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/testing/snippets/infrastructure/build/lib.linux-x86_64-2.7/snip_infrastructure/__init__.py new/cffi-0.9.1/testing/snippets/infrastructure/build/lib.linux-x86_64-2.7/snip_infrastructure/__init__.py --- old/cffi-0.9.0/testing/snippets/infrastructure/build/lib.linux-x86_64-2.7/snip_infrastructure/__init__.py 2014-04-30 11:16:17.000000000 +0200 +++ new/cffi-0.9.1/testing/snippets/infrastructure/build/lib.linux-x86_64-2.7/snip_infrastructure/__init__.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ - -def func(): - return 42 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/testing/snippets/setuptools_module/build/lib.linux-x86_64-2.7/snip_setuptools_verify.py new/cffi-0.9.1/testing/snippets/setuptools_module/build/lib.linux-x86_64-2.7/snip_setuptools_verify.py --- old/cffi-0.9.0/testing/snippets/setuptools_module/build/lib.linux-x86_64-2.7/snip_setuptools_verify.py 2014-04-30 11:16:17.000000000 +0200 +++ new/cffi-0.9.1/testing/snippets/setuptools_module/build/lib.linux-x86_64-2.7/snip_setuptools_verify.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ - -from cffi import FFI -import sys - -ffi = FFI() -ffi.cdef(""" // some declarations from the man page - struct passwd { - char *pw_name; - ...; - }; - struct passwd *getpwuid(int uid); -""") -C = ffi.verify(""" // passed to the real C compiler -#include <sys/types.h> -#include <pwd.h> -""", libraries=[], # or a list of libraries to link with - force_generic_engine=hasattr(sys, '_force_generic_engine_')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/testing/snippets/setuptools_package_1/build/lib.linux-x86_64-2.7/snip_setuptools_verify1/__init__.py new/cffi-0.9.1/testing/snippets/setuptools_package_1/build/lib.linux-x86_64-2.7/snip_setuptools_verify1/__init__.py --- old/cffi-0.9.0/testing/snippets/setuptools_package_1/build/lib.linux-x86_64-2.7/snip_setuptools_verify1/__init__.py 2014-04-30 11:16:17.000000000 +0200 +++ new/cffi-0.9.1/testing/snippets/setuptools_package_1/build/lib.linux-x86_64-2.7/snip_setuptools_verify1/__init__.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ - -from cffi import FFI -import sys - -ffi = FFI() -ffi.cdef(""" // some declarations from the man page - struct passwd { - char *pw_name; - ...; - }; - struct passwd *getpwuid(int uid); -""") -C = ffi.verify(""" // passed to the real C compiler -#include <sys/types.h> -#include <pwd.h> -""", libraries=[], # or a list of libraries to link with - force_generic_engine=hasattr(sys, '_force_generic_engine_')) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cffi-0.9.0/testing/snippets/setuptools_package_2/build/lib.linux-x86_64-2.7/snip_setuptools_verify2/__init__.py new/cffi-0.9.1/testing/snippets/setuptools_package_2/build/lib.linux-x86_64-2.7/snip_setuptools_verify2/__init__.py --- old/cffi-0.9.0/testing/snippets/setuptools_package_2/build/lib.linux-x86_64-2.7/snip_setuptools_verify2/__init__.py 2014-04-30 11:16:17.000000000 +0200 +++ new/cffi-0.9.1/testing/snippets/setuptools_package_2/build/lib.linux-x86_64-2.7/snip_setuptools_verify2/__init__.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,18 +0,0 @@ - -from cffi import FFI -import sys - -ffi = FFI() -ffi.cdef(""" // some declarations from the man page - struct passwd { - char *pw_name; - ...; - }; - struct passwd *getpwuid(int uid); -""") -C = ffi.verify(""" // passed to the real C compiler -#include <sys/types.h> -#include <pwd.h> -""", libraries=[], # or a list of libraries to link with - ext_package='snip_setuptools_verify2', - force_generic_engine=hasattr(sys, '_force_generic_engine_')) -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org