KDE Package Prefixes

Yury G. Kudryashov urkud at ya.ru
Fri Feb 26 02:52:31 CET 2010


26/02/2010 02:07:33 Mike Arthur wrote:
> Howdy,
Please, even if you're not interested in "multi-prefix" installs, look at the 
string marked with "!!".
> 
> One of the problems I've run into is that Homebrew partitions each of it's
> installed packages into their own prefix. For example, the version of
> KDELibs I have installed (and packaged) has been installed into:
> ~/Applications/Homebrew/Cellar/kdelibs/4.4.0
I had the same problem some time ago. I was packaging kde4 for another "prefix" 
system, called nixos (www.nixos.org). I moved from this system because I was 
too lazy to patch all plugin-related code (not KDE) to be more configurable at 
runtime. I think that you can find some usefull workarounds on their site.

At least, you need to tell cmake about all prefixes that contain your 
dependencies. The code is the following:
cmake -DCMAKE_PREFIX_PATH=/path/to/kdelibs/4.4.0:/path/to/kdepimlibs/4.4.0
(I don't remember whether you should use ":" or ";").

AFAIR, KDE build system automatically adds all directories from KDEDIRS to 
CMAKE_PREFIX_PATH, but I'm not really sure (haven't looked for a while).

Another problem I remember about kde build system wrt prefixes system is that
some files (like d-bus interfaces) are installed into kdelibs-prefix subdirs. I 
had to patch the corresponding cmake files locally. Probably, there exists a 
better solution like 'set another cmake variable'.
> 
> I've got KDEPIMLibs packaged and installed correctly as well. The problem
> comes along when something tries to find KDEPIMLibs.
> 
> The problem is that, within this file, it looks for KdepimLibs in
> ${KDE4_LIB_DIR}/KdepimLibs/cmake (which expands to
> ~/Applications/Homebrew/Cellar/kdelibs/4.4.0/lib/KdepimLibs/cmake) where
> the file is actually in
> ~/Applications/Homebrew/Cellar/kdepimlibs/4.4.0/lib/cmake/KdepimLibs.
!!Notice the difference: "KdepimLibs/cmake" and "cmake/KdepimLibs", so the first 
one doesn't help even if prefix is the same. It founds kdepimlibs because config 
file is under one of the known prefixes (the only known prefix?..).
> 
> Obviously I need to work around this and I'm wondering what you think would
> be the best way to do so. I'd rather not maintain huge patches to the KDE
> buildsystem out of tree as this will get messy and unmaintainable very
> quickly.

> 
> Before I get told this is all a stupid idea, the prefix system won't change
> in Homebrew (and I happen to like it). KDE packages will have to live
> happily in different prefixes somehow. GoboLinux also has this approach
> but they haven't packaged KDE4 yet.
NixOS has kde4 packages (or at least had 4.0 and, probably, 4.1 packages). I 
don't know whether they still maintain these packages.
-- 
Yury G. Kudryashov,
mailto: urkud at ya.ru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 230 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-buildsystem/attachments/20100226/8cb5b879/attachment.sig 


More information about the Kde-buildsystem mailing list