[kde-freebsd] Building with a LOCALBASE

Adriaan de Groot groot at kde.org
Thu Aug 6 21:32:12 UTC 2015


I'm building kde5 (or parts of it) from area51 branch plasma5 on a 10.1 system 
with LOCALBASE set to $HOME/local . The machine I'm building on has almost no 
system ports or packages installed (/usr/local contains bash, x server things, 
twm, and python). I realise this is a somewhat peculiar build configuration.

Anyway, the build fails in kf5-kconfigwidgets. The error is that meinproc5 
can't find certain files and is looking in 3 different directories:

[ 87%] [ 88%] Generating preparetips5.1
Automatic moc for target KF5ConfigWidgets
Could not locate file "kf5/kdoctools/customization" in 
("/var/tmp/ports/home/adridg/src/ports/x11-toolkits/kf5-kconfigwidgets/work", 
"/usr/local/share", "/usr/share")
Could not locate file "kf5/kdoctools/customization" in 
("/var/tmp/ports/home/adridg/src/ports/x11-toolkits/kf5-kconfigwidgets/work", 
"/usr/local/share", "/usr/share")
Error: Could not find kdoctools catalogs
docs/preparetips/CMakeFiles/docs-preparetips-preparetips5-1.dir/build.make:52: 
recipe for target 'docs/preparetips/preparetips5.1' failed



Those three directories are the ones defined by QStandardPaths [1], in 
particular the directories defined for GenericDataLocation. As far as I can 
tell, these three come from: $XDG_DATA_HOME and two hard-coded 
(/usr/local/share and /usr/share). By setting XDG_DATA_HOME to a suitable 
value (i.e. $LOCALBASE/share) I can make the build complete by running gmake 
in the build-directory. But bsd.port.mk sets that environment variable to the 
work-directory during the build.

So I guess my questions are these:


1. Does the usual value of QStandardPaths here make sense? Shouldn't 
$LOCALBASE/share be in there as well, when Qt is built and installed in that 
alternate LOCALBASE?
2. (if 1 is answered yes, no respectively) Is there a way to force 
XDG_DATA_HOME to $LOCALBASE/share during compilation (perhaps only for that 
one step) so that the build can complete normally?
3. Should this stuff build with a different LOCALBASE?

For now it's not blocking me, since I know how to work around any invocations 
of meinproc that need this set.

[ade]




[1] http://doc.qt.io/qt-5/qstandardpaths.html


More information about the kde-freebsd mailing list