Commit graph

23 commits

Author SHA1 Message Date
wiz
10f0ef66c8 Update to 0.9.9, set LICENSE.
0.9.9
-----

New features:

  - C++ struct declarations, 'new' operator, and del for C++ delete.

  - As well as the 'not None' modifier for extension type arguments, there
    is now 'or None' to explicitly allow passing None. It is planned to make
    'not None' the default in a future version. For now, a warning is issued
    (once per Pyrex run) if you do not specify one or the other.

  - Extension types may have a 'nogc' option to suppress GC support.

Modifications:

  - Exceptions caught by an except clause are no longer put into the thread
    state and cannot be retrieved using sys.exc_info(). To access the caught
    exception, it must be bound to a name in the except clause. A third name
    can be supplied to capture the traceback.

  - PyString_InternFromString is now exposed under the name 'cintern' because
    it is not a complete substitute for 'intern' (it can't handle strings
    containing null bytes). [John Arbash Meinel]

  - Disabled size check for cimported types because it was generating too
    many false positives in the field.

  - Added __fastcall calling convention. Also no longer assuming that an
    unspecified calling convention is the same as __cdecl.

  - Operations between signed and unsigned ints of the same size now have
    an unsigned result.

  - Py_ssize_t now ranked between long and long long.

  - Declaration of __new__ in an extension type is now an error, in
    preparation for introducing new semantics.

  - Added size_t type, and made sizeof() return it.

Bug fixes:

  - When casting the result of a function call to a Python type, the
    function could be called twice. [David Martinez]

  - __Pyx_GetException was not taking account of the fact that the traceback
    could be NULL.

  - sizeof(module.typename) did not work. [Daniele Pianu]
2010-05-02 13:51:44 +00:00
wiz
9df0e3b9a5 Update to 0.9.8.6:
0.9.8.6
-------

Enhancements:

  - Check for gil when calling a function declared 'execpt *' or 'except ?'.
    Acquire gil when reporting unraisable exception.

  - Added iter2() function for 2-argument form of iter().


Bug fixes:

  - Compiler crashed if base class of extension type was incompletely
    defined.

  - Compiler crash on misspelled method name in property declaration.
    [Stefan Behnel]

  - Fixed deprecation warnings in 2.6

  - Always preserve explicit type casts for non-Python types.
    [Alexander Belchenko]

  - Added workaround for threading initialisation bug in Python 2.3.
    [Lisandro Dalcin]

  - Deleting dict item with integer key did not work. [Titus Brown]

  - Header files for cimported modules included in wrong order.
    [Stephane Drouard]

  - Don't allow a member of a ctypedef struct to reference itself.
    [Tim Wakeham]

  - Compiler crash due to attribute reference in compile-time expression.
    [Hoyt Koepke]

  - Public extension type attribute with cname didn't work.
    [Mark Ellis]

  - Memory leak related to exporting C functions. [Lisandro Dalcin]

  - Compiler crash on return outside function. [Kurt Smith]

  - Scope problem with extension types declared in pxd. [KS Sreeram]

  - Calling a builtin method of a subclass of a builtin class did not work.

  - Builtin hash() function had wrong return type. [John Arbash Meinel]


Modifications:

  - Added 'tags' to .hgignore file. [Kirill Smelkov]

  - Disallow overriding a builtin method in a subclass of a builtin class.
2010-03-15 12:55:46 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
bjs
0b6da55958 Update to Pyrex-0.8.9.5. Myriad bug fixes and some new features;
the only changelog I found is very dense (CHANGES.TXT) and I do not
have the time to condense it for inclusion here.
2008-10-17 12:46:18 +00:00
tnn
0960c7a5a1 Update to py-pyrex-0.9.6.4 for Python 2.5 support.
0.9.6.4
-------
Enhancements:
  - Functions declared with_gil and external functions declared nogil
    are now allowed to have Python arguments and return types.
0.9.6.3
-------
Enhancements:
  - C API now only uses a single name in the module namespace
    instead of one for each exported C function. [Stefan Behnel]
  - Multiple declarations with the same visibility and api options
    can now be grouped into a 'cdef' block.
  - The 'api' keyword can now be used on extension types to cause
    generation of an api.h file when there are no exported C functions.
  - Added a getattr3() builtin for the three-argument form of getattr.
0.9.6
-----
New Features:
  - Top-level C functions defined in one module can now be used in
    another via cimport, and a C API can be produced to allow them
    to be used from C code without linking to the extension module.
    See "Interfacing with External C Code" and "Sharing Declarations
    between Pyrex Modules" in the Language Overview. [Stefan Behnel]
  - Facilities added for releasing the GIL around a section of code
    and acquiring it on entry to a C function. See "Acquiring and
    Releasing the GIL under "Interfacing with External C Code" in
    the Language Overview. [Ulisses Furquim, Stefan Behnel]
  - Some conditional compilation facilities have been added. See
    "Conditional Compilation" under "Language Basics" in the
    Language Overview. [Sam Rushing]
