From: Vagif Verdi
Subject: UCW on windows
Date: 
Message-ID: <1138089067.393532.234980@g49g2000cwa.googlegroups.com>
Hello.
I'm trying to learn lisp on windows.
I downloaded lispbox and reading Practical Lisp.
So far so good. Emacs+SLIME works good and I like it.
But when I tried to find out how to install and run UCW I stuck.
Too many web sites to go. Too many packages to download.
I did install darcs and pulled ucw and all it's dependenies.
But then I do not know how to use asdf to bring all this together.

Is there any tutorial on how to install and run UCW on windows ?

From: Alberto Santini
Subject: Re: UCW on windows
Date: 
Message-ID: <1138115443.603230.31410@z14g2000cwz.googlegroups.com>
In the latest release of UCW there are two documents (QUICKSTART,
QUICKSTART_DEV),
trying to explain how to configure and to build up a simple app.

http://www.uncommon-web.com/darcsweb/darcsweb.cgi?r=ucw_dev;a=tree;f=/docs

Regards,
Alberto Santini
From: Vagif Verdi
Subject: Re: UCW on windows
Date: 
Message-ID: <1138246189.465060.42980@z14g2000cwz.googlegroups.com>
I was able to instal asdf. I downloaded all ucw dependencies.
I run emacs+slime.
ASDF is loaded on startup and can see and load all libraries including
ucw.
In emacs repl I tried
  (asdf:operate 'asdf:load-op 'ucw)
It loads fine, shows lot's of messages but no errors.
Now what ? browsing localhost:8080 gives nothing.

I also tried
  (load "c:/lisp/lib/ucw_dev/start.lisp")

Same thing. Loads ok, gives lot's of messages and nothing, no site on
localhost:8080
From: Vagif Verdi
Subject: Re: UCW on windows
Date: 
Message-ID: <1138253054.883842.98620@g44g2000cwa.googlegroups.com>
Here's the follow up.

It looks like ucw hangs when trying to start.
Here's last messages:

;;  Loaded file C:\lisp\lib\puri-1.3.1.3\puri.asd
;;  Loading file C:\lisp\lib\puri-1.3.1.3\src.fas ...
;;  Loaded file C:\lisp\lib\puri-1.3.1.3\src.fas
;;  Loading file C:\lisp\lib\ucw_dev\src\backend\shared.fas ...
;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\shared.fas
;;  Loading file C:\lisp\lib\ucw_dev\src\backend\httpd.fas ...
;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\httpd.fas
;;  Loading file C:\lisp\lib\ucw_dev\src\backend\multithread-httpd.fas
...
;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\multithread-httpd.fas
0 errors, 0 warnings
2006-01-25T20:26.57 +INFO+ IT.BESE.UCW::UCW-LOGGER: Starting up
standard server
#<STANDARD-SERVER HTTPD-BACKEND 2 #x1A3483F5>.
----------------------------------------------------------------------------------------

That's it. Looks like it did not start properly.
So i'm missing somethig.

I tried use portableaserve and araneida.
But in both cases they gave some other errors about some stuff
undefined.

Looks like UCW and web development in general not ready for windows
yet.
That puzzles me.
If lisp community want publicity, success and wide adoption, windows
platform must be first priority.
From: Fred Gilham
Subject: Re: UCW on windows
Date: 
Message-ID: <u7slrbnhzw.fsf@snapdragon.csl.sri.com>
"Vagif Verdi" <···········@gmail.com> writes:
>
> That puzzles me.
> If lisp community want publicity, success and wide adoption, windows
> platform must be first priority.
> 

First of all, my lisp runs on a windows platform just fine.

Oh---you mean MICORSOFT windows.  (Interested parties can google the
misspelled version and click on the first link.  Hilarious.)

Well, you're certainly right about the publicity part.  I woke up on
New Years day and what did I see when I looked at the my first web
page of the new year?  A new, serious Micorsoft security flaw.  Now
THAT'S publicity!  THAT'S the way to start off a new year!  THAT'S the
way to make your users feel happy.

No, that would be absurd.  I must take you seriously and assume that
you meant windows, not Micorsoft windows.

My suggestion is to install FreeBSD and the latest Xorg release.  You
will get a nice windowing system that runs Lisp well.  If you miss all
the desktop environment stuff then there are at least two options: KDE
and Gnome.  I never touch the stuff myself---it's TWM for me.

-- 
Fred Gilham                                         ······@csl.sri.com
The opponents of income taxation in 1912 said that we would see the
day when taxes would extract 25% of people's income. Such Cassandras
were ridiculed.                                        -- Gary North
From: André Thieme
Subject: Re: UCW on windows
Date: 
Message-ID: <1138293288.170947.307690@g44g2000cwa.googlegroups.com>
Vagif Verdi schrieb:

