Latest News

20 Jul 2015

G-Wrap version 1.9.15 is out, see download.

Changes from 1.9.14:

See G-Wrap's git summary and git log for further details.

Older News

Older releases are available here. Below you can read their corresponding news excerpts.


Changes from 1.9.13:

- Guile 2.0 is now supported.

- G-Wrap no longer ships SRFI 34 and SRFI 35 implementations, as
  these have been both provided by Guile since 1.8.3.


Changes from 1.9.12:

- Fix the dependency declaration on libffi in the g-wrap-2.0-guile
  pkg-config file.

- An alignment issue leading to testsuite failures on sparc has
  been fixed.

- The g-wrap-config manpage from the Debian package is now
  included in the source, and installed.


Changes from 1.9.11:

- Fix the g-wrap-2.0-guile pkg-config file (bug #25187).


Changes from 1.9.10:

- Fix `double' return value handling on big-endian platforms.

- libffi is no longer distributed with g-wrap, as it is available
  as a stand-alone package now (instead of being burried in the
  GCC sources).


Changes from 1.9.9:

- Fix WCT nullable behaviour for 'new' (i.e. non-compat) wrapsets;
  there is now a SRFI-39 parameter 'gw-wcts-nullable?' controlling
  the nullable behaviour; this parameter is #f by default, and set
  to #t when generating compat wrapsets.


Changes from 1.9.8:

- Support per-(type-)instance use of #:allowed-options

- Build fixes:
  - Fix example build when libffi is not installed on the system.
  - Fix GLib build (was deactivated by accident)
  - Distribute and install SRFI 34/35 again

- libffi updated from GCC SVN

- It is now possible to have invisible output arguments; these
  won't show up as return values of the Scheme procedure.


Changes from 1.9.7:

- New feature: function flags. At the moment there is a single flag
  specifying whether to leave "Guile mode" when calling the wrapper
  functions. See the Guile manual on "scm_without_guile" for more

- Don't rely on libc to provide (v)asprintf, take the implementation
  from gnulib.

- The minimal GLib bindings now build against GLib 2.x. However,
  their use is deprecated in favour of the much more complete GLib
  bindings in guile-gnome


Changes from 1.9.6:

- The shared libraries now reside in $(pkglibdir)/modules
  (e.g. /usr/lib/g-wrap/modules).

- Users are now allowed to chose in which module generic functions
  should be defined.

- New feature: aggregated typespecs.  See the node `Wrapping a C
  Function' of the manual for details.

- Users can now specify a free and a mark function, as well as an
  equality predicate for wrapped C types (WCTs) in `wrap-as-wct!'.

- Improved documentation with an API reference (yet to be finished).

- Several bugfixes.


Changes form 1.9.5:

- Support for size_t and ssize_t data types.


Changes from 1.9.4:

- Bugfixes
  + The minimal GLib wrappers are now installed as (g-wrap gw-glib), 
    as expected by GnuCash.
  + A problem with generic specializer class lookup has been fixed.
  + A problem with generics specialization and default arguments has
    been fixed.
  + A problem with default arguments, when combined with 
    invisible arguments (such as output arguments) has been fixed.


Changes from 1.9.3:

- Enhanced generics support: now all arguments of methods are 
  specialized, not only the first one.

- Bugfixes
  + Now ships with (g-wrap gw-wct) compatibilty module needed by 
    GnuCash at runtime.
  + Fixes for handling output arguments:
    - Wrapped functions with void return value and output arguments 
      now return expected results
    - Optional argument count is now correctly computed in the 
      presence of output arguments
  + The libffi alignment requirements are now honored. This fixes bus 
    errors on many non-x86 architectures.
  + On big-endian architectures libffi-wrapped functions that return
    char now work correctly.
  + Some "uninitialized variable" warnings were fixed in generated code
    which caused compiles with GCC 4.0 to fail (Debian Bug#290305).


Changes from 1.9.2:

- Comes with a compatibility layer that allows GnuCash to be built
  with it.

- Reverts the enhanced generics support, which was introduced in
  1.9.2, since that currently breaks guile-gnome.

- Bugfixes
  + g-wrap-2.0-guile.pc is now generated correctly, even if the 
    internal libffi is used.
  + Types used by constants are now considered when calculating the 
    set of referenced types in a wrapset. This bug led to missing code
    and compile errors when a type defined in another wrapset was used 
    by only by a constant.
  + On platforms which lack alloca(), the version shipped with 
    G-Wrap should now build correctly.