Language Changes:
  - The __new__ special method of extension types is being renamed
    to "__cinit__". For now, you will get a warning whenever you
    declare a __new__ method for an extension type, and it will
    automatically be renamed to __cinit__ for you. In the next
    release, the warning will become an error and no renaming will
    occur. In some later release, the __new__ method may be
    re-introduced with different semantics. It is recommended that
    you begin updating your sources now to use __cinit__.
  - A 'raise' statement with no arguments (i.e. to re-raise the
    last exception caught) is now required to be lexically within
    the 'except' clause which caught the exception. This change was
    necessary to efficiently support preserving the exception if an
    intervening call raises and catches a different exception.
  - The following new reserved words have been added:
      with, DEF, IF, ELIF, ELSE
Enhancements:
  - Calls to many of the builtin functions are now compiled as
    direct calls to Python/C API routines.
  -	A C type explicitly declared as 'signed' is represented as
    such in the generated code, to acommodate platforms where
    'char' is unsigned by default. [Francesc Altet]
  - Python function can now have an argument of type "unsigned
    char". [Alexander Belchenko]
  - A new Pyrex.Distutils implementation has been added, which
    exports an Extension type supporting the following options:
      pyrex_include_dirs - list of dirs to search for Pyrex header files
      pyrex_create_listing_file - bool - write errs to listing file
      pyrex_cplus - bool - generate C++ code
      pyrex_c_in_temp - bool - put generated C files in temp dir
      pyrex_gen_pxi - bool - generate .pxi file for public declarations
    [Contributed by Billie G. Allie]
  - Assert statements can be compiled out by arranging for
    PYREX_WITHOUT_ASSERTIONS to be #defined at C compilation time.
    [Contributed by Stefan Behnel]
  - Support for __index__ slot added to extension types.
    [William Stein]
  - Exception types now properly checked according to pre or post
    2.5 rules as appropriate.
  - Py_ssize_t support added. [Stefan Behnel]
  - Windows __stdcall and __decl qualifiers now supported.
    [Suggested by Eric Devolder]
  - Keyword-only argument support added. [Suggested by Stefan Behnel]
  - An 'include' statement can now appear anywhere that another kind
    of statement or declaration can appear, instead of being restricted
    to the top level. [Caio Marcelo]
  - Unnecessary PyErr_Occurred() call to check result of
    PyString_AsString() no longer made.
  - Complicated C types are displayed more readably in error messages.
Modifications:
  - A Python function argument declared as "char" or "unsigned
    char" now expects a Python integer rather than a string of
    length 1, for consistency with the way automatic conversions
    are done elsewhere.
  - Support for string and tuple exceptions dropped.
0.9.5.1
-------
Modifications:
  - NULL in Pyrex source now translated into NULL instead of 0
    in C code, to allow for the possibility of calling something
    not defined with a prototype in an external header. [Adapted Cat]
0.9.5
-----
Enhancements:
  - Exception return values may now be specified by arbitrary
    constant expressions of appropriate type, not just literals.
    [Stefan Behnel]
  - Redundant type check now omitted when passing a literal None
    to a function expecting an extension type. [Patch by Sam Rushing]
  - New-style classes now allowed as exceptions for compatibility
    with Python 2.5 (inheritance from BaseException not currently
    checked). [Stefan Behnel]
  - Sequence unpacking is now done using the iterator protocol
    instead of indexing.
  - Allocation of an empty tuple is avoided when making a
    Python call with no arguments. [Stefan Behnel]
  - Most warnings about unused variables and labels have been
    eliminated.
  - Support for running the test suite on Linux added but not
    yet fully tested. [Based in part on patch by Eric Wald].
  - Makefile included for compiling the patched Carbon File module
    used by the MacOSX test code.
Modifications:
  - Type rules for enums tightened for compatibility with C++.
  - Direct assignment from float to int disallowed to prevent
    C++ compilation warnings.
  - Hex literals left as hex in C code to avoid warnings from
    the C compiler about decimal constants becoming unsigned.
2008-04-25 17:37:56 +00:00
heinz
10206108e9 The package supports installation to DESTDIR. 2007-07-01 15:58:37 +00:00
wiz
a9c3a0685a Update MASTER_SITES and/or HOMEPAGE, from Sergey Svishchev. 2006-10-14 07:59:09 +00:00
joerg
d7f789e0c2 Update to pyrex-0.9.4.1.
Changes in 0.9.4.1:
   Tiny bugfix to correct a tab/space problem in the distutils
extension.

Changes in 0.9.4:
   LValue Casting Is Dead
   I have redesigned the code generator to eliminate the need for lvalue
casting. This means that Pyrex-generated code should now be
gcc4-compatible, although I haven't tested this. Let me know if you find
any remaining lvalue casts; they should be fairly easy to fix now.

   C++ Compilable
   The generated code should now be compilable as either C or C++
