Monday, February 12, 2007

Mono devkit for Scratchbox

I worked last weekend on Mono devkit for Scratchbox, for who dont know what is scratchbox developer kits an small explanation from Scratchbox's documentation:

"Scratchbox devkits are used to build distribution specific packages inside Scratchbox. Devkits purpose is to provide a set of tools that can be executed on host instead of target device and thus it reduces time that is used to build packages. Usually devkit also provides a set of libraries that is compiled for target device so that configure scripts can find correct libraries and link programs correctly. This way package building is much more faster than doing building process on slow target device or emulated on emulator."

At moment mono devkit binaries is not available for download (let it be more mature) it means that you must download source and generate your own binaries, to do it please do this instructions:

1. Because users do not have permissions to write to /scracthbox/devkit directory by default you need to execute this command outside of scratchbox as root (username must be replace by your user name):

  # mkdir /scratchbox/devkits/mono
# chown [username]:[username] /scratchbox/devkits/mono

2. Now you must login into Scratchbox and get the sources:

  # wget

3. Unpack sources, enter directory:

  # tar -xzf sb-devkit-mono.tar.gz
# cd sb-devkit-mono

4. Now you must get Mono and Glib packages to generate devkit, compile it and install in /scracthbox/devkit/mono, fortunately Make files provides a way to do everything you need in only one step:

  # make

Now you have your Mono Devkit installed and right to be used, if you want generate a binary deb/rpm/tarball to provide to another user or to use in another environments you can type this:

  # make tarball deb rpm

This is only first step to get a good Mono environment for Maemo development, and it makes more easy generation of Mono/Gtk-Sharp/Maemo-Sharp packages for device, I will try found some time to generate this packages on next weekend, maybe based on exiting Debian packages.

Comments are welcome!

No comments: