Recently in Qt Category

KDE4 Progress


I've been making good progress on getting KDE 4.4 (release candidates) working. It's been quite an interesting ride, in both a good and bad way. =)

First, there's the fun of 10.6 making it even harder to have code that forks without it accidentally exploding on the CoreFoundation fork-without-exec prohibition. I was able to solve this with a combination of fixes from macports' kdelibs4, and some of my own code which changes things to use low-level POSIX APIs instead of Qt APIs for some bounds-checking before execution.

Next, there's the fun of Phonon. KDE 4.4 requires a newer version of Phonon than what ships with Qt (even Qt 4.6). On OSX it gets even hinkier, since the QuickTime plugin for Phonon requires private Qt headers, so the only sane way to build it is to build the Phonon included with Qt, rather than building it as a separate project.

I ended up adapting a patch the Kubuntu folks use to inject a modern Phonon into Qt 4.6. In the process, I finally got around to learning my way around Git (and gitorious), and have set up my own Qt branch which includes my (binary incompatible outside of Fink) patch to Qt to fix plugin-building, Phonon from kdesupport, the kde-qt (formerly qt-copy) changes, and my patches to Qt that splits OSX into two platforms, Q_OS_DARWIN (i.e. use raw UNIX APIs, no Core*), and Q_OS_MAC (standard Qt/Mac).

Long story short, I'm getting there. I've gotten about half of KDE 4.4 RC1 built and apparently running reasonably. RC2 was just released to packagers, and I'm testing out my move to Qt 4.6.1 from 4.6.0, but once I get everything test-built on 10.6, I'll go validate everything on 10.4 and 10.5 (including making some DBus fixes for 10.4).

After that, the next thing to tackle is Mono, and then eventually I'll see if I can get KDE3 building/working on 10.6.

Fink and 10.6


It's been a crazy couple of weeks, with Snow Leopard out, people are scrambling to fix packages that haven't been already. I was a slacker in running the seeds this time around, and haven't really had much chance to give my packages a serious look until recently, but FYI, I am working on getting everything building everywhere I can.

Some notes on popular stuff:

  • KDE3: There were a number of annoying things blocking KDE3, but with the approval of some of the other maintainers, I've got a lot of the deps that were failing fixed up, and I'm working my way through a full KDE build and hope to have everything hunky-dory in unstable in the next few days.
  • KDE4: First of all: there will not be KDE4 on x86_64 in the near future. Qt4/Mac 64-bit does not have the Qt3Support framework, which plenty of KDE4 bits still depend on. I'll definitely be making sure that KDE4 builds fine in 32-bit mode, and in 64-bit X11 though, and after that, well, we'll see how much work it is to excise Qt3Support from at least the base libraries. In the process, I'm going to try to update it to KDE 4.3.1.
  • Java packages: When I packaged a lot of Java stuff for 10.4 and 10.5, I tried to build them targeting the 1.4 JDK, so it was more likely that built jars would work for most people. Unfortunately, Snow Leopard removes the 1.4 JDK, so I'm updating everything to build with the 1.5 JDK. Most stuff is handled, I'll be fixing up other stuff as I run into them.

If you have packages that you use day-to-day, let me know, I'll try to get to them first. I've been fixing things up on a first-come, first-serve basis based on reports to my maintainer email address(es).

I'll post here on my blog if I hit any other major milestones. In the meantime, happy Finking. :)

KDE 4.2.1 in Fink


Yes, that's right, a post to my blog that isn't about OpenNMS. ;)

As you can tell, I've been pretty busy having fun hacking on OpenNMS lately. While I have been keeping up with my Fink work to some extent, one major thing was still looming: finally getting all the work I did on KDE/Mac released in Fink, now that things have stabilized.

If you've been watching the commits for the last few months, you've seen the beginnings of that work. Updates to Qt, releases of support things like strigi and soprano... The big hurdle was getting D-Bus in a state where it plays well with KDE/Mac. After some initial hiccoughs, the D-Bus updates have been released to Fink now, and seem to be working well for people.

Today, I released the base packages for KDE 4.2.x into fink: kdelibs4, kdepimlibs4, and kdebase4.

Because of the cross-platform nature of KDE, I've released them in 2 variants: mac and x11, so you can run konqueror as an X11 app, or as a mac app. :)

Some things will only be present in one or the other, for various reasons (X11-specific features, etc.) One thing that will be in the X11 variant that is not there now is kdebase-workspace, so no plasma desktop as of yet. I've built it, but it doesn't act right currently, so I'm waiting to release until it's in a usable state.

This is still early test stuff, so if you run into issues with it, please feel free to let me know and I'll see what I can do.

I can't thank enough Orville Bennett and the other KDE/Mac folks. They have picked up the early work I did on porting and ran with it, helping polish it into a nice, buildable, and solid set of code while I was on my "hiatus" from KDE packaging. :) They have done a lot of great work in helping bring native mac KDE from "freakish mutant" to "used every day by KDE developers."

In the coming weeks I hope to get more of the base KDE packages done. I'm in the testing phase for koffice, amarok, kdeartwork, and a couple of others, and working my way through packaging more. I'll post as I get anything interesting.

Just a Little Update

Had a good time at SCaLE -- seemed like a lot of folks were interested in OpenNMS there. Of course, we found a bug in 1.3.10 as soon as it was out the door so I actually did another release during the conference. Fun!

Also fixed a long-standing bug with kdepim building on leopard; It should work now. If there are any other KDE3 build issues on Leopard, please let me know. I'm in the process of updating the packages to the upcoming 3.5.9 release.

Also, I see qt-copy is now a 4.4 snapshot so hopefully if I can get another snapshot build going, we'll have native QuickTime audio. (woot)