without errors (although there may still be warnings). However, note
that you can still only call C++ functions if they have been declared
"extern C", even if you compile the Pyrex output as C++. I hope to
introduce some C++ interface features soon.

   and more.
2006-05-29 15:37:02 +00:00
joerg
5911def816 Recursive revision bump / recommended bump for gettext ABI change. 2006-02-05 23:08:03 +00:00
rillig
b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some
other changes are outlined in

    http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-12-05 20:49:47 +00:00
rillig
f795c2e475 Removed trailing white-space. 2005-05-23 08:26:03 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
agc
475ab002d7 Add RMD160 digests 2005-02-24 09:03:05 +00:00
recht
367eed19fe Build Python with thread support by default and turn the existing
python*-pth packages into meta-packages which will install the non-pth
packages. Bump PKGREVISIONs on the non-pth versions to propagate the
thread change, but leave the *-pth versions untouched to not affect
existing installations.
Sync all PYTHON_VERSIONS_AFFECTED lines in package Makefiles.
2005-01-23 20:41:45 +00:00
recht
a6d008a827 update to Pyrex-0.9.3
Enhancements:
	- Types defined with a ctypedef in a 'cdef extern from' block
		are now referred to by the typedef name in generated C code,
		so it is no longer necessary to match the type in the C
		header file exactly.
	- Conversion to/from unsigned long now done with
		PyLong_AsUnsignedLong and PyLong_FromUnsignedLong.
		[Dug Song <dugsong@monkey.org>]
	- A struct, union or enum definition in a 'cdef extern from'
		block may now be left empty (using 'pass'). This can be useful
		if you need to declare a variable of that type, but don't need
		to refer to any of its members.
	- More flexible about ordering of qualifiers such as 'long' and
		'unsigned'.
		["John (J5) Palmieri" <johnp@redhat.com>]
Bug fixes:
	- Non-interned string literals used in a Python class
		definition did not work.
		[Atsuo Ishimoto <ishimoto@gembook.org>]
		[Andreas Kostyrka <andreas@kostyrka.org>]
	- Return types of the buffer interface functions for extension
		types have been corrected.
		[Dug Song <dugsong@monkey.org>]
	- Added 'static' to declarations of string literals.
		[Phil Frost <indigo@bitglue.com>]
	- Float literals are now copied directly to the C code as written,
		to avoid problems with loss of precision.
		[Mario Pernici <Mario.Pernici@mi.infn.it>]
	- Inheriting from an extension type with C methods defined in
		another Pyrex module did not work.
		[Itamar Shtull-Trauring <itamar@itamarst.org>]
2004-08-19 20:44:31 +00:00
recht
885219f20c update to 0.9.2.1
patch provided by Michal Pasternak in PR pkg/25739

changes:

Version 0.9.2.1

Shazbot! Setup.y still wasn't right. Maybe this time...
Version 0.9.2

Enhancements:

Global variable and attribute names are now interned.
String literals are only converted to Python strings once, instead of each
time they're used.
Python string literals may now contain NUL characters.

Bug fixes:

Setup.py still wasn't right!
Corrected a problem introduced by moving the Plex package into the Pyrex
package.

Version 0.9.1.1
Corrected a small mistake in the setup.py.
Fixed a problem with the distutils extension.
Hopefully stopped cheesefinder.c from disappearing once and for all.
Version 0.9.1

Enhancements:

Inherited C methods can be called in the usual way.
Python classes get the right __modname__ now.
Test suite and testing framework available for download (but will require modification to work on anything other than MacOS X for now).

Plus oodles of bug fixes -- see the CHANGES file for details.
2004-05-28 22:15:15 +00:00
snj
4175a1077a Convert to buildlink3. 2004-04-28 05:06:28 +00:00
recht
0e669f40cb update to 0.9
New Features:

* An extension type can inherit from another built-in or extension type.
* Extension types can have properties.
* Extension types can have C methods.

Numerous bugs have also been fixed - see the CHANGES file for details.
2003-12-10 15:58:09 +00:00
jmc
a7801fb1a4 Add USE_BUILDLINK2 so this picks up a proper depend 2003-09-21 09:21:07 +00:00
recht
e813cee494 Update to 0.8.1
Many improvements, fixes. See CHANGES.txt for a complete list.
2003-09-14 17:40:02 +00:00
grant
0155927c43 s/netbsd.org/NetBSD.org/ 2003-07-17 21:41:05 +00:00
jmmv
f1446ddf2b Drop trailing whitespace. Ok'ed by wiz. 2003-05-06 17:40:18 +00:00
tsarna
eef7d57c5b Pyrex - a Language for Writing Python Extension Modules. Pyrex lets you
write code that mixes Python and C data types any way you want, and
compiles it into a C extension for Python.

Plex is now bundled with Pyrex, and the py-plex package will be obsoleted.
2002-12-18 22:34:30 +00:00