X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Mon, 18 Apr 2016 23:49:18 +0200 (CEST) From: Roland Lutz To: geda-user AT delorie DOT com Subject: [geda-user] Guile support Message-ID: User-Agent: Alpine 2.11 (DEB 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com Hi, I just merged Guile support for the new netlister. In short, just add the following line to your gnetlistrc file in order to use the refactored netlist frontend: (set! use-new-frontend #t) This is made possible by five different parts working together under the hood: - the module "xorn.guile" which allows adding Guile as a script interpreter to a Python application, - the module "xorn.geda.netlist.guile" which implements the gnetlist API functions and exports them to Guile, - the "guile" backend which allows using a Scheme backend with the new netlister, - the "gnetlist2" executable which acts as a drop-in replacement for gnetlist, running the "gafrc" and "gnetlistrc" scripts and composing and invoking a xorn-netlist command line, and - gnetlist itself, which detects whether "use-new-frontend" is set and branches conditionally to gnetlist2. New-style "geda.conf" configuration files, Guile functions as a symbol library, and most of the libgeda API aren't currently supported. These features could be added with moderate effort. Please keep in mind that, in contrast to the old frontend, attribute conflicts in the schematic are now considered an error. This will usually cause the netlister to fail on larger schematics since there are often unnoticed inconsistencies, but it will succeed once the inconsistencies are fixed. Since gnetlist allows most Scheme files run at various points of execution to influence both frontend and backend, these files have to be run twice--once by gnetlist2 for composing the netlister command line, and once by the guile backend in case they have an effect on the backend. Also, the `-c' options and RC files are run by gnetlist before branching to gnetlist2, so the RC files are run three times in total. This may cause unintended side effects. If you want to avoid running the Scheme files multiple times, you can pass the `-v' option to gnetlist, copy the xorn-netlist command line printed to stderr und use it instead. Roland