GTK for the iPhone? Sure thing :-)
So we decided to take it to the next level... GTK native? Sure!
You just know that GIMP is coming next :)))
Well seems that it is kinda sorta possible:
So now the nitty gritty!
imac /gtk+-2.10.14/ ls -ltra /usr/local/arm-apple-darwin/lib/ | tail -15
lrwxr-xr-x 1 root wheel 30 Jan 4 19:52 libgdk-x11-2.0.dylib -> libgdk-x11-2.0.0.1000.14.dylib
lrwxr-xr-x 1 root wheel 30 Jan 4 19:52 libgdk-x11-2.0.0.dylib -> libgdk-x11-2.0.0.1000.14.dylib
-rwxr-xr-x 1 root wheel 829068 Jan 4 19:52 libgdk-x11-2.0.0.1000.14.dylib
drwxr-xr-x 4 root wheel 136 Jan 4 19:52 gtk-2.0
-rw-r--r-- 1 root wheel 866 Jan 4 19:53 libgdk-x11-2.0.la
lrwxr-xr-x 1 root wheel 30 Jan 4 19:53 libgtk-x11-2.0.dylib -> libgtk-x11-2.0.0.1000.14.dylib
lrwxr-xr-x 1 root wheel 30 Jan 4 19:53 libgtk-x11-2.0.0.dylib -> libgtk-x11-2.0.0.1000.14.dylib
-rwxr-xr-x 1 root wheel 5399012 Jan 4 19:53 libgtk-x11-2.0.0.1000.14.dylib
-rw-r--r-- 1 root wheel 866 Jan 4 19:53 libgtk-x11-2.0.la
-rwxr-xr-x 1 root wheel 1697 Jan 4 19:53 libgdk_pixbuf_xlib-2.0.la
lrwxr-xr-x 1 root wheel 38 Jan 4 19:53 libgdk_pixbuf_xlib-2.0.dylib -> libgdk_pixbuf_xlib-2.0.0.1000.14.dylib
lrwxr-xr-x 1 root wheel 38 Jan 4 19:53 libgdk_pixbuf_xlib-2.0.0.dylib -> libgdk_pixbuf_xlib-2.0.0.1000.14.dylib
-rwxr-xr-x 1 root wheel 94872 Jan 4 19:53 libgdk_pixbuf_xlib-2.0.0.1000.14.dylib
imac /gtk+-2.10.14/ file /usr/local/arm-apple-darwin/bin/gtk-demo
/usr/local/arm-apple-darwin/bin/gtk-demo: Mach-O executable acorn
We needed "some" fonts:
imac /gtk+-2.10.14/ scp -r /usr/X11R6/lib/X11/fonts/75dpi root@iphone:/usr/X11R6/lib/X11/fonts/
and:
imac /~/ scp -r /usr/local/arm-apple-darwin//lib/pango/ root@iphone:/usr/local/arm-apple-darwin/lib/
pango-basic-x.a 100% 81KB 80.8KB/s 00:00
# ./pango-querymodules > /usr/local/arm-apple-darwin//etc/pango/pango.modules
and then:
# /var/root/gtk-query-immodules-2.0 > /usr/local/arm-apple-darwin//etc/gtk-2.0/gdk-pixbuf.loaders
And then! RESULT!
Easy as pie :)
Well distribution of this will take a while... check out this native OTOOL for GTK:
# uname -m
iPhone1,1
# file bin/gtk-demo
bin/gtk-demo: Mach-O executable acorn
# /var/root/otool -L bin/gtk-demo
bin/gtk-demo:
/usr/local/arm-apple-darwin//lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 1001.0.0, current version 1001.14.0)
/usr/local/arm-apple-darwin//lib/libgdk-x11-2.0.0.dylib (compatibility version 1001.0.0, current version 1001.14.0)
/usr/local/arm-apple-darwin//lib/libgtk-x11-2.0.0.dylib (compatibility version 1001.0.0, current version 1001.14.0)
/usr/local/arm-apple-darwin//lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)
/usr/local/arm-apple-darwin//lib/libpangocairo-1.0.0.dylib (compatibility version 1901.0.0, current version 1901.0.0)
/usr/local/arm-apple-darwin//lib/libpangoft2-1.0.0.dylib (compatibility version 1901.0.0, current version 1901.0.0)
/usr/local/arm-apple-darwin//lib/libpango-1.0.0.dylib (compatibility version 1901.0.0, current version 1901.0.0)
/usr/local/arm-apple-darwin//lib/libatk-1.0.0.dylib (compatibility version 902.0.0, current version 902.0.0)
/usr/local/arm-apple-darwin/lib/libgobject-2.0.0.dylib (compatibility version 1401.0.0, current version 1401.0.0)
/usr/local/arm-apple-darwin/lib/libgmodule-2.0.0.dylib (compatibility version 1401.0.0, current version 1401.0.0)
/usr/local/arm-apple-darwin/lib/libglib-2.0.0.dylib (compatibility version 1401.0.0, current version 1401.0.0)
/usr/local/arm-apple-darwin/lib/libintl.8.dylib (compatibility version 9.0.0, current version 9.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 94.0.0)
/usr/local/arm-apple-darwin//lib/libcairo.2.dylib (compatibility version 12.0.0, current version 12.3.0)
/usr/local/arm-apple-darwin//lib/libfontconfig.1.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/local/arm-apple-darwin//lib/libfreetype.6.dylib (compatibility version 10.0.0, current version 10.16.0)
/usr/local/arm-apple-darwin/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.2.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/local/arm-apple-darwin//lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/local/arm-apple-darwin/lib/libX11.6.dylib (compatibility version 9.0.0, current version 9.0.0)
/usr/local/arm-apple-darwin//lib/libXdmcp.6.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/arm-apple-darwin/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
Well so let's try and copy them [all native on the iphone of course :)]:
# tcsh
# foreach h (`/var/root/otool -L bin/gtk-demo | awk '{print $1}'`)
foreach? cp $h ./lib/
foreach? end
cp: cannot stat `bin/gtk-demo:': No such file or directory
#
now to remove the apple specials from there:
# rm libSystem.B.dylib libgcc_s.1.dylib libz.1.dylib
ok so the tar file above should be good to go - it also has some significant
hand compiled goodies in there:
# tar zcvf gtk.0.1.tgz gtk
gtk/
gtk/bin/
gtk/bin/gtk-demo
gtk/bin/gtk-query-immodules-2.0
gtk/bin/gtk-update-icon-cache
gtk/lib/
gtk/lib/libX11.6.dylib
gtk/lib/libXdmcp.6.dylib
gtk/lib/libXext.6.dylib
gtk/lib/libXrender.1.dylib
gtk/lib/libatk-1.0.0.dylib
gtk/lib/libcairo.2.dylib
gtk/lib/libexpat.1.dylib
gtk/lib/libfontconfig.1.dylib
gtk/lib/libfreetype.6.dylib
gtk/lib/libgdk-x11-2.0.0.dylib
gtk/lib/libgdk_pixbuf-2.0.0.dylib
gtk/lib/libglib-2.0.0.dylib
gtk/lib/libgmodule-2.0.0.dylib
gtk/lib/libgobject-2.0.0.dylib
gtk/lib/libgthread-2.0.0.1400.0.dylib
gtk/lib/libgthread-2.0.0.dylib
gtk/lib/libgthread-2.0.dylib
gtk/lib/libgtk-x11-2.0.0.1000.14.dylib
gtk/lib/libgtk-x11-2.0.0.dylib
gtk/lib/libgtk-x11-2.0.dylib
gtk/lib/libiconv.2.dylib
gtk/lib/libintl.8.dylib
gtk/lib/libpango-1.0.0.dylib
gtk/lib/libpangocairo-1.0.0.dylib
gtk/lib/libpangoft2-1.0.0.dylib
PARTY TIME!