It is long ago that I wrote the last blog post here, but in the future I hope there will be more posts with lots of interessting development stuff ;-)
And here is the interessting stuff.
I started writing C# bindings for the Enlightenment Foundation Libraries (EFL). They are used in the windowmanager E17 and are designed for usage from small, embedded devices up to multi core desktop pc’s.
You will find all important information on their website: www.enlighenment.org
You can find the sources here: http://dl.dropbox.com/u/21420050/efl-sharp.tar.gz
I started implementing some common elementary widgets and some methods of edje to load an edje-file and get the loaded widgets.
What does currently not work:
There is some code for that already there, but it does not work at all.
.) The autotools build system
I used MonoDevelop as my IDE, which should generate Makefiles and all the stuff. But there are some major bugs in this generation. I didn’t have the time until now to fill bugs or patch MonoDevelop, but this is on top of my todo list.
How to get something build that is working
1.) run autogen.sh
2.) build the bindings with MonoDevelop
3.) run sudo make install
4.) go to %PREFIX%/lib/efl-sharp – here are the assemblies installed
5.) add executable right to all dll’s with sudo chmod +x *.dll
6.) install the libraries in the Global Assembly Cache: run for every dll-file sudo gacutil -i %FILENAME% -package efl-sharp
Now you have installed the libraries and you can work with it.
Currently it is more an example and test app, but I plan to extend it to a more usefull application.
I appreciate any feedback and suggestions for efl-sharp and efeed
After weeks of developing I am releasing the first version of my PIM Sync tool MokoSync.
At the moment it only supports Outlook and OM2008.12, but it has an AddIn- Interface and so other PIMs and Freerunner OSs can be easily supported.
The sync logic is also not complete. Currently all data on your Freerunner will be deleted and all data from Outlook will be transfered into the OM2008.12 PIM stack.
So, but now how you install it.
You need the Microsoft .Net Framework 3.5 and GTK# (you get it here) to run MokoSync
Download the setup at http://projects.openmoko.org/frs/download.php/644/MokoSync_0.1.zip, extract it and install it.
Install Mono 2.0.1 and Gtk# 2.12.5 on the OpenMoko. Instructions are here.
Then install the ipk from http://projects.openmoko.org/frs/download.php/656/mokosync_0.1_arm.ipk.
In Illume you will get a new Icon to start MokoSync. It can take a little time, because of the startup of the Mono runtime.
You need an established network connection between the Freerunner and you PC.
Start MokoSync on your PC and on the Freerunner. On Windows MokoSync is ready to use and you only need to press “Sync” to start the server process.
At the Freerunner it depends if you are using the standard IP settings (192.168.0.202 for the Freerunner, 192.168.0.200 for the PC). If not click on “Config” and at the “Sync Transfer Addin”\Client click also on “Config”. At the Server box enter the IP of your windows machine.
After leaving the configuration, you can start the syncronisation. BE CAREFUL!! ALL YOUR CONTACTS AND CALENDAR ENTRIES WILL BE DELETED!!!
You see the status of the syncronisation between the grey area and the buttons. It is completet when it displays “Sync complete”.
I wish happy syncing. If you encounter any bugs or problems, please create a ticket at http://projects.openmoko.org/projects/mokosync/
I finally was sucessful compiling Mono 2.0.1 and Gtk-Sharp 2.12.5 for the Neo Freerunner.
It is tested on OM 2008.12.
The binaries are found at: http://cid-2c33e5173bc28fca.skydrive.live.com/browse.aspx/.Public/mono-2.0.1
For a simple full install download all opk’s or the zip- Archive with all of them and copy them on the Neo.
In a shell execute the following command:
ls *.opk | xargs opkg install $1 -nodeps
So all packages will be installed and there should be no problems with dependencies.
Here are some screenshots of an Gtk# application running on the Neo. It shows my PIM Sync tool for the Neo:
Current I realized that updating libglib and libgthread was not a good idea. After the update you are not able to start gtk applications.
I will try to build a mono version with the current stable branch over the night and upload it tomorrow.
When you are using the testing/unstable branch I think you should not have any problems.
After long work and switching to another machine I was able to build mono 1.9.1 for the freerunner.
To install it, download the file and rename it to openmoko_mono_1.9.1.tar.gz. This archive contains all necessary dependecies to install mono, but I removed the debug versions to save space.
I am using the stable repository on my freerunner, but build mono with the org.openmoko.dev branch because there was already the openembedded bitbake recipts. So before you can install mono you have to update libglib and libgthread.
Next install mono. Opkg will install several dependecies from the 18.104.22.168 version and download them from Openmoko. Let him do and after opkg is finished, execute opkg list_installed | grep mono. Then simply update every single package to version 1.9.1 until all installed mono packages are from version 1.9.1. At the end, you have to update libnunit.
After all you should get this on the terminal on your phone:
I added also an updated sqlite version to the package, because with the installed version, mono has a problem to find an entry point in the native lib.
Download for unstable/testing Branch Users:
My next steps are to get gtk-sharp and NDesk.DBus to work and to get my changes for the bitbake recipts into the Openmoko/OpenEmbedded branch.
Have fun and stay tuned