Re: OpenBSD KDE4 Ports (was: Makefile format/best practices)

2010-11-07 Thread Landry Breuil
On Sat, Nov 06, 2010 at 05:27:04PM -0700, onteria wrote:
 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

No way, sorry but that's utterly gross. FreeBSD doing things like this
is not a reason for it being a good idea. Besides, the existing kde4 we
have in tree uses the correct layout.

 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 \

Once you'll be at WANTLIB fixes, that means most of the work is done. In
the meantime, don't really bother with it.. concentrate on runtime
issue/crashes/linuxisms in code..

 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.

It surely allows that.

Landry



Re: OpenBSD KDE4 Ports (was: Makefile format/best practices)

2010-11-06 Thread onteria
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



OpenBSD KDE4 Ports (was: Makefile format/best practices)

2010-11-04 Thread onteria
Pardon the breakoff, but continuation of the previous thread might have
confused people who were looking for info on makefile creation issues.

  I've already gotten all the kde4 subdirs to build, and I currently
  have kdm running as I type this email. Unfortunately, many deps I 
  added on the fly to get things to build, so the makefiles need to 
  be updated so the packages will build on someone's machine who 
  doesn't have the proper deps, or knowledge of which deps to add.
 
  With regards to the kde3 issue, I'm not sure I have an immediate
  answer to that. I'd have to check with how other distros do it, if 
  they even do it at all. I personally would like to work on fixing 
  the KDE4 issues before handling the side by side install issue. 
  Just to name a few I've found so far:

 No, some other distros do allow that, and it's really the main issue
 we need to fix, and the kde people do provide some amount of 
 documentation about it. Specifically, at least be able to build BOTH
 during a bulk build without collision.

 That's the big problem I haven't had time to look at yet. It might not
 be difficult to solve, or it might be difficult to solve, but it's really
 step 1.

 What you're doing is very simple, and very enjoyable. I've played that
 game, I can do it. But the very serious work needed to get kde4
 uptospeed is to figure out the logic behind installing it correctly, so 
 that we can activate the build.

All right, I'll tread that path then. Let me look up their docs on how
to best approach building both side by side. If I can't find anything
there, I'll see how distros do it and figuring out how to best approach
the issue while working inside the OpenBSD way of doing things. I'll
post all my findings in an email so we can see if any of the approaches
can be made to work, or if I need to search for another alternative.
I can't promise I'll be able to do that today, but I'll have something
at least by the end of the weekend (America/Pacific). 

 Right now, what you're doing is noise, and it's not even sure it will
 be used, until we have fixed that major issue.

All of my fixes to date are for making some of the kde4/* ports actually
compile. Nothing has been fixed runtime wise. I'm not sure how they
wouldn't be used, unless there is a better solution to fixing the
compile issues that I'm not aware of.

- Onteria