On Thu, Oct 27, 2022 at 11:34 AM Stefan Monnier wrote: > > About the possibility of using one or the other, whichever is available, > how > > would that work in terms of package dependencies? I don't think it's > > possible to have an OR dependency specified in the package-dependencies > > line in the source, but really only one of emacsql or emacs29 would be > > required. If you have any insight into this, it'd be useful. > > Package dependencies just tell the package manager to install other > packages to try and make it easier on users to get a working package. > But you don't need to have a precise/exact description of the > real dependencies in the `Package-Requires` (as long as the > correct byte-compilation of your package actually depends on some other > package, e.g. if your package uses a macro defined in the other package). > > You can just remove the `emacsql` dependency from `Package-Requires` and > replace it with a runtime check for the presence of either `emacsql` or > the new sqlite support that emits an error when applicable (with > a message explaining to the user that they need to have one of those two > thingies before they can use the package). > [ Just make sure the error is not emitted just because the file(s) from > your package are loaded, but only when some code is actually called. ] > This is now done, you can find the new code that can either use emacs 29 builtin sqlite, or emacsql, on a new branch, at https://github.com/ahyatt/triples/tree/combined. > > > Stefan > >