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

Demonstration: fixes the pywatchman build script and documents how to publish an updated version to pypi #1074

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

jarshwah
Copy link

pywatchman hasn't seen a release in 5 years: https://pypi.org/project/pywatchman/1.4.1/

The main watchman project is now incompatible with pywatchman meaning the pywatchman library is effectively dead without a new release.

I spent some time figuring out how to build it and have published an unofficial version from the latest (as of 2022-11-21) checkout. I've included some sparse notes within setup.py on how I built and published in case it's useful to anyone wanting to publish or maintain their own version, or to spur some interest from Meta folk that might want to publish an official update.

I don't expect this PR to be merged, particularly since only the first commit (fixing the build dir path) is relevant to the official distribution.

#1065
https://pypi.org/project/pywatchman-unofficial/1.5.0/

The default src directory in the setup script was missing a relative
parent traversal, making it impossible to build without setting the
environment variable CMAKE_CURRENT_SOURCE_DIR.

This change fixes the relative path allowing the build to proceed.
An unofficial build will be published to pypi given there hasn't been
an official release since 2017.

pywatchman is a dependency for Django projects and is no longer able
to run with recent versions of watchman.

This is a temporary unofficial release meant to unblock those depending
on pywatchman that are unable to use it. Hopefully this spurs Facebook
into publishing a new version.
The notes in `setup.py` for building and publishing the package are
not complete, as cibuildwheel requires a little bit of it's own setup,
but the instructions are a decent guide to getting it done if someone
wants to replicate their build.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant