This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Hello! This is the announcement of a port of STklos for Guile, available at ftp.red-bean.com in pub/guile/contrib Copy from the README file: This is a hack to port STklos to Guile. All widgets and methods have not been ported, but it is sufficient to obtain something usable. It is build entirely on Scheme, contrary to what seems planned by Erick Gallesio (low support from Guile for objects). So performance is poor, but this is largely compensated for by the use of Hobbit. Included is also an autoloader, and a port of tiny-clos-1.7 to guile. What you need: ============= 1) A recent snapshot of Guile. Tests were made with snapshot from 10 October 1997, but even guile-1.2 should work. 2) Tcl7.5 and Tk4.1 installed. Other versions may work, but I have only experience with these. 3) A recent snapshot of guile-tcltk installed. Tests were made with snapshot from 10 October 1997. 4) guile-hobbit-1.1 (from the contrib directory in ftp.red-bean.com) installed with the following patch applied to guilehob.h: *** /usr/local/include/guile/guilehob.h Wed Jan 14 22:13:33 1998 --- /usr/local/include/guile/guilehob.hERROR Mon Nov 10 22:12:11 1997 *************** *** 128,132 **** #define CHAR_UPCASE(chr) SCM_MAKICHR(scm_upcase(SCM_ICHR(chr))) #define CHAR_DOWNCASE(chr) SCM_MAKICHR(scm_downcase(SCM_ICHR(chr))) ! #define procedurep scm_procedure_p #define VECTOR_P(x) (!(SCM_IMP(x)) && SCM_VECTORP(x)) #define reverse scm_reverse --- 128,132 ---- #define CHAR_UPCASE(chr) SCM_MAKICHR(scm_upcase(SCM_ICHR(chr))) #define CHAR_DOWNCASE(chr) SCM_MAKICHR(scm_downcase(SCM_ICHR(chr))) ! #define procedurep(x) (scm_procedure_p(x) == SCM_BOOL_T) #define VECTOR_P(x) (!(SCM_IMP(x)) && SCM_VECTORP(x)) #define reverse scm_reverse Steps to install and run: ======================== 1) Go to $(pkgdatadir) (the parent of 1.2/ice-9 or 1.3a/ice-9) and unpack the file guile-stklos.tgz 2) cd site; make all This will compile a couple of Scheme files to *.so shared objects. If you do not have dynamic loading capabilities, *.o files can always be generated, but you must rebuild a guile-tcltk interpreter with linking in these *.o files. See the guile-hobbit README for details. 3) Now, from any directory, run guile-tcltk and then eval: (load-from-path "stklos-3.0b2/test") A lot of debugging output is now generated, it is normal. The test will exercise the following widgets: Frame, Scroll-listbox, Button, Menu-button, Text and dialog. Comments to Bernard.Urban@meteo.fr B. Urban