Re: [Lisp] Pakethantering

2008-01-29 tråd Ingvar
Linus Nordberg skriver:
 Ingvar [EMAIL PROTECTED] wrote
 Tue, 29 Jan 2008 06:49:10 +:
 
 | Jag blandar ASDF och APT-baserade CL-paket, det funkar för det mesta (fast 
 jag 
 | borde egentligen sätta mig ner och bygga en omkompilerare så att jag 
 slipper 
 | att saker inte kan köra precis efter att SBCL blivit uppdaterat).
 
 clbuild?
 http://common-lisp.net/project/clbuild/

Jag tror inte att ett tredje system för att hantera byggmojutter skulle göra 
saker bättre. :) Jag har ingen som helst avsikt att sluta använda Debians 
paketsystem och clbuild är i dagsläget inte ens i närheten av tillräckligt för 
att jag orkar bryta mig ur APT+ASDF-install. Hm, fast... Skippy är supportat. 
Men jag skulle fortfarande behöva bryta ut SBCL ur APT:s klor och det är för 
jobbigt.

Att däremot installera en felhanterare som fångar Aha! Laddar gammal FASL! 
Kompilera om och fortsätt! är enklare och löser faktiskt precis alla problem 
jag i dagsläget ser (nämligen att jag glömmer att kolla om SBCL ska uppdateras 
och sedan kompilera om Skippy, så snooper-körningen ballar ut under natten).

//Ingvar (insnöad)



___
Lisp mailing list
Lisp@lisp.se
http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp



Re: [Lisp] Pakethantering

2008-01-08 tråd Henrik Hjelte
Ett långt och lite osammanhängande svar,
det finns flera skolor ang paketinstallation.
1. Att använda asdf-install
2. På debian: använda common-lisp-controller och debians paket.
3. Inte använda paket, istället arbeta med versionshanterade system direkt.

jag är lite skeptisk mot idén om releaser, och så vill jag enkelt
kunna bidra med patchar om så behövs till de paket som finns,
så jag vill använda versionshanterade setup.
Distribuerade VC system som darcs gör det ju suveränt enkelt att
mixtra med pathcar, brancha osv.

Jag har en setup som är starkt inspirerad av en blogpost
från BIll Clementson: http://bc.tech.coop/blog/051004.html
Använder nästan endast darcs, och tailor för att konvertera
från andra system (typ cvs), och en katalogstruktur ungefär
som BC. Se beskrivningen nedan om någon är intresserad.

Svar på fråga 1:
Ja jag tror det, rensa gamla fasl filer och länka asd filer, men med
min setup länkar jag sällan asd filer manuellt.

Ett skript för att rensa gamla .fasl filer är oumbärligt:
#!/bin/sh
# Grep is: Make sure that no files below acl directory is removed
find -name *.fasl -print0 | grep -z -v /acl  | xargs -0 rm

Svar på fråga 2:
Är det vanligt att man releasar ett
paket som 
Det är inte direkt en stab av personer som kollar varje release,
det är en anledning till att jag inte riktigt tror på konceptet.
Så, jag skulle tro att det är vanligt att man gör fel avseende beroenden

Jag har en idé att göra en cpan eller asdf-install killer, men det
skulle basera sig på versionshanteringspatchar (darcs) och inte releaser,
kombinerat med automatisk testning varje natt i olika miljöer som
körs i Xen/VmWare el dyl. Skriver lite på det i tunnelbanan då
och då, men tiden räcker inte riktigt till. Finns det ingen som
smyger på listan och vill ha idé till exjobb, och vill be en
stjärna på Lisp-himlen?

/Henrik



Directory structure: inspired by Bill Clementson
-

