Since commit 83e8336, gEDA/gaf builds with Guile 2.0 or Guile 2.2.
I haven't tested it with Guile 2.2 yet, but the only code snippet known not to be portable isn't part of gEDA/gaf any more and several people have used gEDA/gaf 1.10.0 with Guile 2.2 without problems, so I assume there's nothing more to do. I'm still leaving this bug open until this has been verified.
I tried to build afainst Guile 2.2, but xorn failed to build as the configure script is looking for Guile 2.0 only:
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.10])
I patched it to build against Guile 2.2 (patch attached), yet 'make check' failed on the following tests:
The function ‘scm_frame_procedure_name’ conceptually replaces ‘scm_frame_procedure’, but there's an important difference: the former returns the name of the procedure while the latter returns the procedure itself.
In order to create a Guile representation of a Python function, the Python <-> Guile interface code creates a Guile gsubr and keeps an association between the Guile gsubr and the Python function. When the gsubr is called later, the interface code looks up the matching Python function and calls it. See py2scm.c (search for ‘gsubr_alist’):
This only works if ‘call_callable’ can determine which gsubr object it has been called as.
It may be possible to work around the problem by using unique function names, but that feels like an ugly hack; so staying with Guile 2.0 appears to be the best option right now.
Since commit 83e8336, gEDA/gaf builds with Guile 2.0 or Guile 2.2.
I haven't tested it with Guile 2.2 yet, but the only code snippet known not to be portable isn't part of gEDA/gaf any more and several people have used gEDA/gaf 1.10.0 with Guile 2.2 without problems, so I assume there's nothing more to do. I'm still leaving this bug open until this has been verified.