Re: [PECL-DEV] filesystem notification extension

[email protected] (Frederik Bosch) Tue, 30 Jul 2024 10:16:41 +0200
Newsgroups php.pecl.dev
Message-ID <[email protected]>
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<[email protected]>  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