lisp/: The ~/lisp/ directory is the root directory for all lisp libraries
and source code.
docs/: The location of my local copy of the CL Hyperspec and a number of
other lisp-related documents.
site/: Contains all of the directories of lisp libraries that are installed
via asdf-install.
src/: Contains directories with lisp source code that I keep for reference
only or that can't be loaded with asdf.
systems/: Contains the symbolic links to the .asd files that are in the
~/lisp/site/* directories. These symbolic links are created automatically by
asdf-install.
pub-vc/: Code from version controlled repositories rater than asdf
vc/: own local darcs branches (working copies) of repos in pub_vc that I
have modified
systems-vc/: symlink to asd files in vc OR pub_vc
systems-other/: symlinks to asd files elsewhere on the computer
unstable/: Contains directories of bleeding-edge versions of lisp
libraries that I have downloaded from version control repositories.
Dynamically added by ~.swank.lisp

Scripts to update repositories:
-
lisp/pub-vc/update-ucw-stuff.sh :darcs pull of latest ucw repositories
lisp/vc/pull.sh : darcs pull from repositories in lisp/pub-vc

Scripts to make correct symlinks to .asd files:
-
/lisp/pub-systems-vc.sh : Erases all symlinks in systems-vc, then symlink to
all .asd files in lisp/pub-vc.
Use when you want to try the latest unmodified copy of ucw
#!/bin/sh
rm systems-vc/*.asd
# find asd files | show NOT matching _darcs | symlink
find /home/henrik/lisp/vc/ -name *.asd | grep -v _darcs | xargs ln
-s -t ./systems-vc/

/lisp/update-systems-vc.sh : Erases all in systems-vc, then symlinks to all
.asd files in lisp/vc (higher priority) and lisp/pub-vc (lower priority)
Use for my local branch of ucw
#!/bin/sh
rm systems-vc/*.asd
# find asd files | show NOT matching _darcs | symlink
find /home/henrik/lisp/vc/ -name *.asd | grep -v _darcs | xargs ln
-s -t ./systems-vc/
# If not in vc, take asd from pub-vc
find /home/henrik/lisp/pub-vc/ -name *.asd | grep -v _darcs | xargs
ln -s -t ./systems-vc/

Other relevant files

.asdf-setup : Setup asdf search paths, copied from Bill Clementsons blog
http://bc.tech.coop/blog/051004.html and slightly adapted
   (push (conc-to-pathname *lisp-dirs* systems/) asdf:*central-registry*)
   (push (conc-to-pathname *lisp-dirs* systems-vc/)
asdf:*central-registry*)
   (push (conc-to-pathname *lisp-dirs* systems-other/)
asdf:*central-registry*)
~/.sbclrc : Loads .asdf-setup (sbcl)
~/.clinit.cl : Loads .asdf-setup (allegro)

.asdf-install: Makes asdf install install at the right place.
  (setf asdf-install:*locations*
   '((#p/home/henrik/lisp/site/
  #p/home/henrik/lisp/systems/
 Install at location specified in my .asdf-install file)))



On Jan 8, 2008 3:17 PM, Linus Nordberg [EMAIL PROTECTED] wrote:

 Hej!

 Jag ägnade just en 

Re: [Lisp] Pakethantering

2008-01-08 tråd Ties Stuij
On Jan 8, 2008 4:15 PM, Henrik Hjelte [EMAIL PROTECTED] wrote:
 Ett långt och lite osammanhängande svar,
 det finns flera skolor ang paketinstallation.
 1. Att använda asdf-install
 2. På debian: använda common-lisp-controller och debians paket.
 3. Inte använda paket, istället arbeta med versionshanterade system direkt.

 jag är lite skeptisk mot idén om releaser, och så vill jag enkelt
 kunna bidra med patchar om så behövs till de paket som finns,
 så jag vill använda versionshanterade setup.
 Distribuerade VC system som darcs gör det ju suveränt enkelt att
 mixtra med pathcar, brancha osv.

Jag vill bara komplementera det här med att saga min erfarenhet är att
det är bäst att tar senaste utväklar version. Det har hänt mig flera
gänger att en pakket använder features som är inte med i officiella
versionen. Om man titta frän en annan sida, så är min erfarenhet att
en skedje bryter mer oftas när man tar releases istället av
cvs/darcs/git/etc..

Och jag skulle inte använda common-lisp-controller, eller emerge eller
nånt. Dom liggar oftas några releases efter realiteten.

/Ties


___
Lisp mailing list
Lisp@lisp.se
http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp



Re: [Lisp] Pakethantering

2008-01-08 tråd Linus Nordberg
Henrik Hjelte [EMAIL PROTECTED] wrote
Tue, 8 Jan 2008 16:15:07 +0100:

| Distribuerade VC system som darcs gör det ju suveränt enkelt att
| mixtra med pathcar, brancha osv.

Låter bra.  Men hur gör man för att byta ut en version av PAKET? I
fallet cffi får jag en massa symbolkonflikter (jag tror att det beror på
att symboler exporteras om igen). Försökte lite lamt med UNINTERN av
(APROPOS-LIST  :PAKET) men det verkar ganska fel.

-- 
Linus


___
Lisp mailing list
Lisp@lisp.se
http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp