[Banshee-List] Summer of Code / Improve Banshee mac os x port
- From: Timo Dörr <timo latecrew de>
- To: "banshee-list gnome org" <banshee-list gnome org>
- Subject: [Banshee-List] Summer of Code / Improve Banshee mac os x port
- Date: Wed, 04 Apr 2012 16:43:42 +0200
I've been a banshee on mac user for quite some time after beeing fed up
with iTunes and its slow media import / general laggyness. About half a
year ago, I've hacked together the FolderSync plugin for banshee which got
accepted into BCE (see
mainly to be able to perform simple android device/ folder based syncing
on OS X aside the heavily linux-tied banshee device syncing.
After I read on the gnome ideas page that this years Summer of Code has a
proposal for improving the mac port of banshee, along with adopting the
BCE build system for OS X I thought I should check whether to apply for
it, since I'd be excited to improve the mac port, which really needs more
love. When I developed the FolderSync plugin I ran into the problem that
the build system only works for linux, so I already had to perform all
coding work in a virtual machine on my macbook to develop the plugin only
for copying the resulting managed .dll into the mac Appbundle for each
test run on OS X. So I definetely support the task of changing the BCE
buildsystem to work on mac (or maybe integrate into bockbuild?) and I am
very confident I can complete this task.
I also have some ideas about banshee on mac that I'd further like to work
on (open for more):
* Use MonoMac to support media keys on macbooks (play, pause, skip etc.)
* better hardware support, especially device syncing for at least
folder/usb mass storage support using banshees internal already existing
code, rendering my FolderSync plugin mostly unneccessary
* fix A LOT of obvious bugs in the mac port to increase stability (i.e.
drag-n-drop leads to crash, volume slider not working correctly, etc)
However, especially the last point is very tricky. For a few days now,
I've been messing around with bockbuild to build banshee from source on my
macbook. I've done that task half a year ago based on the bl8/bockbuild
repo on github from bertrand, and I remember I had to fiddle a lot with
bockbuild (bumping versions, fixing deps) at that time. Same happend to me
last few days when I realized there is no official/documented bockbuild
repo on github. I found the fork from xamarin/bockbuild and
DavidNielsen/bockbuild to be the best candiates, but after checking them
out none of the actually worked to build banshee out-of-the-box. The
xamarin tree actually could build all the deps, but building banshee
failed (problem with missing DBus). The DavisNielsen tree failed to build
in the dependency stage. If fixed some bugs in both trees (i.e. missing
.xz support, wrong libcroco build order) but afterwards only hit new ones
- only to find out that bug is often fixed in the opposite tree already.
After 2 days of working into the bockbuild system, I finally managed to
merge both trees into a single one and get the dependency tree and banshee
to fully compile. But sadly I had to find out, banshee crashes upon start.
I hit the same bug David Nielsen describes in this bugreport:
https://bugzilla.gnome.org/show_bug.cgi?id=647969. I've put my merged
bockbuild repo onto github: https://github.com/Dynalon/bockbuild and
verified with a fresh checkout that all deps and banshee from git can be
compiled (as of today on an intel mac on Lion) without any modifications
to the build system.
So right now I am somewhat stuck. I've opened a bugreport on gnome's
bugzilla (https://bugzilla.gnome.org/show_bug.cgi?id=673497), but since
the bug is likely to be somewhere in pango/gtk+ quartz backend/cairo there
is not much I can do about it expect to hope that it get fixed someday,
since those projects are complex beasts themselves and digging into them
with gdb without prior knowledge isn't really an easy task.
I would really love to apply for GSoc's Banshee mac porting, but I think
besides the above mentioned feature implementation a major task to
*really* improve the mac port is to hunt such kind of (non C#/mono
related) bugs and work with the according maintainers to get them fixed.
But I am not sure if this ok with the GSoCs guidelines of doing only
coding work, as well as the banshee mentors conception for this GSoC task.
Any feedback and statements, especially from the responsible
future-mentors would be greatly appreciated before I think about filling
out an application with google :)
] [Thread Prev