On 11/03/17 12:53, Marc Espie wrote:
> On Fri, Nov 03, 2017 at 10:07:33AM +0100, Antoine Jacoutot wrote:
>> Let's get this in and see how it flows. We can always put some components 
>> back
>> to -main if needed later.
>> I did like the fact that -main used to bundle the most used stuff, it made
>> handling php dependencies very easy. But as mentioned, let's go with your 
>> diff
>> and we shall see :-)
> 
> Small caveat: when we want to move back to the way things were later, this
> will mean some @pkgpath annotations for updates...
> 
> so it's slightly simpler if there are a few part we can merge now.

That's up to opponents of the new layout to propose. I'm open to some parts
to be merged back in, but I'm not going to suggest any.
> 
> trick question: ports that depend on php components, how hard are
> they to tweak with this patch ? assuming some components are no longer
> part of the main php package...
> 
That's no harder than the current situation. E.g. mail/roundcubemail
currently has (extreme example):
RUN_DEPENDS=    lang/php/${MODPHP_VERSION},-pspell \
                lang/php/${MODPHP_VERSION},-zip
While the new version just moves to:
RUN_DEPENDS=    lang/php/${MODPHP_VERSION},-ctype \
                lang/php/${MODPHP_VERSION},-dom \
                lang/php/${MODPHP_VERSION},-exif \
                lang/php/${MODPHP_VERSION},-fileinfo \
                lang/php/${MODPHP_VERSION},-iconv \
                lang/php/${MODPHP_VERSION},-json \
                lang/php/${MODPHP_VERSION},-mbstring \
                lang/php/${MODPHP_VERSION},-pdo \
                lang/php/${MODPHP_VERSION},-posix \
                lang/php/${MODPHP_VERSION},-pspell \
                lang/php/${MODPHP_VERSION},-sockets \
                lang/php/${MODPHP_VERSION},-simplexml \
                lang/php/${MODPHP_VERSION},-tokenizer \
                lang/php/${MODPHP_VERSION},-zip
So the dependencies are pulled in at install-time, but the admin
will have to enable these manually.
Same goes for the few pecl packages, although these require
the other modules at compile-time as well.
E.g. pecl-http goes from from:
RUN_DEPENDS+=   www/pecl-raphf \
                www/pecl-propro
BUILD_DEPENDS+= ${RUN_DEPENDS}
To:
RUN_DEPENDS+=   www/pecl-raphf \
                www/pecl-propro \
                lang/php/${MODPHP_VERSION},-iconv
BUILD_DEPENDS+= ${RUN_DEPENDS}

PHP usually complains in an understandable way if it can't find a
certain module that it requires at runtime.

In short: the requirements for packages get a little bigger, but the 
semantics don't change compared to the current situation. Also note
that I would like to look into something like a phpctl tool that could
automate the change of (some) ini-settings, including en-/disabling
modules. But I intent to not bent my mind over that before this gets in.

martijn@

Reply via email to