On Tue, 30 Jul 2024, Frederik Bosch wrote:

> 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:
> > > > 
> > > > > 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?

No, I don't think we don't. I would probably guess that a lot of people 
would have a C compiler, and not a whole rust toolchain installed as 
well.

For the new PECL installer (PIE, https://github.com/php/pie) supporting 
this "style" hasn't been taken under consideration.

I would also say that it is unexpected to suddenly also have to download 
a gazilion crates (it took 432MB!), on top of a whole rust compile 
stack. Server environments will not likely to have this pre-installed 
either.

> > 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?
> 
> 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!

This is a problem:

$ make test

        PHP_CONFIG=php-config cargo build --release
                Finished `release` profile [optimized] target(s) in 0.05s
        if [ -f ./target/release/libphp_ext_fs_notify.dylib ] ; then \
                cp ./target/release/libphp_ext_fs_notify.dylib 
        ./modules/fs_notify.dylib ; fi
        if [ -f ./target/release/libphp_ext_fs_notify.so ] ; then \
                cp ./target/release/libphp_ext_fs_notify.so 
        ./modules/fs_notify.so ; fi

        Build complete.
        Don't forget to run 'make test'.

Your Makefile should skip this step if the result is already finished.

        =====================================================================
        TIME START 2024-07-30 12:40:12
        =====================================================================
        No tests were run.

That's also a problem. Tests are definitely a great thing to have.

cheers,
Derick

Reply via email to