X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Mon, 26 Apr 2021 14:46:11 +0200 (CEST) From: Roland Lutz To: "Glenn (glimrick AT epilitimus DOT com) [via geda-user AT delorie DOT com]" Subject: Re: [geda-user] xspice integration In-Reply-To: <1425fd69-5796-6cde-198b-8218f71e187d@epilitimus.com> Message-ID: References: <9fe0dd9a-cbb8-a51f-f63d-36cd6d3a31c7 AT epilitimus DOT com> <4775a561-41ad-5368-271a-998ded5bfbc6 AT epilitimus DOT com> <07d13043-cd66-88f1-4b6c-172345c864e1 AT epilitimus DOT com> <1425fd69-5796-6cde-198b-8218f71e187d AT epilitimus DOT com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 25 Apr 2021, Glenn (glimrick AT epilitimus DOT com) [via geda-user AT delorie DOT com] wrote: > The whole point here was to find out from you where/how you wanted it > integrated so that when you actually started to review it there wasn't a > bunch of "this should really go over there" type of issues. I was > actually trying to save you effort by getting guidance, rather than just > sticking stuff into the tree where I liked it. It really wasn't my > intent that you start reviewing the code until I had integrated it into > geda, though your points below will affect how I structure that. Aaah, I see, then I misunderstood you. Sorry. > Let's go back to the question I was asking in the original email I sent > about integrating this into geda/gaf. Given all the moving parts where > would you like things placed/arranged in a general way? Well, the backend file should go to backends/gnet_xspice.py (obviously). There is no convention so far for backends with muliple files, but I think the most sane way to handle this would be to add a folder backends/xspice/ which would be available as "gaf.netlist.backends.xspice" (or something like that). I'd need to fix the import mechanism in order for this to work, but this may actually be useful for other backends, as well. Tests should go into xorn/tests/netlist/ and must follow the conventions used for netlister tests: for a test called "foobar", the main schematic file would be called "foobar.sch", the reference output for the "xspice" backend would be called "foobar-xspice.out", symbols from the standard library would go to the identical place under "std-symbols", any other symbols into the directory "foobar-symbols", subschematic into the directory "foobar-sources", and auxiliary files into the directory "foobar-extras". Tests must be able to be run under the parallel test harness und should, if possible, be invoked with "run-test". With symbols, it's a bit tricky. For symbols specifically made for the xspice backend, I think it's okay to add them to the standard library if the file name is prefixed with "xspice-" (to avoid namespace clashes); that is, the full path would be something like "symbols/xspice/xspice-nfet-1.sym". That's not ideal, but I think it's the best we can do with the current infrastructure. For the .lib and .xml files, I don't think I understand things well enough to say right now. Just put them anywhere, and we'll figure out where to place them later. If in doubt, you can call the directory "xspice-extra-files" and install the files to $(GEDADATADIR)/xspice-extra-files. > Then I can go off and do that and you can forget about it for a while. I > will then put up a set of patches (keeping all of the above in mind) for > the geda tree which you can then review. I think you are right in figuring out integration issues first. Roland