On 27-07-2024 16:52, Christoph M. Becker wrote:
On 13.06.2024 at 14:28, Frederik Bosch wrote:
On 13-06-2024 13:55, Derick Rethans wrote:
On 12 June 2024 16:46:31 BST, Frederik Bosch<f.bo...@genkgo.nl> wrote:
Conforming to the policies mentioned on the PECL Publishing page, I
am sending this message to request access to publish a filesystem
notification extension on PECL. First a little introduction. I have
been a PHP-dev for more than 20 years and a few years ago I have
contributed to PHP with the SameSite RFC. I am also maintaining the
MoneyPHP package.
Regarding the extension I would like to publish on PECL, I have been
searching for a cross-platform filesystem notification library but I
could not find any. The inotify extension has not been updated since
2020. Only after I decided to create this package, the first userland
package (azjezz/assess<https://packagist.org/packages/azjezz/assess>)
arrived on Packagist. I think an extension with filesystem
notifications would be really helpful. Therefore I created the
php-ext-fs-notify
package<https://github.com/genkgo/php-ext-fs-notify>. The extension
name is fs-notify.
To develop the extension I decided to use the PHPER (PHP Enjoy Rust)
framework<https://github.com/phper-framework/phper>. I basically used
it to create a PHP interface around
notify-rs<https://github.com/notify-rs/notify>. This week the package
got to a first version that is ready to use for the public. At the
moment it supports Linux and macOS filesystem notifications for PHP
8.1, 8.2 and 8.3.
I would love to have access to PECL to publish this extension.
The idea for an extension for this sounds reasonable.
I've just had a look, but I can't get this to compile with the
standard phpize && ./configure && make sequence, which is going to be
required if this is going to be installed through the PECL installer.
Sorry, I was under the impression that I first had to request access. I
have added the config.m4 file so you should be able to compile the
extension. It does require cargo
<https://doc.rust-lang.org/stable/cargo/getting-started/installation.html>
though.
I have only rough knowledge of `pecl` (the command) since I'm mostly
working on Windows, and I don't know anything about Cargo. So I don't
have the faintest idea whether that requirement would be a stopper to
add the extension to PECL. Do we have precendent for that requirement?
I've seen on <https://github.com/phper-framework/phper>, that
<https://pecl.php.net/package/skywalking_agent> is also build using
PHPER, but <https://github.com/apache/skywalking-php> doesn't claim to
require Cargo.
Maybe you, Frederik, or Derick or somebody else can clarify?
Cheers,
Christoph
Hi Christoph,
On the Skywalking PHP page you can see that it also requires Cargo. And
like my proposed FS Notify extension there is no Windows support yet.
https://skywalking.apache.org/docs/skywalking-php/next/en/setup/service-agent/php-agent/readme/
I made an improvement in the README on the repository page, how to build
it from source. The steps are similar as with Skywalking PHP.
https://github.com/genkgo/php-ext-fs-notify
If you have any additional question, feel free to ask!
Regards,
Frederik