> Here's the follow up.
>
> It looks like ucw hangs when trying to start.
> Here's last messages:
>
> ;;  Loaded file C:\lisp\lib\puri-1.3.1.3\puri.asd
> ;;  Loading file C:\lisp\lib\puri-1.3.1.3\src.fas ...
> ;;  Loaded file C:\lisp\lib\puri-1.3.1.3\src.fas
> ;;  Loading file C:\lisp\lib\ucw_dev\src\backend\shared.fas ...
> ;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\shared.fas
> ;;  Loading file C:\lisp\lib\ucw_dev\src\backend\httpd.fas ...
> ;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\httpd.fas
> ;;  Loading file C:\lisp\lib\ucw_dev\src\backend\multithread-httpd.fas
> ...
> ;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\multithread-httpd.fas
> 0 errors, 0 warnings
> 2006-01-25T20:26.57 +INFO+ IT.BESE.UCW::UCW-LOGGER: Starting up
> standard server
> #<STANDARD-SERVER HTTPD-BACKEND 2 #x1A3483F5>.
> ----------------------------------------------------------------------------------------
>
> That's it. Looks like it did not start properly.
> So i'm missing somethig.
>
> I tried use portableaserve and araneida.
> But in both cases they gave some other errors about some stuff
> undefined.
>
> Looks like UCW and web development in general not ready for windows
> yet.
> That puzzles me.
> If lisp community want publicity, success and wide adoption, windows
> platform must be first priority.

I never tried UCW or Araneida myself, but I am using portable
AllegroServe which works fine under Windows. One reason why you did not
have success with using any of these libs: perhaps they need threading
support which is not given under Lispbox (clisp) as far as I understand
it.
You have been very patient and tried a lot. If you still don't want to
give up then I suggest you to download the free personal edition of
Lispworks and try to get UCW, paserve or Araneida running on that
(Lispworks does have thread support).
For portable AllegroServe I would suggest you to download the CVS
version. For me it is very easy to install. Basically I just need to
download the files into a directory, say C:/lisp/ (with a program like
WinCVS) and start Lispworks. From there I type
(load "C:/lisp/portableaserve/INSTALL") and wait a few seconds. The
first time it takes a while because it begins to compile everything.
But after that you could go through the tutorials, etc. And next time
loading it (same command) is faster.


André
--
From: Vagif Verdi
Subject: Re: UCW on windows
Date: 
Message-ID: <1138315866.272118.126140@g44g2000cwa.googlegroups.com>
Thank you for your reply.
You are right about threads.
It was complaining about threads when trying to run swank.

I also tried another framework - webactions that comes with portable
aserve.
I had more luck with it, but it also has it's quirks.

I'll try lispworks.
I initially hesitate "trial" versions of lisp, because i'm afraid
they'll get in the way during development (time constraints or number
of loaded modules etc.)

BTW is there any significant drawback in lispworks personal edition
comparing to free lisp implementations ?
From: André Thieme
Subject: Re: UCW on windows
Date: 
Message-ID: <1138316906.970618.193060@f14g2000cwb.googlegroups.com>
Vagif Verdi schrieb:

> Thank you for your reply.
> You are right about threads.
> It was complaining about threads when trying to run swank.
>
> I also tried another framework - webactions that comes with portable
> aserve.
> I had more luck with it, but it also has it's quirks.

WebActions are a really cool thing.
In theory you, as the programmer, never need to write a single line of
html. A webdesigner can change the page without informing you and
without needing your help. When he wants to do changes no programmers
are needed who should update their lisp code to spew out different html
tags.
It also implements the model-view-controler pattern. Neat ;-)


>
> I'll try lispworks.
> I initially hesitate "trial" versions of lisp, because i'm afraid
> they'll get in the way during development (time constraints or number
> of loaded modules etc.)

I think in your current position as a lisp student it is more important
that you have success with the things you try. Downloading Lispworks
only takes you a couple of minutes, and if it works for you then you
can continue learning.
Later in the process, when you already know more about Lisp it will be
a bit easier to get libs running. So I suggest you first take the
simple road which could be the trial version of a commercial Lisp.
Perhaps Corman Lisp also works. The IDE is not free, but when you like
emacs+slime you can use the compiler free for non-commercial projects.
[ http://www.cormanlisp.com/ ]


> BTW is there any significant drawback in lispworks personal edition comparing to free lisp
> implementations?

Depends on your needs. For me there were no drawbacks. Compared with
CLisp it might produce faster (natively compiled) code but it has
memory restrictions and you can't produce .exe files.
From: Pascal Bourguignon
Subject: Re: UCW on windows
Date: 
Message-ID: <873bjbyu1y.fsf@thalassa.informatimago.com>
"Vagif Verdi" <···········@gmail.com> writes:
> If lisp community want publicity, success and wide adoption, windows
> platform must be first priority.

Bouhahahaha!  :-)

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
You never feed me.
Perhaps I'll sleep on your face.
That will sure show you.
From: Pascal Bourguignon
Subject: Re: UCW on windows
Date: 
Message-ID: <871wyvx6xh.fsf@thalassa.informatimago.com>
"Vagif Verdi" <···········@gmail.com> writes:

> Here's the follow up.
>
> It looks like ucw hangs when trying to start.
> Here's last messages:
>
> ;;  Loaded file C:\lisp\lib\puri-1.3.1.3\puri.asd
> ;;  Loading file C:\lisp\lib\puri-1.3.1.3\src.fas ...
> ;;  Loaded file C:\lisp\lib\puri-1.3.1.3\src.fas
> ;;  Loading file C:\lisp\lib\ucw_dev\src\backend\shared.fas ...
> ;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\shared.fas
> ;;  Loading file C:\lisp\lib\ucw_dev\src\backend\httpd.fas ...
> ;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\httpd.fas
> ;;  Loading file C:\lisp\lib\ucw_dev\src\backend\multithread-httpd.fas
> ...
> ;;  Loaded file C:\lisp\lib\ucw_dev\src\backend\multithread-httpd.fas

