Recently in KDE 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. :)

Just a note to say that I've released KDE 4.2.4 to Fink unstable. And now it's time for the fun part: big bold red text telling you it breaks stuff.

KDE4/X11 Plasma Desktop on Mac OS X
KDE4/X11 Plasma Desktop on Mac OS X in Xephyr
Working KOffice file asociations
Working KOffice file asociations

Actually, that was just the text saying that I was going to have big bold red text telling you it breaks stuff. Here's the real thing:

It breaks stuff!

But let me explain: it makes things better! Because of some esoteric stuff relating to case-sensitivity, existing packages, and bugs in Fink dpkg, there were issues on a number of people's systems with the existing KDE packages and conflicting paths. Of course, the root of the issue is that Fink didn't have a proper "/opt" type directory, so a number of packages for quite some time have been using "/sw/lib" for that purpose (/sw/lib/qt4-x11, /sw/lib/flex, etc.)

Since I was going to have to move things around anyways to fix this issue, I decided to do it right. As of Fink 0.29.7, the package validator accepts "/sw/opt" as a valid path to root packages. All of the KDE4 packages have been changed to use this new path, so when you upgrade to KDE 4.2.4, you will end up with a nice fresh clean KDE in /sw/opt/kde4/x11 or /sw/opt/kde4/mac (or both).

But wait, there's more!

I've also spent a lot of time fixing bugs and tweaking some fink-specific behaviors so that KDE integrates better with your Fink experience.

  • Fink's kdelibs4 automatically knows about the usual locations for kde4 files, so all KDE4 apps will start properly without needing /sw/opt/kde4/{x11,mac} in the path. This includes KDE4 apps launched from the Finder.
  • The kdebase-workspace package is now supported for KDE4/X11. That means you can start a full KDE desktop!
  • As a test, I created proper Info.plist files for KOffice, so file associations actually work. Till Adam has been working on a more robust way of doing this in the future, but if I find the time I might work on setting up more associations for common KDE apps in the mean time. (Kommon apps?)

So, for those of you who have already tinkered with KDE4 in Fink, I'm sorry to say it all needs an upgrade. But, on the bright side, once you do, you'll have a much nicer KDE.

As always, if you run into any issues, please let me know.

KDE 4.2.2 in Fink Unstable


I've just committed all of KDE 4.2.2 to Fink Unstable.

There's still a lot of rough edges, but it's definitely at least beta quality, and a lot of apps work great. It includes a number of fixes, including updated scripts to register all of the desktop files properly with ksycocoa on post-install, case-sensitive filesystem fixes, and a number of other packaging fixes. I've also finished packaging all of the "core" KDE distribution.

I've got Amarok working in my experimental tree, I just need to do a little more testing before I can release it (It's based on a snapshot of what will become Amarok 2.1.0, since 2.0.x has some build issues on Mac OS X that are difficult to resolve). Also, the KOffice folks just put out a release candidate that I'm working on finishing up packaging on. Hopefully I will have that out soon.

As always, please let me know if you run into issues. I've test-built on 10.5/i386 and 10.4/ppc so I'm sure some 10.4/i386 and 10.5/ppc users will give bug reports soon. ;)

KDE4 Fink Unstable Releases

I've had a chance to get a few more of the KDE4 packages polished up into what I hope is a releasable state. :)

Please give them a shot, let me know if you have any issues, if things don't work as expected. I know one major thing to look into still is to get document-opening working. Right now the KDE desktop files describe which apps should open different document types, but that is not being translated to OSX's document-opening APIs.

The following packages were released to unstable today:

  • digikam-mac and digikam-x11
  • kdeaccessibility4-mac and kdeaccessibility4-x11
  • kdeadmin4-mac and kdeadmin4-x11
  • kdeartwork4-mac and kdeartwork4-x11
  • kdeedu4-mac and kdeedu4-x11
  • kdegraphics4-mac and kdegraphics4-x11
  • kdemultimedia4-mac and kdemultimedia4-x11

Big ones left on the hitlist are amarok2 and koffice2. Amarok2 I'm starting work on again as a snapshot of the 2.1.0 build, since there are some issues with 2.0.x building on OSX. KOffice is actually working pretty well in my experimental tree, but 2.0 release candidate is due out in the next week or so, so I'm going to wait to update to that before doing a release.

Since this blog is more about my own personal development on OSX, Fink, KDE, and OpenNMS, and This Week in OpenNMS is about, well, all of OpenNMS development, I figured it was high time to move it to somewhere more official.

Without further ado, I present to you: This Week in OpenNMS. Same bat-time, different bat-channel.

RSS is still available, but the url has moved here, rather than getting everything through my blog.

Please, update your links!

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.

KDE 4.1 Beta 1 for Mac OS X

| 1 Comment

With the help of a number of folks, I'm happy to announce the latest KDE/Mac snapshot, based on KDE 4.1 Beta 1. Also, while it's been available for a while, I'd like to point out that KDE/Mac now has an official website, at, using Benjamin Dietrich's pretty design.

Torrents are all seeded, and downloadable.

Note: Apparently bittorrent doesn't preserve executable flags. :( Before installing, run, in a terminal:
chmod a+x *.pkg/Contents/Resources/postflight

As always, questions are welcome in the comments, on the kde-mac list, or in a bug report. =)

I'm Not Dead Yet

So I've been slack in posting to my blog, for any number of reasons, but I've been busy busy with lots of crazy stuff.

First, I've been spearheading the OpenNMS involvement in Summer of Code. Aside from one unfortunate incident things have been going well. I'm really looking forward to getting to know our students and seeing what they can come up with. It will be a learning experience for all of us. =)

We're also starting to gear up towards another beta on the road to OpenNMS 1.6. We've already got a bunch more bugs finished off, but also plenty to do still.

If you haven't noticed, my blog looks a little bit different. I'd been limping along with pretty much unchanged templates from upgrade after upgrade of Movable Type since version 3.1 or so. It's a testament to their software that everything's worked swimmingly without any major surgery for all of that time, but I've been itching to take advantage to the much cleaner HTML and CSS they're using in newer default templates, and other spiffy features which I have not been able to use without a ton of work. So I finally took the plunge and exported all of my existing data, and started over, making a CSS theme and only very small changes to the default templates. There's a bit more to do, but in all, I'm very happy with how it's gone. I should be future-proofed for another 6 years of blogging now. ;)

What's next? More OpenNMS bugfixing, to start with. I also have some Fink packages to update, as well as a few Rails-related packages to release (Mongrel and it's supporting cast of characters). It's also time to pick up my on-again off-again work on KDE/Mac, they're working towards and alpha of 4.1 and I still have a number of things I'd like to do before releasing somewhat stable packages.

Ah, well, a geek's work is never done. ;)

KDE 3.5.9 in Fink Unstable

| 1 Comment

Now that KDE 3.5.9 is out, I've updated all of the Fink KDE/X11 packages to match it. Nothing new specific to Mac OS X or Fink, just a version bump with some bugfixes and a significantly updated kdepim.

It also includes a few things that are updated to understand Chris's new libflac package.

As always, let me know if you run into any issues.