As an update to the building of kde4 side by side with kde3, as well as
getting it to run side by side, I've so far found the following:

1) Looking at FreeBSD, the kde4 problem is solved by installation of
kde4 into /usr/local/kde4

2) I checked into how it could be done with OpenBSD and have come up
with the following:

/usr/ports/x11/kde4/Makefile.inc:

addition of the following:

CONFIGURE_ARGS +=       -DCMAKE_INSTALL_PREFIX:PATH=${LOCALBASE}/kde4/

This will allow kde4 to be installed into LOCALBASE/kde4, which is
/usr/local by default.  The build and installation went okay after
dealing with some suid issues and rebuilding the plist. 

Packages will need to have WANTLIB updated for KDE4 libs, such as the
following example with kde-base:

WANTLIB += GL GLU ICE SM X11 Xau Xdmcp Xext Xft Xpm Xrender Xt \
        cglib-2.0 kde4/lib/kde3support kde4/lib/kdecore.>=8 \
        kde4/lib/kdesu kde4/lib/kdeui \
...

Just to make sure it's pulling kde4, I did a make configure with
kde-base:

-- Found KDE 4.4 include dir: /usr/local/kde4/include
-- Found KDE 4.4 library dir: /usr/local/kde4/lib

3) With regards to packages that can build against kde:

If there are any packages not in x11/kde4 that can be built with kde4
and kde3, my thought was to potentially use flavors. Does that seem like
a reasonable idea? For packages that depend on kde3 and can't be built
with kde4, no change would be necessary at the moment. If anything in
ports not in x11/kde4 can be built ONLY with kde4, they would need to
have WANTLIB updated with the new location format.

Please let me know if this seems like a reasonable solution and I will
start working towards implementing it in all the kde4 makefiles.

Please note that if we want to do divisions of directory structure such
as:

/usr/local/lib/kde4
/usr/local/include/kde4
/usr/local/bin/kde4

etc., that this could potentially add a large level of complexity to the
process. Unlike Qt3/4 I don't think the build system easily allows that
level of breaking down.

- Onteria

Reply via email to