The fun begins:
-from the build log-
Lets have a closer look:
That's quite bogus.
But now the problem becomes clear:
So, who is to blame here?
Code:
[...]
===> vlc-2.2.8_3,4 depends on shared library: libbluray.so - found (/usr/local/lib/libbluray.so)
[...]
checking for BLURAY... no
configure: error: Library libbluray >= 0.3.0 needed for bluray was not found
===> Script "configure" failed unexpectedly.
Lets have a closer look:
Code:
# pkg-config --cflags libbluray
Package /usr/ports/packages was not found in the pkg-config search path.
Perhaps you should add the directory containing `/usr/ports/packages.pc'
to the PKG_CONFIG_PATH environment variable
Package '/usr/ports/packages', required by 'libbluray', not found
# grep /usr/ports/packages /usr/local/libdata/pkgconfig/libbluray.pc
Requires.private: /usr/ports/packages libxml-2.0 freetype2 fontconfig
That's quite bogus.
But now the problem becomes clear:
Code:
# grep PACKAGES /usr/ports/multimedia/libbluray/work/libbluray-1.0.2/configure
ac_subst_vars='PACKAGES
PACKAGES="$PACKAGES libxml-2.0"
PACKAGES="$PACKAGES freetype2"
PACKAGES="$PACKAGES fontconfig"
# grep PACKAGES /usr/local/etc/pkgtools.conf
ENV['PACKAGES'] ||= ENV['PORTSDIR'] + '/packages'
ENV['PKG_PATH'] ||= ENV['PACKAGES'] + '/All'
portupgrade
uses a shell variable PACKAGES and happily exports it to everybody in the build toolchain ("namespacing is for weenies"). And libbluray
uses a shell variable PACKAGES in it's configure script to collect it's lib requirements, which are string-appended to the end - obviousely without bothering to initialize the variable beforehand.So, who is to blame here?