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

fswatch: add package #25895

Merged
merged 14 commits into from
Nov 18, 2024
Merged

fswatch: add package #25895

merged 14 commits into from
Nov 18, 2024

Conversation

winternet
Copy link
Contributor

Summary

Add fswatch package.

Motivation

Make fswatch available to the community.

Details

While the latest release version is 1.17.1, there is a documented known issue which leads to the version 1.17.1-36


@AbrilRBS AbrilRBS self-assigned this Nov 11, 2024
Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for taking the time to create the PR, we appreciate it!

I have some comments, specially regarding the chosen prerelease version scheme, but otherwise the recipe looks fine :)

"1.17.1":
url: "https://github.com/emcrisostomo/fswatch/archive/refs/tags/1.17.1.zip"
sha256: "2a2be51807a7138cf50b327a9de29b96892dd357ab3142a5b4e36cb380ee4470"
"1.17.1-36":
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this version, as per semver semantics, would come before 1.17.1, that is, 1.17.1-36 < 1.17.1, which I don't think is the intention here!

We should clarify if upstream is expecting to release a new version soon with this fix, else we'll need to roll our own schema for this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch, you're absolutely right. Since the latest commit was two years ago and the repository is more or less in hibernation mode, I don't think there will be a tag or release soon. Is there the possibility to refer to a specific commit without the need to assign it a version?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes! We can set this version to 1.17.1.cci.YYYYMMDD for the date of the latest commit, which is our way of indicating that the version comes from a specific commit and is not tagged

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I adapted the 1.17.1-36 version according to the proposed scheme and removed the (faulty) 1.17.1 version.

recipes/fswatch/all/CMakeLists.txt Outdated Show resolved Hide resolved
@winternet
Copy link
Contributor Author

Thanks a lot for taking the time to create the PR, we appreciate it!

I have some comments, specially regarding the chosen prerelease version scheme, but otherwise the recipe looks fine :)

Thanks for your review - very appreciated. I have some questions regarding the failing builds:

  • Linux: Builds fine on my system but on CI the test would not build (undefined reference to symbol 'pthread_create@@GLIBC_2.2.5') which suggests that pthreads is missing - do you have a hint what could be missing?
  • Windows/macOS: Is it mandatory to fix the builds or would it be ok to provide the package only for Linux?

@uilianries
Copy link
Member

@winternet I did few changes your PR, fixing some previous errors.

  • The pthread is indeed always required. There is a package with a port of pthread for Windows, but I think is too much, let's skip msvc instead
  • The project has hardcoded configuration for Mac, which fails when cross-building from Mac M1 (CI environment) to Intel. I would not suggest trying to fix it, if the upstream does not support it.

Windows/macOS: Is it mandatory to fix the builds or would it be ok to provide the package only for Linux?

In case a contributor has no time or access to a platform, it should not be a blocker, we can merge the partial recipe and add messages and invalid configuration asking to future support.

Linux: Builds fine on my system but on CI the test would not build (undefined reference to symbol 'pthread_create@@GLIBC_2.2.5') which suggests that pthreads is missing - do you have a hint what could be missing?

I use Linux as well (BTW I use Arch), in case you are having trouble to reproduce the same result, I would recommend using the same docker image as used by the CI:

docker pull conanio/gcc11-ubuntu16.04:2.9.2
cd conan-center-index/recipes/fswatch/
docker run --rm -ti -v $PWD:/home/conan/project --platform=linux/amd64 conanio/gcc11-ubuntu16.04:2.9.2
cd /home/conan/project/
conan create all --version=1.17.1.cci.20220902

@uilianries uilianries merged commit bbddb31 into conan-io:master Nov 18, 2024
8 checks passed
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.

3 participants