aider icon indicating copy to clipboard operation
aider copied to clipboard

FreeBSD support

Open paul-gauthier opened this issue 1 year ago • 4 comments

hello, I want to report that aider works fine on FreeBSD, modulo two changes:

  • python-diskcache contains a bug, which makes it not-work with freebsd's standard sqlite3 build. I was able to work around by rebuilding sqlite with DQS=on. Also see https://github.com/grantjenks/python-diskcache/pull/311
  • playwright does not exist on freebsd (its releases are binary only and there are no binaries for freebsd). I was able to work around this by the following change in scrape.py:
# stub implements the with protocol, but does nothing
class stub(object):
    def __enter__(self):
        pass

    def __exit__(self, *args):
        pass

def sync_playwright():
    return stub()

ideally, scrape.py should contain a conditional import and automatically disable scraping if playwright is not found.

https://discord.com/channels/1131200896827654144/1131200896827654149/1225121706809626766

paul-gauthier avatar Apr 03 '24 20:04 paul-gauthier

thanks for posting it

knz avatar Apr 03 '24 20:04 knz

Thanks again for sharing this info.

There's not much I can do about a broken sqlite3 on freebsd. End users would have to rebuild it themselves or wait for it to be fixed.

Does pip install playwright throw an error on FreeBSD? If it does, then I assume pip install aider-chat would also fail?

If they are failing, then a conditional import won't help users too much. They'll get an install error and probably give up.

paul-gauthier avatar Apr 11 '24 16:04 paul-gauthier

pip install --force worked to ignore the missing playwright. So did manual installation. FreeBSD also has a separate package manager. If Aider worked (possibly thanks to a conditional import) it would be possible to build an installable package somehow.

knz avatar Apr 11 '24 16:04 knz

We can close this now, https://cgit.freebsd.org/ports/commit/?id=c5e66d2d45b25edb65271924741fe8ce4e0f81db supports everything except:

  • the /web command that uses playwright
  • google APIs unless somebody else chooses to do the porting of those packages

Note for users, you'll need to use the latest package branch until July, when the next quarterly branch update happens. See /etc/pkg/FreeBSD.conf for details), or build from sources.

dch avatar May 22 '24 20:05 dch