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

[libfswatch] New port #22527

Closed
wants to merge 32 commits into from
Closed

[libfswatch] New port #22527

wants to merge 32 commits into from

Conversation

SamuelMarks
Copy link
Contributor

@SamuelMarks SamuelMarks commented Jan 14, 2022

Describe the pull request

fswatch is a cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.

I am still working on this PR

If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/
WiP

NOTE: I am pinning this to my fork rather than the official source as its maintainer hasn't been active since June (I opened the PR adding MSVC support in November). Tried emailing him. If he merged the PR then happy to switch the pin to his repo.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You have modified or added at least one portfile where deprecated functions are used.

If you feel able to do so, please consider migrating them to the new functions:
vcpkg_install_cmake -> vcpkg_cmake_install (from port vcpkg-cmake)
vcpkg_build_cmake -> vcpkg_cmake_build (from port vcpkg-cmake)
vcpkg_configure_cmake -> vcpkg_cmake_configure (Please remove the option PREFER_NINJA) (from port vcpkg-cmake)
vcpkg_fixup_cmake_targets -> vcpkg_cmake_config_fixup (from port vcpkg-cmake-config)

In the ports that use the new function, you have to add the corresponding dependencies:

{
  "name": "vcpkg-cmake",
  "host": true
},
{
  "name": "vcpkg-cmake-config",
  "host": true
}

The following files are affected:

  • ports/libfswatch/portfile.cmake

…fswatch/vcpkg.json] Add new functions as dependencies; [versions/l-/libfswatch.json] Commit accidently uncommited file from previous `--all`
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/libfswatch/vcpkg.json b/ports/libfswatch/vcpkg.json
index ce604ea..7606e23 100644
--- a/ports/libfswatch/vcpkg.json
+++ b/ports/libfswatch/vcpkg.json
@@ -3,6 +3,12 @@
   "version-string": "1.17.0",
   "description": "A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.",
   "dependencies": [
+    "gettext",
+    "libiconv",
+    {
+      "name": "pthreads",
+      "platform": "windows"
+    },
     {
       "name": "vcpkg-cmake",
       "host": true
@@ -10,12 +16,6 @@
     {
       "name": "vcpkg-cmake-config",
       "host": true
-    },
-    "gettext",
-    "libiconv",
-    {
-      "name": "pthreads",
-      "platform": "windows"
     }
   ]
 }
PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for libfswatch but no changes to version or port version.
-- Version: 1.17.0
-- Old SHA: 325ca83f4d4b4c17c7ba10c4e8bd6eebd80525a1
-- New SHA: 6cb3632d5b533d39f781414f99bf26e15de00045
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

@JonLiu1993 JonLiu1993 self-assigned this Jan 14, 2022
@JonLiu1993 JonLiu1993 added the category:new-port The issue is requesting a new library to be added; consider making a PR! label Jan 14, 2022
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/libfswatch/vcpkg.json b/ports/libfswatch/vcpkg.json
index dcbe803..3d6274c 100644
--- a/ports/libfswatch/vcpkg.json
+++ b/ports/libfswatch/vcpkg.json
@@ -3,6 +3,12 @@
   "version": "1.17.0",
   "description": "A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.",
   "dependencies": [
+    "gettext",
+    "libiconv",
+    {
+      "name": "pthreads",
+      "platform": "windows"
+    },
     {
       "name": "vcpkg-cmake",
       "host": true
@@ -10,12 +16,6 @@
     {
       "name": "vcpkg-cmake-config",
       "host": true
-    },
-    "gettext",
-    "libiconv",
-    {
-      "name": "pthreads",
-      "platform": "windows"
     }
   ]
 }
PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for libfswatch but no changes to version or port version.
-- Version: 1.17.0
-- Old SHA: 325ca83f4d4b4c17c7ba10c4e8bd6eebd80525a1
-- New SHA: 538d7a5b96dac45674b2d2b66d990fd99b44fd50
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/libfswatch/vcpkg.json b/ports/libfswatch/vcpkg.json
index dcbe803..3d6274c 100644
--- a/ports/libfswatch/vcpkg.json
+++ b/ports/libfswatch/vcpkg.json
@@ -3,6 +3,12 @@
   "version": "1.17.0",
   "description": "A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.",
   "dependencies": [
+    "gettext",
+    "libiconv",
+    {
+      "name": "pthreads",
+      "platform": "windows"
+    },
     {
       "name": "vcpkg-cmake",
       "host": true
@@ -10,12 +16,6 @@
     {
       "name": "vcpkg-cmake-config",
       "host": true
-    },
-    "gettext",
-    "libiconv",
-    {
-      "name": "pthreads",
-      "platform": "windows"
     }
   ]
 }
PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for libfswatch but no changes to version or port version.
-- Version: 1.17.0
-- Old SHA: 325ca83f4d4b4c17c7ba10c4e8bd6eebd80525a1
-- New SHA: 69cc498cc90868bab5c16fa93ac4d67b957ed555
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

All manifest files must be formatted

