Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FreeBSD support #531

Open
paul-gauthier opened this issue Apr 3, 2024 · 4 comments
Open

FreeBSD support #531

paul-gauthier opened this issue Apr 3, 2024 · 4 comments
Labels
enhancement New feature or request

Comments

@paul-gauthier
Copy link
Owner

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 Support sqlite builds with DQS=off grantjenks/python-diskcache#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

@knz
Copy link

knz commented Apr 3, 2024

thanks for posting it

@paul-gauthier
Copy link
Owner Author

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 paul-gauthier added the enhancement New feature or request label Apr 11, 2024
@knz
Copy link

knz commented Apr 11, 2024

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.

@dch
Copy link

dch commented May 22, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants