This package had been held at 1.9.14 because 1.9.15 requires guile
2.0.
Changes from 1.9.14:
G-Wrap now requires Guile 2.0, allows Guile 2.2;
Requires autoconf >= 2.61, automake >= 1.12, adding /build-aux
We no longer update Changelog, see G-Wrap's git logs instead
No free/mark on WCT objects, and remove use of scm_gc_free
Use scm_module_variable instead of the deprecated scm_sym2var
The documentation has been restructured, updated and fixed to work with texinfo >= 5.2;
Removing doc/version.texi - it is generated/updated
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Drop patch-aa, as
./work/.destdir/usr/pkg/share/guile/site/g-wrap/ws
is created by the install without help.
Version 1.9.14
- 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.
Version 1.9.13
- 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.
Version 1.9.11
- 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).
Version 1.9.10
- 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.
devel/g-wrap196 instead. Changes since 1.9.6:
Version 1.9.8
- 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
information.
- 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
(http://www.gnu.org/software/guile-gnome/).
Version 1.9.7
- 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.
Version 1.9.7
- 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 since 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.
- 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 since 1.3.4:
Version 1.9.3
- 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.
Version 1.9.2
- Now comes with libffi included, for systems which lack an libffi
installation
- SRFI module checks now work correctly, even if you do an in-tree build
Version 1.9.1
- API change: destruct-value-cg is now named destroy-value-cg
- Bugfixes
+ A bug in the latent generic code has been fixed
+ The error message for WCP type errors has been fixed
Version 1.9.0
- Complete rewrite; too many changes to list, see the manual for the
new GOOPS-based API and the guile-gnome project for an extended
example.
- New features:
+ Output arguments
+ Default arguments
- G-Wrap should be target-language agnostic, like it was in its
early days.
PR pkg/20270 with minor nitpicks by myself.
Some of the changes since 1.2.1:
* configure.in: fix minor problem where we used the guile-gtk
config program even when it wasn't found.
* acconfig.h: deleted since deprecated -- replaced by three arg
AC_DEFINEs in configure.in.
* doc/.cvsignore: add texinfo.tex.
* configure.in (AM_INIT_AUTOMAKE): bump version for release.
* bunch of subversion cleanups.
* change license to LGPL.
* g-wrap/gw-glib-spec.scm: coerce to (gpointer) in gw:glist-of and
gw:gslist-of code where needed.
* g-wrap/enumeration.scm (gw:wrap-enumeration): make val->int and
int->val functions static so they don't cause conflicts.
* configure.in (GW_GUILE_GTK_CFLAGS): delete any occurences of -I
/usr/include or similar. Newer gcc's don't like that at all.
* bin/g-wrap-config.in (c-compile-args): don't output -I if it's
/usr/include. The new gcc doesn't like -I /usr/include at all.
* test/Makefile.am (gw-test-enumeration.scm gw-test-enumeration.h
gw-test-enumeration.c gw-test-enumeration.html
gw-test-enumeration-autogen.h): use LD_LIBRARY_PATH.
(gw-test-parent.scm gw-test-parent.h gw-test-parent.c
gw-test-parent.html gw-test-parent-autogen.h): use LD_LIBRARY_PATH.
* doc/g-wrap.texi: minor re-editing -- still needs much more.
* configure.in (GW_GUILE_GTK_CFLAGS): add and AC_SUBST.
(GW_GUILE_GTK_LIBFLAGS): add and AC_SUBST.
* g-wrap/simple-type.scm: new file -- support for simple types.
* g-wrap/runtime.scm: new file -- scm support for runtime wrapset
database.
* g-wrap/gw-wct-spec.scm: new file -- wrapped C pointer types.
* g-wrap/gw-standard-spec.scm: new file -- standard wrapped types.
* g-wrap/gw-gtk-spec.scm: new file -- wrappers for gtk.
* g-wrap/gw-glib-spec.scm: new file -- wrappers for glib.
* g-wrap/gtkobj.scm: support for wrapping new C ptr types as
gtkobjects.
* g-wrap/Makefile.am: major changes -- support gw-glib, gw-wct,
gw-gtk, etc.
* g-wrap/g-wrap-wct.h: support header for gw-wct. Part of
libgwrap-wct.
* g-wrap/g-wrap-wct.c: support code for gw-wct. Part of
libgwrap-wct.
* g-wrap/g-wrap-glib.h: support header for gw-glib. Part of
libgwrap-glib.
* g-wrap/g-wrap-glib.c: support code for gw-glib. Part of
libgwrap-glib.
* g-wrap/output-file.scm (flatten-display): make public.
* g-wrap/g-wrap-compatibility.h: start guile version compatibility
library.
* g-wrap/enumeration.scm: break out enumeration support.
* g-wrap/dummy-main.c: new file - for link testing.
* bin/g-wrap-config.in (c-link-args): add support for glib, wct,
etc.
* g-wrap.scm: major overhaul -- modules -> wrapsets, ccodegens ->
init/decl/lists, etc.
* configure.in: remove rscheme (and other dead bits). Add support
for glib and gnome-guile. Handle libruntime reorg/removal.
* acconfig.h: accomodate reorg/removal of libruntime.
* g-wrapped/gw-runtime-spec.scm: switch to use of SCM_FALSEP and
SCM_NFALSEP rather than direct SCM_BOOL_*
* libruntime-guile/g-wrap-runtime-guile.c: switch to use of
SCM_FALSEP and SCM_NFALSEP rather than direct SCM_BOOL_*
comparisons.
* g-wrap.scm: switch to use of SCM_FALSEP and SCM_NFALSEP rather
than direct SCM_BOOL_* comparisons.