[FSF India] build instructions - gnuyahoo

M.P.Anand Babu fsf-india@gnu.org.in
Fri, 24 Aug 2001 15:58:29 +0530 (IST)


Hi Parag
I have enabled moderator rights for you. Again its all yours.
Do anything you want. I need some more help from you.
Basically product engineering.
GNUYahoo is extensible thru Scheme language with gnuyahoo
bindings. We need to make some standards before we make
this extension language available to the community. I will
explain them in a separate mail.

Parag Mehta writes:
 > Hi AB,
 > can u send me the build instructions. i hv the required lib with
 > me.  also letme know the following :

libyahoo:
---------
After compiling libyahoo, I manually copy the following files
manually.
libyahoo.a -> /usr/lib/libyahoo.a
libyahoo.h -> /usr/include/libyahoo.h
libyahoo-proto.h -> /usr/include/libyahoo-proto.h
This is something the libyahoo team should address. They
should have "make install" support

libreadline4, libreadline4-dev, libguile6, libguile6-dev
--------------------------------------------------------
This installation should be straight forward. I do
apt-get install <package-name>. May be you will
do rpm -ivh <package-name>

finally
gnuyahoo
--------
As it complies with gnu source code packaging standards
all you need to do is
./configure --prefix=<prefix-dir>
make
make install

Advanced!@%
-----------
When you run gnuyahoo for first time, it will create
.gnuyahoo directory in ur home. like [~/.gnuyahoo]
It will also touch ~/.gnuyahoo/gnuyahoo.scm.
~/.gnuyahoo/gnuyahoo.scm is your startup
file. Its optional. But ur extremely powerful.
Here is my ~/.gnuyahoo/gnuyahoo.scm file
==================================================
;; [login section starts]
;; assume current userid as yahoo-id
;; (gy-set-login-id! (array-ref (getpwuid (getuid)) 0))
;; (gy-set-login-id! "abindian")
(gy-set-login-id! 'gnu_india)
;; [login section ends]

;; [password section starts]
;; set password
(gy-set-password! "press-enter")
;; [password section ends]

;; history feature
(define log-message (lambda (from msg)
		      (define history-file (open-file (string-append (gy-get-config-dir) "/history/" from) "a"))
		      (define log (string-append "[" from "] " msg "\n"))
		      (display log history-file)
		      (close-output-port history-file)))

(add-hook! gy-msg-receive-hook log-message)
(add-hook! gy-msg-send-hook log-message)

;; alias support
;; (set! gy-aliases (assoc-set! gy-aliases 'nags '(nagappanal gnu_india)))
;; (set! gy-aliases (assoc-set! gy-aliases 'bala '(balugi gnu_india)))

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

I have programmed my gnuyahoo to have history feature.
This was done by hooking the history procedure to gy-msg-receive-hook
and gy-msg-send-hook.


CC-Loadable Module
------------------
You can CC yahoo messages on the fly to ur friends thru
this GNUYahoo loadable CC module. This module is
really simple. You can use ?load to load and unload the module
======================================================
(if (defined? 'cc-buddy)
     ()
    (define cc-buddy (lambda (to msg)
		       (and (string=? to "balugi")
			    (gy-send-message-no-hook "nagappanal" (string-append "[To:bala, CC:] " msg)))
		       (and (string=? to "nagappanal")
			    (gy-send-message-no-hook "balugi" (string-append "[To:nags, CC:] " msg)))
		       (and (string=? to "gnu_india")
			    (gy-send-message-no-hook "gnu_india" (string-append "[To:bala, CC:] " msg))))))


(define unhooked 0)
(for-each (lambda (hook-proc)
	    (and (equal? hook-proc cc-buddy) 
		 (begin
		   (display "Unhooking ...")
		   (remove-hook! gy-msg-send-hook cc-buddy)
		   (display "done")
		   (newline)
		   (set! unhooked 1))))
	  (hook->list gy-msg-send-hook))

(and (= unhooked 0)
     (begin
       (display "Hooking ...")
       (add-hook! gy-msg-send-hook cc-buddy)
       (display "done")
       (newline)))

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


 package and libguile
 > i hv generated a tar ball named gnuyahoo-0.1.tar.gz and uploaded it
 > on sf.net not yet released.  how abt we releasing this and then
 > onwards to 1.0 which when released moves to savannah ??
Yes thats sounds workable. We will proceed that way.

 > awaiting release details. also if u can grant me premission to
 > start a ml on sf.net by setting permission to me as a moderator .
done

 > we can than hv this kind of stuff on that ml so can hv all
 > virews/tips/flames etc. thre. here i feel it only happens with u &
 > me.  :)
:))
We already have two mailing lists FSF-India and GNU-India to flood ;)

Ok I dumped enough on this  mail to confuse all of us. Scheme extensions
might look little complex to beginners, but they are extremely simple.
We have to write extensive documentation to cover them all.
Using this extension language you can do anything you want.

Best Regards
ab
-- 
Addicted to GNU Emacs
Inspired by GNU (www.gnu.org)