clisp has no threads yet.  But you can still use it with UCW.  Here is
the function I use to start the UCW server (not with araneida, with
UCW behind Apache with mod_lisp):

(defun server ()
  (unwind-protect (ucw:startup-server ucw:*default-server*)
    (ucw:shutdown-server ucw:*default-server*)))

Then, when I want to modify the running UCW, I just interrupt it with
C-c, enter the lisp forms in the debugger, and continue to go on with
the new version.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
You're always typing.
Well, let's see you ignore my
sitting on your hands.
From: Kenny Tilton
Subject: Re: UCW on windows
Date: 
Message-ID: <kblBf.3826$yE4.3075@news-wrt-01.rdc-nyc.rr.com>
Vagif Verdi wrote:
> Hello.
> I'm trying to learn lisp on windows.
> I downloaded lispbox and reading Practical Lisp.
> So far so good. Emacs+SLIME works good and I like it.
> But when I tried to find out how to install and run UCW I stuck.
> Too many web sites to go. Too many packages to download.
> I did install darcs and pulled ucw and all it's dependenies.
> But then I do not know how to use asdf to bring all this together.
> 
> Is there any tutorial on how to install and run UCW on windows ?
> 


Hmmm. Just try building packages one by one to get the hang of ASDF.

Basically you need to push the path to a package onto a global list:

  (push (make-pathname
         :directory '(:absolute "0dev" "cells-gtk" "utils-kt"))
   asdf:*central-registry*)

or:

  (push "\\0dev\\cells-gtk\\utils-kt" asdf:*central-registry*)

The directory you want is the one containing the .ASD file for the package.

Then you: (asdf:oos 'asdf:load-op :utils-kt)

If you can get one dependency to build (one without other dependencies) 
then you are probably good to go. But...

Once you get all the paths onto the ASDF registry, you should then be 
able to kick off just the UCW build and ASDF will find the dependencies 
as it goes.

kenny
From: Edi Weitz
Subject: Re: UCW on windows
Date: 
Message-ID: <ubqy26m1p.fsf@agharta.de>
On Tue, 24 Jan 2006 08:03:28 GMT, Kenny Tilton <·············@nyc.rr.com> wrote:

>   (push "\\0dev\\cells-gtk\\utils-kt" asdf:*central-registry*)

That one won't work.  You need slashes at the end:

    (push "\\0dev\\cells-gtk\\utils-kt\\" asdf:*central-registry*)

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Kenny Tilton
Subject: Re: UCW on windows
Date: 
Message-ID: <fmmBf.3827$yE4.2571@news-wrt-01.rdc-nyc.rr.com>
Edi Weitz wrote:
> On Tue, 24 Jan 2006 08:03:28 GMT, Kenny Tilton <·············@nyc.rr.com> wrote:
> 
> 
>>  (push "\\0dev\\cells-gtk\\utils-kt" asdf:*central-registry*)
> 
> 
> That one won't work.  You need slashes at the end:
> 
>     (push "\\0dev\\cells-gtk\\utils-kt\\" asdf:*central-registry*)
> 

Ah, that is how I always end up using make-pathanme. :)

thx, kenny
From: Pascal Bourguignon
Subject: Re: UCW on windows
Date: 
Message-ID: <87y81659m5.fsf@thalassa.informatimago.com>
"Vagif Verdi" <···········@gmail.com> writes:

> Hello.
> I'm trying to learn lisp on windows.
> I downloaded lispbox and reading Practical Lisp.
> So far so good. Emacs+SLIME works good and I like it.
> But when I tried to find out how to install and run UCW I stuck.
> Too many web sites to go. Too many packages to download.
> I did install darcs and pulled ucw and all it's dependenies.
> But then I do not know how to use asdf to bring all this together.
>
> Is there any tutorial on how to install and run UCW on windows ?

Here is the Makefile I use to install and compile the dependencies of
one of my project, including UCW.  Unfortunately, it's not the latest
UCW, but version 0.3.9.  Some updating would be needed for the latest
version I guess.


#*****************************************************************************
#FILE:               Makefile
#LANGUAGE:           makefile
#SYSTEM:             POSIX
#USER-INTERFACE:     NONE
#DESCRIPTION
#    
#    Makefile for the Bellerophon project.
#    
#AUTHORS
#    <PJB> Pascal Bourguignon <···@informatimago.com>
#MODIFICATIONS
#    2005-09-12 <PJB> Added VERSION to PROD_PREFIX. Updated clisp to 2.35
#    2005-05-20 <PJB> Updated.
#    2004-08-17 <PJB> Created.
#BUGS
#LEGAL
#    GPL
#    
#    Copyright Pascal Bourguignon 2004 - 2005
#    
#    This program is free software; you can redistribute it and/or
#    modify it under the terms of the GNU General Public License
#    as published by the Free Software Foundation; either version
#    2 of the License, or (at your option) any later version.
#    
#    This program is distributed in the hope that it will be
#    useful, but WITHOUT ANY WARRANTY; without even the implied
#    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
#    PURPOSE.  See the GNU General Public License for more details.
#    
#    You should have received a copy of the GNU General Public
#    License along with this program; if not, write to the Free
#    Software Foundation, Inc., 59 Temple Place, Suite 330,
#    Boston, MA 02111-1307 USA
#*****************************************************************************

UNAME       :=$(shell uname)
PREFIX      :=$(shell pwd)/install
BASE        :=$(shell pwd)

VERSION:=$(shell [ -r src/VERSION.INC ] && ( . src/VERSION.INC;echo $${major}.$${minor}-$$(echo '(format t "~,VF" (log (/ '$$step') 10) '$$compilation')'|clisp -norc -ansi -q /dev/stdin)-$${extension} ) || echo 1.0 )

PGMNAME     :=bellerophon
PROD_PREFIX :=/srv/www/$(PGMNAME)-$(VERSION)
COMPILE=nil

LISP_IMPLEMENTATION=clisp
#LISP_IMPLEMENTATION=sbcl

PACKAGES=$(PREFIX)/share/lisp/packages

CLISP_VERSION=2.35
# CLISP_VERSION=2.33.83-cvs-p1
TCLTK_VERSION=8.4.7
ZEBU_VERSION=3.5.5
PMSF_VERSION=
LTK_VERSION=0.8.5
#ITERATE_VERSION=1.3.pre1
#UCW_VERSION=0.3.7
ITERATE_VERSION=1.4
RFC2388_VERSION=0.9
PURI_VERSION=1.3.1.1
UCW_VERSION=0.3.9
SLIME_VERSION=1.2.1
ASDF_VERSION=CVS

CLISP_TAR      :=$(BASE)/tarballs/clisp-$(CLISP_VERSION).tar.bz2
TCL_TAR        :=$(BASE)/tarballs/tcl$(TCLTK_VERSION)-src.tar.bz2
TK_TAR         :=$(BASE)/tarballs/tk$(TCLTK_VERSION)-src.tar.bz2
ZEBU_TAR       :=$(BASE)/tarballs/zebu-$(ZEBU_VERSION).tar.bz2
LTK_TAR        :=$(BASE)/tarballs/ltk-$(LTK_VERSION).tar.bz2
ITERATE_TAR    :=$(BASE)/tarballs/iterate-$(ITERATE_VERSION).tar.bz2
RFC2388_TAR    :=$(BASE)/tarballs/rfc2388-$(RFC2388_VERSION).tar.bz2
PURI_TAR       :=$(BASE)/tarballs/puri-$(PURI_VERSION).tar.bz2
UCW_TAR        :=$(BASE)/tarballs/ucw-$(UCW_VERSION).tar.bz2
SLIME_TAR      :=$(BASE)/tarballs/slime-$(SLIME_VERSION).tar.bz2
SLIME_ASD_TAR  :=$(BASE)/tarballs/slime.tar.bz2
ASDF_TAR       :=$(BASE)/tarballs/asdf.tar.bz2
PMSF_TAR       :=$(BASE)/tarballs/pmsf.tar.bz2

CLISP=$(PREFIX)/bin/clisp
WISH=$(PREFIX)/bin/wish

CLISP_FLAGS= -ansi -q -norc -K full -E ISO-8859-1 -m 32M 

LISP_SOURCES=src/*.lisp

########################################################################

all: help
help:
	@echo "make tools          # compiles clisp and tcl/tk (wish)."
	@echo "make dev-tools      # compiles clisp with development options."
	@echo "make packages       # compiles lisp packages."
	@echo "make image          # compiles the $(PGMNAME)-$(VERSION) image."
	@echo "make install-image  # compiles the $(PGMNAME)-$(VERSION) image."
	@echo "make prod-all       # compiles and installs all for production."
	@echo "make prod-packages  # compiles and installs the packages for production."
	@echo "make prod-image     # compiles and installs the image for production."
	@echo "# Some shortcuts & development target:"
	@echo "make clean          # delete compiled lisp packages."
	@echo "make distclean      # delete packages, tools and ./install directory."

tools:     show-prefix clisp     # $(WISH) 
dev-tools: show-prefix dev-clisp # $(WISH) 
devtools:  dev-tools

compile-tools:     compile-clisp     # compile-tcltk
compile-dev-tools: compile-dev-clisp # compile-tcltk

clean:
	@echo Done.


distclean:clean-tools clean-dev-tools clean-packages clean-install
	@echo Done.


prod-all:
	$(MAKE) COMPILE=t PREFIX=$(PROD_PREFIX) install

prod-packages:
	$(MAKE) COMPILE=t PREFIX=$(PROD_PREFIX) packages

prod-image:
	$(MAKE) COMPILE=t PREFIX=$(PROD_PREFIX) install-image


install::tools packages install-image
install-image:show-prefix image
	sed -e 's:__PREFIX__:$(PREFIX):g' \
		    <src/$(PGMNAME) >$(PREFIX)/bin/$(PGMNAME)
	chmod 755 $(PREFIX)/bin/$(PGMNAME)
	install -m 644 $(PGMNAME).mem.gz $(PREFIX)/lib/

image $(PGMNAME).mem.gz: Makefile $(LISP_SOURCES)
	$(PREFIX)/bin/clisp $(CLISP_FLAGS) \
		-x '(DEFPACKAGE :com.informatimago.$(PGMNAME) (:USE "COMMON-LISP"))\
			(IN-PACKAGE :com.informatimago.$(PGMNAME))\
			(setf *load-verbose* nil *load-print* nil custom:*load-echo* nil)\
			(defparameter *compile* '$(COMPILE)')\
			(defparameter +configuration-file+ "$(PREFIX)/etc/$(PGMNAME).conf")\
			(load "src/loader.lisp")\
			(save-prod-config)\
			(SAVE-IMAGE)\
			(ext:quit)'

#install::
#    $(PREFIX)/etc/squirrelmail-defaults.pref
#    $(PREFIX)/etc/users.data
#    $(PREFIX)/etc/$(PGMNAME).conf

deve-users:
	for u in pjb test test1 test2 ; do echo "$${u}:1" ; done \
	| ( echo ';; -*- mode:lisp -*-';\
		echo '(';\
		awk -F: '{printf "(\"%s\" \"haestia\" :info-account :change-password :vacation%s)\n",$$1,($$1=="admin")?" :admin":"";}';\
		echo ')')\
	> etc/users.data

afaa-users:
	ssh janus-1 grep :4000: /etc/passwd \
	| ( echo ';; -*- mode:lisp -*-';\
		echo '(';\
		awk -F: '{printf "(\"%s\" \"haestia\" :info-account :change-password :vacation%s)\n",$$1,($$1=="admin")?" :admin":"";}';\
		echo ')')\
	|egrep -v 'template|fluctuat|nomedia'\
	> etc/users.data

# Note: for now $(PACKAGES) are inside install/
#       but we could move $(PACKAGES) out of install and leave
#       in install only the lisp image, without the package sources.

clean-install:
	rm -rf $(PREFIX)

# Common-Lisp packages:

clean-packages: clean-ucw clean-iterate clean-rfc2388 clean-slime clean-puri \
	clean-asdf clean-zebu clean-ltk clean-pmsf \
	clean-pjb-common-lisp clean-pjb-clisp clean-pjb-susv3

show-prefix:
	@echo PREFIX=$(PREFIX)

packages: show-prefix \
	$(PACKAGES)/de/pmsf \
	$(PACKAGES)/net/sourceforge/cclan/asdf \
	$(PACKAGES)/net/common-lisp/ucw \
	$(PACKAGES)/com/informatimago/common-lisp \
	$(PACKAGES)/com/informatimago/clisp


clean-ucw:
	@rm     -rf $(PACKAGES)/net/common-lisp/ucw-$(UCW_VERSION)
	@rm      -f $(PACKAGES)/net/common-lisp/ucw

$(PACKAGES)/net/common-lisp/ucw:$(UCW_TAR) \
		$(PACKAGES)/net/sourceforge/cclan/asdf \
		$(PACKAGES)/net/common-lisp/rfc2388 \
		$(PACKAGES)/net/common-lisp/puri \
		$(PACKAGES)/net/common-lisp/slime 
	@echo ';;;; Unarchiving ucw     sources...'
	@mkdir   -p $(PACKAGES)/net/common-lisp
	@rm     -rf $(PACKAGES)/net/common-lisp/ucw-$(UCW_VERSION)
	@tar     -C $(PACKAGES)/net/common-lisp -jxf $(UCW_TAR)
	@[ -r ucw-$(UCW_VERSION)-pjb1.patch ] \
    &&cat ucw-$(UCW_VERSION)-pjb1.patch \
	   | (cd $(PACKAGES)/net/common-lisp/ucw-$(UCW_VERSION) ; patch -p1)
	@ln -sf ucw-$(UCW_VERSION) $(PACKAGES)/net/common-lisp/ucw
	@touch      $(PACKAGES)/net/common-lisp/ucw-$(UCW_VERSION)


clean-iterate:
	@rm     -rf $(PACKAGES)/net/common-lisp/iterate-$(ITERATE_VERSION)
	@rm      -f $(PACKAGES)/net/common-lisp/iterate

$(PACKAGES)/net/common-lisp/iterate:$(ITERATE_TAR)
	@echo ';;;; Unarchiving iterate sources...'
	@mkdir   -p $(PACKAGES)/net/common-lisp
	@rm     -rf $(PACKAGES)/net/common-lisp/iterate-$(ITERATE_VERSION)
	@tar     -C $(PACKAGES)/net/common-lisp -jxf $(ITERATE_TAR)
	@ln -sf iterate-$(ITERATE_VERSION) $(PACKAGES)/net/common-lisp/iterate
	@touch      $(PACKAGES)/net/common-lisp/iterate-$(ITERATE_VERSION)


clean-rfc2388:
	@rm     -rf $(PACKAGES)/net/common-lisp/rfc2388

$(PACKAGES)/net/common-lisp/rfc2388:$(RFC2388_TAR) \
		$(PACKAGES)/net/common-lisp/iterate 
	@echo ';;;; Unarchiving rfc2388 sources...'
	@mkdir   -p $(PACKAGES)/net/common-lisp
	@rm     -rf $(PACKAGES)/net/common-lisp/rfc2388
	@tar     -C $(PACKAGES)/net/common-lisp -jxf $(RFC2388_TAR)
	@touch      $(PACKAGES)/net/common-lisp/rfc2388



clean-puri:
	@rm     -rf $(PACKAGES)/net/common-lisp/puri-$(PURI_VERSION)
	@rm      -f $(PACKAGES)/net/common-lisp/puri

$(PACKAGES)/net/common-lisp/puri:$(PURI_TAR)
	@echo ';;;; Unarchiving puri    sources...'
	@mkdir   -p $(PACKAGES)/net/common-lisp
	@rm     -rf $(PACKAGES)/net/common-lisp/puri-$(PURI_VERSION)
	@tar     -C $(PACKAGES)/net/common-lisp -jxf $(PURI_TAR)
	@ln -sf puri-$(PURI_VERSION) $(PACKAGES)/net/common-lisp/puri
	@touch      $(PACKAGES)/net/common-lisp/puri-$(PURI_VERSION)


clean-slime:
	@rm     -rf $(PACKAGES)/net/common-lisp/slime-$(SLIME_VERSION)
	@rm      -f $(PACKAGES)/net/common-lisp/slime


$(PACKAGES)/net/common-lisp/slime:$(SLIME_TAR)
	@echo ';;;; Unarchiving slime   sources...'
	@mkdir   -p $(PACKAGES)/net/common-lisp
	@rm     -rf $(PACKAGES)/net/common-lisp/slime-$(PURI_VERSION)
	@tar     -C $(PACKAGES)/net/common-lisp -jxf $(SLIME_TAR)
	@ln -sf slime-$(SLIME_VERSION) $(PACKAGES)/net/common-lisp/slime
	@tar     -C $(PACKAGES)/net/common-lisp \
			 -jxf $(SLIME_ASD_TAR) slime/swank.asd
	@if [ -r slime-$(SLIME_VERSION)+clisp-$(CLISP_VERSION).patch ] ; then \
		cat slime-$(SLIME_VERSION)+clisp-$(CLISP_VERSION).patch \
		| ( cd $(PACKAGES)/net/common-lisp/slime ; patch -p0 ) ;\
	 fi
	@[ $(SLIME_VERSION) != 1.3.1.1 ] \
	&& rm    -f $(PACKAGES)/net/common-lisp/slime-1.3.1.1
	@touch      $(PACKAGES)/net/common-lisp/slime-$(PURI_VERSION)


clean-asdf:
	@rm     -rf $(PACKAGES)/net/sourceforge/cclan/asdf

$(PACKAGES)/net/sourceforge/cclan/asdf:$(ASDF_TAR)
	@echo ';;;; Unarchiving asdf    sources...'
	@mkdir -p $(PACKAGES)/net/sourceforge/cclan
	@rm   -rf $(PACKAGES)/net/sourceforge/cclan/asdf
	@tar   -C $(PACKAGES)/net/sourceforge/cclan -jxf $(ASDF_TAR)
	@touch    $(PACKAGES)/net/sourceforge/cclan/asdf


clean-zebu:
	@rm     -rf $(PACKAGES)/com/hp/zebu-$(ZEBU_VERSION)
	@rm      -f $(PACKAGES)/com/hp/zebu

$(PACKAGES)/com/hp/zebu:$(ZEBU_TAR)
	@echo ';;;; Unarchiving zebu    sources...' 
	@mkdir   -p $(PACKAGES)/com/hp
	@rm     -rf $(PACKAGES)/com/hp/zebu-$(ZEBU_VERSION)
	@tar     -C $(PACKAGES)/com/hp -jxf $(ZEBU_TAR)
	@echo ';;;; Patching    zebu    sources...' 
	@cd $(PACKAGES)/com/hp ; patch -p0 -l < ../../../zebu-clisp.patch
	@ln -sf zebu-$(ZEBU_VERSION) $(PACKAGES)/com/hp/zebu 
ifeq ($(UNAME),Linux)
	@ln -sf COMPILE-ZEBU.lisp $(PACKAGES)/com/hp/zebu/compile-zebu.lisp
	@ln -sf ZEBU-init.lisp    $(PACKAGES)/com/hp/zebu/zebu-init.lisp
endif
	@cp zebu.lisp $(PACKAGES)/com/hp/
	@echo ';;;; Compiling   zebu...'
	@cd $(PACKAGES)/com/hp/zebu ; BASE=$(BASE) $(CLISP) $(CLISP_FLAGS) \
		-x "(load \"$(BASE)/init.lisp\")" \
		-x '(LOAD "PACKAGES:COM;HP;ZEBU;COMPILE-ZEBU.LISP")'
	@touch     $(PACKAGES)/com/hp/zebu-$(ZEBU_VERSION)


clean-ltk:
	@rm     -rf $(PACKAGES)/de/peter-herth/ltk

$(PACKAGES)/de/peter-herth/ltk:$(LTK_TAR)
	@echo ';;;; Unarchiving ltk     sources...' 
	@mkdir   -p $(PACKAGES)/de/peter-herth
	@rm     -rf $(PACKAGES)/de/peter-herth/ltk
	@tar     -C $(PACKAGES)/de/peter-herth -jxf $(LTK_TAR)
	@echo ';;;; Compiling   ltk...'
	@cd $(PACKAGES)/de/peter-herth/ltk ; $(CLISP) $(CLISP_FLAGS) \
		-x '(compile-file "ltk.lisp")'
	@touch      $(PACKAGES)/de/peter-herth/ltk


clean-pmsf:
	@rm     -rf $(PACKAGES)/de/pmsf

$(PACKAGES)/de/pmsf:$(PMSF_TAR)
	@echo ';;;; Unarchiving pmsf    sources...' 
	@mkdir   -p $(PACKAGES)/de
	@rm     -rf $(PACKAGES)/de/pmsf
	@tar     -C $(PACKAGES)/de -jxf $(PMSF_TAR)
	@echo ';;;; Compiling   pmsf...'
	@$(MAKE) -C $(PACKAGES)/de/pmsf 
	@touch      $(PACKAGES)/de/pmsf


clean-pjb-common-lisp:
	@rm     -rf $(PACKAGES)/com/informatimago/common-lisp
	@make -C common/common-lisp clean

$(PACKAGES)/com/informatimago/common-lisp:common/common-lisp \
		$(PACKAGES)/de/pmsf
	@echo ';;;; Compiling   common/common-lisp...'
	@make -C common/common-lisp \
		PREFIX=$(PREFIX) PACKAGES=$(PACKAGES) \
		$(LISP_IMPLEMENTATION) install


clean-pjb-clisp:
	@rm     -rf $(PACKAGES)/com/informatimago/clisp
	@make -C common/clisp clean

$(PACKAGES)/com/informatimago/clisp:common/clisp \
		$(PACKAGES)/com/informatimago/common-lisp
	@echo ';;;; Compiling   common/clisp...'
	@make -C common/clisp \
		PREFIX=$(PREFIX) PACKAGES=$(PACKAGES) \
		clisp install


clean-pjb-susv3:
	@rm     -rf $(PACKAGES)/com/informatimago/susv3
	@make -C common/susv3 clean

$(PACKAGES)/com/informatimago/susv3:common/susv3 \
		$(PACKAGES)/com/informatimago/clisp
	@echo ';;;; Compiling   common/susv3...'
	@make -C common/susv3 \
		PREFIX=$(PREFIX) PACKAGES=$(PACKAGES) \
		clisp install



# Tools:

clean-tools:
	@rm -rf clisp-$(CLISP_VERSION) 
	@rm -rf tcl$(TCLTK_VERSION) tk$(TCLTK_VERSION) 

clean-dev-tools:
	@rm -rf dev-clisp-$(CLISP_VERSION) 
	@rm -rf tcl$(TCLTK_VERSION) tk$(TCLTK_VERSION) 

clisp-$(CLISP_VERSION):
	@echo ';;;; Unarchiving clisp sources...' ; tar jxf $(CLISP_TAR)
tcl$(TCLTK_VERSION):
	@echo ';;;; Unarchiving tcl   sources...' ; tar jxf $(TCL_TAR)
tk$(TCLTK_VERSION):
	@echo ';;;; Unarchiving tk    sources...' ; tar jxf $(TK_TAR)

clean-clisp:clisp-$(CLISP_VERSION)
	( cd clisp-$(CLISP_VERSION) ; ../clisp-pjb-clean ) 


compile-clisp install-clisp:
	$(MAKE) $(MFLAGS) clisp-$(CLISP_VERSION)
	( cd clisp-$(CLISP_VERSION) ;\
	  ./configure --prefix=$(PREFIX) ;\
	  cd src ;\
	  ./makemake --prefix=$(PREFIX) --with-dynamic-ffi  > Makefile ;\
      make config.lisp ;\
	  cp ../../lisp-pjb-config.lisp config.lisp ;\
      make \
	  && rm -rf sacla-tests \
	  && ( if [ $(CLISP_VERSION) != 2.33.84 ] ; then make check ; fi ) \
	  && make install )\
	&& touch clisp-$(CLISP_VERSION)/.pjb-clisp  #  make check
#	PREFIX=$(PREFIX) ../clisp-pjb-compile --stanza bellerophon-$(UNAME)

compile-dev-clisp install-dev-clisp:
	$(MAKE) $(MFLAGS) clisp-$(CLISP_VERSION)
	( cd clisp-$(CLISP_VERSION) ;\
	  ./configure --prefix=$(PREFIX) --with-module=bindings/glibc ;\
	  cd src ;\
	  ./makemake  --prefix=$(PREFIX) --with-module=bindings/glibc \
		--with-dynamic-ffi  > Makefile ;\
      make config.lisp ;\
	  cp ../../lisp-pjb-config.lisp config.lisp ;\
      make \
	  && rm -rf sacla-tests \
	  && ( if [ $(CLISP_VERSION) != 2.33.84 ] ; then make check ; fi ) \
	  && make install )\
	&& touch clisp-$(CLISP_VERSION)/.pjb-clisp-dev  #  make check
#	PREFIX=$(PREFIX) ../clisp-pjb-compile --stanza bellerophon-$(UNAME)


clisp     $(CLISP):install-clisp
dev-clisp $(CLISP):install-dev-clisp

compile-tcltk:tcl$(TCLTK_VERSION)  tk$(TCLTK_VERSION)
ifeq ($(UNAME),Linux)
	cd tcl$(TCLTK_VERSION)/unix ; ./configure --prefix="$(PREFIX)"
	cd tcl$(TCLTK_VERSION)/unix ;   make
	cd  tk$(TCLTK_VERSION)/unix ; ./configure --prefix="$(PREFIX)"
	cd  tk$(TCLTK_VERSION)/unix ;   make
endif
ifeq ($(UNAME),Darwin)
	-rm -rf build
	make -C tcl$(TCLTK_VERSION)/macosx embedded
	make -C  tk$(TCLTK_VERSION)/macosx embedded 
#PRODUCT_NAME="$(WISH_NAME)"
endif

install-tcltk:compile-tcltk
ifeq ($(UNAME),Linux)
	make -C tcl$(TCLTK_VERSION)/unix install
	make -C  tk$(TCLTK_VERSION)/unix install
endif
ifeq ($(UNAME),Darwin)
	make -C tcl$(TCLTK_VERSION)/macosx embedded-deploy INSTALL_ROOT="$(PREFIX)"
	make -C  tk$(TCLTK_VERSION)/macosx embedded-deploy INSTALL_ROOT="$(PREFIX)"
	mkdir -p $(PREFIX)/Applications
	cp -r  "build/tk/Wish Shell.app" "$(PREFIX)/Applications/"
endif

wish $(WISH):install-tcltk
ifeq ($(UNAME),Darwin)
	echo ············@exec "$$(dirname $$0)/../Applications/Wish Shell.app/Contents/MacOS/Wish ······@'|tr ·@' '\012'> "$(PREFIX)/bin/wish"
	chmod 755 "$(PREFIX)/bin/wish"
endif
ifeq ($(UNAME),Linux)
	ln -sf wish$$(echo $(TCLTK_VERSION)|sed -e 's/\.[^.]*$$//') \
		  $(PREFIX)/bin/wish
endif

etags tags TAGS:
	cd $$(pwd) ; find . \( -name \[#.]\?\* -prune \) \
		-o \( -name \*.lisp -o -name \*.el -o -name \*.asd \
		   -o -name \*.h -o -name \*.c -o -name \*.d \) -print \
	| tee -a /dev/stderr -a /dev/stdout \
	| etags -
	@echo Done.

style: stylesheet
stylesheet /usr/local/html/local/bellerophon/stylesheet.css : src/stylesheet.css
	cp src/stylesheet.css /usr/local/html/local/bellerophon/stylesheet.css
	chmod a+r             /usr/local/html/local/bellerophon/stylesheet.css

patches:
	diff -Naur --exclude \*~ --exclude \*.fas --exclude \*.lib  \
		ucw-0.3.9 ucw-0.3.9-pjb1 > ucw-0.3.9-pjb1.patch ;\
	status=$$? ; if [ $$status -eq 1 ] ; then true ; else exit $$status ; fi

#### Makefile                         --                     --          ####

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"Specifications are for the weak and timid!"
From: Joe Marshall
Subject: Re: UCW on windows
Date: 
Message-ID: <1138121491.545180.281910@g14g2000cwa.googlegroups.com>
Pascal Bourguignon wrote:
>
> Here is the Makefile I use to install and compile the dependencies of
> one of my project, including UCW.

[lots of line noise elided]

Where are the parens?
From: Pascal Bourguignon
Subject: Re: UCW on windows
Date: 
Message-ID: <87k6cp4km3.fsf@thalassa.informatimago.com>
"Joe Marshall" <··········@gmail.com> writes:

> Pascal Bourguignon wrote:
>>
>> Here is the Makefile I use to install and compile the dependencies of
>> one of my project, including UCW.
>
> [lots of line noise elided]
>
> Where are the parens?

Yes, I know... :-(

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

NOTE: The most fundamental particles in this product are held
together by a "gluing" force about which little is currently known
and whose adhesive power can therefore not be permanently
guaranteed.
From: Timofei Shatrov
Subject: Re: UCW on windows
Date: 
Message-ID: <43d61472.9022538@news.readfreenews.net>
On 23 Jan 2006 23:51:07 -0800, "Vagif Verdi" <···········@gmail.com>
tried to confuse everyone with this message:

>Hello.
>I'm trying to learn lisp on windows.
>I downloaded lispbox and reading Practical Lisp.
>So far so good. Emacs+SLIME works good and I like it.
>But when I tried to find out how to install and run UCW I stuck.
>Too many web sites to go. Too many packages to download.
>I did install darcs and pulled ucw and all it's dependenies.
>But then I do not know how to use asdf to bring all this together.
>
>Is there any tutorial on how to install and run UCW on windows ?
>

If you have Lispbox installed, it's very easy. Open
../slime-1.2.1/site-init.lisp, and add

(register-source-directory (lispbox-file "c:/lisp/"))

to the end of it. Substitute "c:/lisp/" to the directory where you
copied all of the libraries. The next time you start Slime, ASDF would
be able to find all necessary libraries.

-- 
|WAR HAS NEVER SOLVED ANYTHING|,----- Timofei Shatrov aka Grue---------.
|(except for ending slavery,  ||mail: grue at mail.ru ================ |
|   fascism and communism)    ||============= http://grue3.tripod.com  |
|...and Saddam's dictatorship |`----------------------------------[4*72]
From: Vagif Verdi
Subject: Re: UCW on windows
Date: 
Message-ID: <1138133276.794876.250730@g47g2000cwa.googlegroups.com>
Thank you very much for all your responses.
I'll try that