Status update (alpha,haskell,ctags,…)

So It’s been a long time since I wrote anything, not because I’ve done much for Gentoo but because Uni starts sucking once again.

However I found some time to do a couple of (maybe) interesting things:

I added some base-system binary packages for alpha. So if you screwed your alpha instalation doing something brave (or stupid) just take a look at You should be able to recover your system if you have a working busybox (which you SHOULD have).

I also managed to build ‘The Glorious Glasgow Haskell Compiler’ under alpha. Even if it is an unregisterised build, the result binaries are pretty usable (although they are HUGE). I built darcs with it and works perfectly. If you want to give it a try, get it from the url above, and put it in /usr/portage/packages/. You should be able to ’emerge -k’ it by just removing the <virtual/ghc-6.5 dependency in dev-lang/ghc-6.4.1-r1.

I’ll work with the gentoo-haskell guys to get it into the portage tree soon. Since I’m learning haskell, expect more haskell-related alpha porting 🙂

I also hacked a portage atom parser in haskell for a script I’ve been meaning to do for a long time. Doesn’t do anything fancy yet since I’m still implementing the Ord class operators. However it is considerably fast, it parses ~71000 lines in less than 1.5 seconds. Get AtomParser.hs and see a proof of concept showing its use in parser-test.hs. ( I’m still learning haskell so yes, it is really easy to improve my code ).

Since ctags is almost unmaintained upstream I’ve been collecting some useful patches around the net and might consider give it a big bump in the near future. The patches series are (in order):

  • Haskell support [by me]
  • Very basic ObjC support (ObjC hackers are welcome to send me ideas and code to improve the regexes) [by me]
  • Add patch to make Ruby class names in the form Foo::Bar work [by Ciaran McCreesh]
  • Add patch to improve C handling [by vim hackers, pointed out by Ciaran McCreesh]
  • Add support for Java 5 generics [found somewhere in the ctags forums]
  • Ebuild syntax support [by Ciaran McCreesh]

If you have an interesting and useful patch for ctags, please send it my way so I can integrate it in the next bump if I ever manage to do it. I’m maintaining all those patches in a stgit repository that I might share if anybody asks me to do it.

Also the Alpha Arch Testers project is reaching its final stage. We’ve got a quiz and we are giving the final touches to a policy document describing how we should behave (i.e. herd and arch-testers) one to each other.

Also I’m looking forward to Stephen Bennett‘s SELinux work under alpha. He kind of promised to test the hardened-sources; it’ll rock if he gets them work; because since the grsec-sources were removed we’ve got no ‘secure’ sources in the tree.

And last (and probably least) I wrote a dirty bash script some time ago and thought I might share. It simply lists the files that are no longer ‘claimed’ by any package installed under /usr/portage/distfiles. I know there are some nice python scripts around but I found this one to be way faster than those. WARNING: It is a hack, it won’t work without gnu-sed and will probably miss some files. However, it seems to work great here. If you want to give it a try, it is here (distfiles-clean). ( More scripts in;a=summary )

Ok time to get back to the mips assembly University work…