Hi List,

Is there anyone who has experience with enlightenment and ruby?

I would like to use ruby for a project that uses e17 libs for the gui.
I found Tilman Sauerbeck's ruby-efl bindings and redact at
code-monkey.de, but the download link for redact is dead and I have
been unable to compile some of the ruby-efl-bindings - they are from
2007 and I think they have come 'out of sync' by now. If anyone here
is able to give some advice, the details are below.

So -- if any of you has a dusty, old copy of redact lying around, I'd
be grateful if I could have a copy of it. Also, any advice for getting
the ruby-efl bindings to work would be greatly appreciated!

cheers,
Siemen

Ruby-efl details:

I tried to compile the ruby-efl bindings against my current
efl-checkout (39893 from  http://svn.enlightenment.org/svn/e/trunk/.

Ruby-edje and ruby-evas build fine. Ruby-ecore fails to compile
because some symbols in the header files cannot be resolved. I have
grep'ed in the e17 include dir (/opt/e17/include in my case) and they
are indeed not there. However, similar looking symbols exist. It looks
like they have been renamed / refactored.

Ruby-esmart does not build either for two reasons. First, the rakefile
somehow does not pass the -cflags and -libs that it got from
pkg-config to cc. I got around that by compiling manually. Secondly,
the referred include file 'Esmart/Esmart_File_Dialog.h' does not
exist.


Build errors for ruby-ecore:

$ rake1.8
cc -fno-strict-aliasing -g -g -O2 -fPIC -I/opt/e17/include
-I/opt/e17/include/eina-0 -I/opt/e17/include/eina-0/eina
-D_FILE_OFFSET_BITS=64 -I/usr/lib/ruby/1.8/i486-linux
-I/usr/local/lib/site_ruby/1.8/i486-linux -c -o
src/ecore_x/rb_ecore_x.o src/ecore_x/rb_ecore_x.c
src/ecore_x/rb_ecore_x.c: In function 聊_ev_key_down_init
src/ecore_x/rb_ecore_x.c:51: error: 力core_X_Event_Key_Downundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:51: error: (Each undeclared identifier is
reported only once
src/ecore_x/rb_ecore_x.c:51: error: for each function it appears in.)
src/ecore_x/rb_ecore_x.c:51: error: 疗undeclared (first use in this function)
src/ecore_x/rb_ecore_x.c: In function 聊_ev_mouse_button_down_init
src/ecore_x/rb_ecore_x.c:79: error: 力core_X_Event_Mouse_Button_Downundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:79: error: 疗undeclared (first use in this function)
src/ecore_x/rb_ecore_x.c: In function 聊_ev_mouse_button_up_init
src/ecore_x/rb_ecore_x.c:113: error: 力core_X_Event_Mouse_Button_Upundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:113: error: 疗undeclared (first use in this function)
src/ecore_x/rb_ecore_x.c: In function 聊_ev_mouse_move_init
src/ecore_x/rb_ecore_x.c:141: error: 力core_X_Event_Mouse_Moveundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:141: error: 疗undeclared (first use in this function)
src/ecore_x/rb_ecore_x.c: In function 联nit_ecore_x
src/ecore_x/rb_ecore_x.c:460: error: 力CORE_X_MODIFIER_SHIFTundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:461: error: 力CORE_X_MODIFIER_CTRLundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:462: error: 力CORE_X_MODIFIER_ALTundeclared
(first use in this function)
src/ecore_x/rb_ecore_x.c:463: error: 力CORE_X_MODIFIER_WINundeclared
(first use in this function)
src/ecore_x/rb_ecore_x.c:466: error: 力CORE_X_EVENT_KEY_DOWNundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:470: error: 力CORE_X_EVENT_KEY_UPundeclared
(first use in this function)
src/ecore_x/rb_ecore_x.c:474: error: 力CORE_X_EVENT_MOUSE_BUTTON_DOWNundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:479: error: 力CORE_X_EVENT_MOUSE_BUTTON_UPundeclared (first use in this function)
src/ecore_x/rb_ecore_x.c:484: error: 力CORE_X_EVENT_MOUSE_MOVEundeclared (first use in this function)
rake aborted!
Command failed with status (1): [cc -fno-strict-aliasing -g -g -O2 -fPIC -I...]

(See full trace by running task with --trace)


===============

Errors for Esmart:

$ cc -fno-strict-aliasing -g -g -O2 -fPIC -D_FILE_OFFSET_BITS=64
-I/usr/lib/ruby/1.8/i486-linux
-I/usr/local/lib/site_ruby/1.8/i486-linux -c -I/opt/e17/include
-I/opt/e17/include/eina-0 -I/opt/e17/include/eina-0/eina
-I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng12  -L/opt/e17/lib -lesmart_container
-lesmart_draggies -lesmart_trans_x11 -lecore_evas -lImlib2 -lepsilon
-ledje -lcairo -lecore_x -lembryo -lecore_job -leet -lssl -lcrypto
-lecore_input -levas -lecore -leina -o
src/esmart_file_dialog/rb_esmart_file_dialog.o
src/esmart_file_dialog/rb_esmart_file_dialog.c
src/esmart_file_dialog/rb_esmart_file_dialog.c:21:39: error:
Esmart/Esmart_File_Dialog.h: No such file or directory
In file included from src/esmart_file_dialog/rb_esmart_file_dialog.c:22:
/usr/local/lib/site_ruby/1.8/i486-linux/evas/rb_evas.h:23: error:
expected specifier-qualifier-list before 力vas/usr/local/lib/site_ruby/1.8/i486-linux/evas/rb_evas.h:28: error:
expected declaration specifiers or ..before 力vasIn file included from src/esmart_file_dialog/rb_esmart_file_dialog.c:23:
/usr/local/lib/site_ruby/1.8/i486-linux/evas/rb_evas_object.h:27:
error: expected specifier-qualifier-list before 力vas_Object/usr/local/lib/site_ruby/1.8/i486-linux/evas/rb_evas_object.h:35:
error: expected before token
src/esmart_file_dialog/rb_esmart_file_dialog.c:33: error: expected
declaration specifiers or ..before 力vas_Objectsrc/esmart_file_dialog/rb_esmart_file_dialog.c:34: error: expected
declaration specifiers or ..before 力smart_File_Dialog_Opsrc/esmart_file_dialog/rb_esmart_file_dialog.c: In function 聊_init
src/esmart_file_dialog/rb_esmart_file_dialog.c:74: error:
脸bEvasObjecthas no member named 劣ealsrc/esmart_file_dialog/rb_esmart_file_dialog.c:74: error: 脸bEvashas
no member named 劣ealsrc/esmart_file_dialog/rb_esmart_file_dialog.c:77: error:
脸bEvasObjecthas no member named 劣ealsrc/esmart_file_dialog/rb_esmart_file_dialog.c:85: error:
脸bEvasObjecthas no member named 劣ealsrc/esmart_file_dialog/rb_esmart_file_dialog.c: At top level:
src/esmart_file_dialog/rb_esmart_file_dialog.c:91: error: expected
declaration specifiers or ..before 力vas_Objectsrc/esmart_file_dialog/rb_esmart_file_dialog.c:92: error: expected
declaration specifiers or ..before 力smart_File_Dialog_Opsrc/esmart_file_dialog/rb_esmart_file_dialog.c: In function 列n_action
src/esmart_file_dialog/rb_esmart_file_dialog.c:96: error: 列pundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:96: error: (Each
undeclared identifier is reported only once
src/esmart_file_dialog/rb_esmart_file_dialog.c:96: error: for each
function it appears in.)
src/esmart_file_dialog/rb_esmart_file_dialog.c:97: error:
力SMART_FILE_DIALOG_NEWundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:100: error:
力SMART_FILE_DIALOG_RENAMEundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:103: error:
力SMART_FILE_DIALOG_DELETEundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:106: error:
力SMART_FILE_DIALOG_OKundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:109: error:
力SMART_FILE_DIALOG_CANCELundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:112: error:
力SMART_FILE_DIALOG_DIR_CHANGEDundeclared (first use in this
function)
src/esmart_file_dialog/rb_esmart_file_dialog.c: In function 聊_edje_get
src/esmart_file_dialog/rb_esmart_file_dialog.c:124: error:
力vas_Objectundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:124: error: 疗undeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:131: error:
脸bEvasObjecthas no member named 劣ealsrc/esmart_file_dialog/rb_esmart_file_dialog.c:133: error: too many
arguments to function 恋O_EVASsrc/esmart_file_dialog/rb_esmart_file_dialog.c: In function 聊_selections_get
src/esmart_file_dialog/rb_esmart_file_dialog.c:141: error: 力vas_Listundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:141: error: 镣istundeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:141: error: 镣undeclared (first use in this function)
src/esmart_file_dialog/rb_esmart_file_dialog.c:148: error:
脸bEvasObjecthas no member named 劣ealsrc/esmart_file_dialog/rb_esmart_file_dialog.c: In function
聊_current_directory_get
src/esmart_file_dialog/rb_esmart_file_dialog.c:164: error:
脸bEvasObjecthas no member named 劣ealsrc/esmart_file_dialog/rb_esmart_file_dialog.c:164: warning:
assignment makes pointer from integer without a cast