Why do some php-ports not build flavored for me?

Hi,

I run my own poudriere server.
With the flavoring of PHP, I thought I could unify my PHP builds into one.

However, some ports don't build flavored, even though I think they should.

Notably www/phalcon.

The port uses
Code:
USES=           php:ext
which according to php.mk should be enough for a flavored build.

However, it does not do that, together with other ports.

One thing is that the php56 flavor does not really work, so I assume it gets thrown off its path (so to speak) and just stops building flavors for some stuff (pear and the dependent packages).

make.conf:
Code:
WITH_PKGNG=yes
INSTALL_NODEBUG="yes"
A4=yes
WITH_UTF8=yes
WITHOUT_X11=yes
WITHOUT_X=yes
OPTIONS_UNSET="X11 DOCS"
NO_PROFILE=true
WITH_MPM=event 
WANT_OPENLDAP_SASL=YES
WITH_GSSAPI=YES
DEFAULT_VERSIONS+=mysql=10.2m apache=2.4 ruby=2.3 pgsql=10 perl5=5.24


php70-options:
Code:
# This file is auto-generated by 'make config'.
# Options for php70-7.0.3
_OPTIONS_READ=php70-7.0.3
_FILE_COMPLETE_OPTIONS_LIST=CLI CGI FPM EMBED PHPDBG DEBUG DTRACE IPV6 LINKTHR ZTS
OPTIONS_FILE_SET+=CLI
OPTIONS_FILE_SET+=CGI
OPTIONS_FILE_SET+=FPM
OPTIONS_FILE_SET+=EMBED
OPTIONS_FILE_UNSET+=PHPDBG
OPTIONS_FILE_UNSET+=DEBUG
OPTIONS_FILE_SET+=DTRACE
OPTIONS_FILE_SET+=IPV6
OPTIONS_FILE_SET+=LINKTHR
OPTIONS_FILE_SET+=ZTS
 
You can remove WITH_PKGNG. It was used using the transition period but on FreeBSD 10.0 and higher the old package system was completely removed. So this variable is now entirely useless.
 
I run my own poudriere server.
With the flavoring of PHP, I thought I could unify my PHP builds into one.

However, some ports don't build flavored, even though I think they should.
How are you telling Poudriere to build them? When you just give it www/phalcon it will only ever build the default flavor (php56 if you don't set another default PHP version via DEFAULT_VERSIONS). For all flavors use www/phalcon@all for just PHP 7.0 www/phalcon@php70
 
Ah, so it doesn't build all the flavors automatically?
OK, it makes sense then.
I'll have to try...

Know this this an old post ... but searching for something else and found it ... you need to enable flavors in the port Makefile ... (this usage change after it was merged ... I didn't follow the development that much, but wonderful feature).

Code:
USES=       php:ext,flavors
PKGNAMEPREFIX=  ${PHP_PKGNAMEPREFIX}

EDIT: also need to have the PKGNAMEPREFIX ; updating the CONFLICTS_INSTALL might need to be visited too.
 
Back
Top