./vcpkg format-manifest ports/*/vcpkg.json

Diff
diff --git a/ports/libfswatch/vcpkg.json b/ports/libfswatch/vcpkg.json
index dcbe803..3d6274c 100644
--- a/ports/libfswatch/vcpkg.json
+++ b/ports/libfswatch/vcpkg.json
@@ -3,6 +3,12 @@
   "version": "1.17.0",
   "description": "A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.",
   "dependencies": [
+    "gettext",
+    "libiconv",
+    {
+      "name": "pthreads",
+      "platform": "windows"
+    },
     {
       "name": "vcpkg-cmake",
       "host": true
@@ -10,12 +16,6 @@
     {
       "name": "vcpkg-cmake-config",
       "host": true
-    },
-    "gettext",
-    "libiconv",
-    {
-      "name": "pthreads",
-      "platform": "windows"
     }
   ]
 }
PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for libfswatch but no changes to version or port version.
-- Version: 1.17.0
-- Old SHA: 325ca83f4d4b4c17c7ba10c4e8bd6eebd80525a1
-- New SHA: 27ee2010212175339709e8a8bbe1edb8ed9d5f30
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

…atch/vcpkg.json] More granular dependencies; [versions/l-/libfswatch.json] Update
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for libfswatch but no changes to version or port version.
-- Version: 1.17.0
-- Old SHA: d2f948c62caa5a1e4e685e14172fd35306947e9d
-- New SHA: d71f6c1855909cf7099abc054e7b4f0e2a764e42
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

@SamuelMarks
Copy link
Contributor Author

@strega-nil-ms Yeah the #include <intrin.h> was required for x86 support (and didn't effect x64 support). So should I just guard it to only #include if arch is x86?

@JonLiu1993 JonLiu1993 removed the info:reviewed Pull Request changes follow basic guidelines label Jan 19, 2022
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!

PRs must add only one version and must not modify any published versions

When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.

Error: Local changes detected for libfswatch but no changes to version or port version.
-- Version: 1.17.0
-- Old SHA: b364979575068baa46b7403cdd8025eb71a0839a
-- New SHA: a165049fa2d23375593a7f8cbcd6918ef16fac2d
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***

@SamuelMarks
Copy link
Contributor Author

@JonLiu1993 I think the CI needs to be kicked

@JonLiu1993
Copy link
Member

@JonLiu1993 I think the CI needs to be kicked

@SamuelMarks , I think you should consider @strega-nil-ms 's suggestion

@SamuelMarks
Copy link
Contributor Author

@JonLiu1993 Nah I think I can fix ARM support, the CI showed these style errors:

:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8113): error C3861: 'ReadAcquire8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8124): error C3861: 'ReadNoFence8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8135): error C3861: 'ReadAcquire8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8146): error C3861: 'ReadNoFence8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8169): error C3861: 'WriteRelease8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8182): error C3861: 'WriteNoFence8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8195): error C3861: 'WriteRelease8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8208): error C3861: 'WriteNoFence8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8233): error C3861: 'ReadAcquire16': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8244): error C3861: 'ReadNoFence16': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8267): error C3861: 'WriteRelease16': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8280): error C3861: 'WriteNoFence16': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8305): error C3861: 'ReadAcquire': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8316): error C3861: 'ReadNoFence': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8339): error C3861: 'WriteRelease': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8352): error C3861: 'WriteNoFence': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8377): error C3861: 'ReadAcquire64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8388): error C3861: 'ReadNoFence64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8411): error C3861: 'WriteRelease64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8424): error C3861: 'WriteNoFence64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8561): error C3861: 'ReadAcquire64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8572): error C3861: 'ReadNoFence64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8595): error C3861: 'WriteRelease64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(8608): error C3861: 'WriteNoFence64': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(20290): error C3861: '__iso_volatile_store8': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(22979): error C3861: '__getReg': identifier not found
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winnt.h(22988): error C3861: '__getReg': identifier not found

Watch this space whilst I try and resolve them. Probably just a missing include or two, and existing includes which need guarding.

@SamuelMarks
Copy link
Contributor Author

Actually on second thought it's not obvious why this is failing.

I was considering adding an explicit #include <winnt.h> to win_handle.cpp but I really don't think that'll do anything.

Ideas anyone? - E.g, @strega-nil-ms / @strega-nil

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:

  • ports/libfswatch/vcpkg.json

Valid values for the license field are listed at https://spdx.org/licenses/

@JonLiu1993
Copy link
Member

@SamuelMarks ,
This is error log:

CMake Error in libfswatch/src/libfswatch/gettext/CMakeLists.txt:
  Target "gettext" INTERFACE_INCLUDE_DIRECTORIES property contains path:

    "D:/buildtrees/libfswatch/src/448f01fd84-a0f24a6984.clean/libfswatch/src/libfswatch/gettext/"

  which is prefixed in the source directory.


-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INSTALL_BINDIR
    CMAKE_INSTALL_LIBDIR
    _VCPKG_ROOT_DIR


CMake Generate step failed.  Build files cannot be regenerated correctly.

@JonLiu1993
Copy link
Member

Draft this pr because there is no response for a long time

@JonLiu1993 JonLiu1993 marked this pull request as draft May 11, 2022 03:03
@JonLiu1993
Copy link
Member

This PR has been inactive for a long time, please reopen it if there is any progress.

@JonLiu1993 JonLiu1993 closed this Aug 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:new-port The issue is requesting a new library to be added; consider making a PR!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vcpkg support (Windows package manager)
4 participants