New KDE/Mac Snapshot


Just in time for the KDE release event (grin) -- a new KDE/Mac snapshot is available. I will be demoing it at the release event, thanks to Google and the KDE release coordinators for arranging free lodging, and my employer, OpenNMS, for covering my travel!

On to info about the snapshots.

Qt is updated to 4.3.3, and my build tools have been updated to use the KDE 4.0 branch now that 4.0.0 has been tagged. This does mean that kdepim and kdevelop are no longer being built (for now). Also, I'm not building Amarok right now since it has some compile issues, and I need to get with the Amarok folks to figure out what to do about some architectural issues (no Plasma on OSX).

Nothing huge code-wise has changed from a Mac point of view, other than all of the general updates that have gone on in the KDE codebase since the last snapshot. It appears that kdeinit4 and kded4 both have some crashing issues related to something deep in Qt, I will be investigating it when time permits. In the meantime, a lot of apps still work. Notably, KOffice apps appear to work now! In fact, KSpread is looking pretty darn good.

The torrents are still in the process of uploading to my seed servers, I've got most of them finished but a few are still going, and the "everything" torrent is still going, so if you're impatient, grab the individual packages of the stuff you want for best results. Note that I will be traveling to San Jose for the release event today, so you may see the torrents stop updating for a while but I will resume them as soon as possible.

As always, comments and questions are welcome, just send me an e-mail or reply in the comments here.

Good News, Everybody!


(No, it's not a suppository.)

Trolltech has released phonon backends for GStreamer, DirectShow, and QuickTime/CoreAudio, and will be maintaining them in the KDE codebase!

I guess it's time to start another build and see how Amarok sounds with nice CoreAudio output.

(Finally) New KDE/Mac Snapshot


So I've finally gotten a full KDE/Mac build done, and new snapshots are available.

The kdeaddons package went away, and QCA is now part of kdesupport (since they've gone on and done new development that isn't compatible with current KDE trunk). I've done some spot-checking, and as always, things that are simple tend to work better -- most of the kdegames stuff looks great as always.

Everything in KOffice is unfortunately failing with the error:

11/17/07 12:36:56 AM [0x0-0xb50b5].kspread[11258] ASSERT: "not isInitialized" in file /Users/ranger/cvs/kde-mac/, line 70

I haven't yet figured out why it's happening yet, but expect an update once I do.

Amarok actually runs and plays music, although it inexplicably loses it's menu bar completely, so there isn't much else you can do with it. I suspect it might be the splash screen stuff confusing Qt, but I'm not positive.

BUT, the big news is that it actually works on Leopard too. :) I've made an ugly patch that fixes the CoreFoundation fork/exec issue and I was able to open pretty much everything (well, everything that didn't crash for other reasons... <grin>).

A few of the packages are still seeding from my 384kbit upstream system, so it might still be a little bit before they're all available, but please, as always, try them out, and post if you see any interesting issues.

The Calm Before the Storm

Sure, it may seem quiet, but oh man, there's been a lot going on.

First of all, a little off topic... Hockey season has started again. Go 'Canes! <grin>

Second, as you might or might not be aware, a new kitty is coming to town soon. While David Morrison has done the majority of the work, I've been trying to help clean up some loose ends in getting things ready in Fink -- validator fixes, working around compiler issues, and other misc stuff.

Third, I and a few other folks have been working on finally getting GNOME up to 2.20 (including GTK+ 2.12) in Fink, which is a metric TON of work. GTK+ 2.8 introduced a dependency on Pango's Cairo backend, which has to bubble up into build-time dependencies for literally hundreds of Fink packages. Through a combination of brute force and some automation, this is now to the point where it's time for brave users to help us find the kinks, test upgrades, and other fun stuff. Expect an announcement sometime this weekend with details.

Fourth, I've been working on getting KDE4 moving again, including KDE4/X11, and starting to package KDE4 beta3 for Fink. This means Qt4/X11 and Qt4/Mac in Fink as well, which I've just gotten working. A little more testing and I'll put those out in unstable. As for KDE4 itself, I'm stymied at the moment by a bug in Strigi that is causing meinproc to fail, so I can't get through kdelibs, but vandenoever is aware of the issue and hopefully we'll get something worked out soon.

Oh, and, I've started using Twitter. I'm still not entirely sure why, but it is fun. :)

Anyways, as always, busy busy! I'll try to keep things up-to-date here.

New KDE/Mac Build


I finally had some time to finish up new KDE/Mac builds. They're current as of a few days ago, and should be finishing seeding shortly.

You can find out more on downloading them here.

There are still a ton of rough edges, but I see a lot of the groundwork kdelibs cleanup that's been going on has helped the mac builds too. Konqueror actually works pretty well, with https even! Some stuff has regressed however, it looks like a lot of the pretty SVG work that's gone on in kdegames has made things look a little goofy. Bits of KOffice work enough to actually do something interesting with them. fish:// still doesn't work, but I think that may be true on Linux as well. :)

Anyways, as always, bang on them and let me know what you think.

New KDE/Mac Build: Amarok Included

Amarok on KDE4/Mac

Last night I finished a new build of KDE/Mac which includes Amarok, building on the great work the Amarok team's done on Amarok 2.0 porting.

In theory, sound should work (I've added GStreamer and kdemultimedia's phonon-gst backend to the mix) but in practice it doesn't. Now that I have a solid build working, I'm going to try digging into figuring out why that is the case.

As always, please bang on it, and let me know if you see any major issues.

Also, I've started working on packaging kde4 for fink. For now it is the X11 version, but as I get things cleaned up, I'll add the Qt/Mac version to the mix. I'll put a note up when there's something useful along those lines...