From sean at guruhut.com Wed Jul 12 12:13:53 2006 From: sean at guruhut.com (Sean Ross) Date: Wed, 12 Jul 2006 14:13:53 +0200 Subject: [asdf-install-devel] [PATCH] extracting tarballs Message-ID: <44B4E781.50101@guruhut.com> Hi, I've got a patch for asdf-install which modifies the way that asdf-install attempts to extract tarballs. It exports the variable *tar-extractors* which is a list of functions which take a target directory and a pathname identifying the path to the tarball. Functions on this list can either extract the tarball or return nil to try the next function. This is mainly to enable a foreign package to push a CL version of 'tar xzf' (which should be released soon) onto this list allowing windows users to asdf-install packages sans Cygwin. I'm pretty new to darcs so please let me know if there is a problem with the patch. Cheers, Sean. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: tar-extractor-patch URL: From gwking at metabang.com Wed Jul 12 14:06:56 2006 From: gwking at metabang.com (Gary King) Date: Wed, 12 Jul 2006 10:06:56 -0400 Subject: [asdf-install-devel] [PATCH] extracting tarballs In-Reply-To: <44B4E781.50101@guruhut.com> References: <44B4E781.50101@guruhut.com> Message-ID: Hi Shawn, Thanks. This is a great idea. I've been working (very slowing!) on extending Nathan Froyd's tar lisp stuff to non-SBCL lisps so I'm glad that you're actually doing it! On Jul 12, 2006, at 8:13 AM, Sean Ross wrote: > Hi, > > I've got a patch for asdf-install which modifies the way that asdf- > install > attempts to extract tarballs. It exports the variable *tar- > extractors* which > is a list of functions which take a target directory and a pathname > identifying the path to the tarball. Functions on this list can either > extract the tarball or return nil to try the next function. > > This is mainly to enable a foreign package to push a CL version of > 'tar xzf' (which should be released soon) onto this list allowing > windows users to asdf-install packages sans Cygwin. > > I'm pretty new to darcs so please let me know if there is a problem > with the patch. > > Cheers, > Sean. > > > > > > New patches: > > [tar-extractor > sean at guruhut.com**20060712115010] { > hunk ./asdf-install/asdf-install.asd 32 > - :version "0.5.5" > + :version "0.5.6" > hunk ./asdf-install/defpackage.lisp 16 > + #:*tar-extractors* > hunk ./asdf-install/installer.lisp 351 > +(defun extract-using-tar (to-dir tarball) > + (if (probe-file (tar-command)) > + (return-output-from-program (tar-command) > + (tar-arguments to-dir tarball)) > + (warn "Cannot find tar command ~S." (tar-command)))) > + > +(defvar *tar-extractors* > + '(extract-using-tar)) > + > +(defun extract (to-dir tarball) > + (or (some #'(lambda (extractor) (funcall extractor to-dir tarball)) > + *tar-extractors*) > + (error "Unable to extract tarball ~A." tarball))) > + > hunk ./asdf-install/installer.lisp 369 > - (let* ((tar (return-output-from-program (tar-command) > - (tar-arguments source packagename))) > + (let* ((tar (extract source packagename)) > } > > Context: > > [bumped version > Gary King **20060614213119] > ['Rationalized' adding paths to the registry slightly; also added > restart to allow for continued installation in the complete absence > of a signature file > Gary King **20060614212938] > [Rearranged exported symbols slightly to reduce the number of #+s > Gary King **20060614212852] > [upped version > Gary King **20060608200301] > [Trying to normalize lambda list of install to better support > atoms and lists and keyword arguments for the future > Gary King **20060607153319] > [#+ignored some SBCL stuff in deprecated b/c it caused redefinition > errors > Gary King **20060607153204] > [Refactoring; improving *central-registry* management so that the > ones we add in installer are evaluated immediately instead of later. > Gary King **20060603021926] > [Removed version file > Gary King **20060603021833] > [More proof that I can't count! > Gary King **20060518172201] > [moving things around some more > Gary King **20060517203334] > [moved things around > Gary King **20060517202852] > [Added tests and style sheet > Gary King **20060517184550] > [Moved preference loading code to bottom of file > Gary King **20060517184448] > [Worked on website > Gary King **20060517184432] > [Started new style sheet for tutorial > Gary King **20060517184351] > [Exported condition names > Gary King **20060517184323] > [Updated version number > Gary King **20060517184255] > [Moved some things out of deprecated and into dead-letter > Gary King **20060516193044] > [Adding ASDF-Install version printing to load-op > Gary King **20060508175721] > [Moved the install anyways restart to the correct level > Gary King **20060503172003] > [Changed signature of install form to a system or list of systems > plus keyword arguments. Added :propagate argument which, if true, > forces a reinstallation of all the dependent systems. > Gary King **20060501144213] > [Rearranged PGP key verification with more restarts and (i think) > clearer logic; also split asdf-install into more files for easier > source code comprehension > Gary King **20060430010828] > [Recording latest changes from CCLAN > Gary King **20060321150538] > [Recording latest changes from CCLAN > Gary King **20060320221648] > [Recording latest changes from CCLAN > Gary King **20060320221419] > [Recording latest changes from CCLAN > Gary King **20060320203430] > [Patch from Robert Goldman . This helps ASDF- > Install work better with Allegro < 8 (which apparently doesn't like > #+ #+). It also fixes the long standing bug of ASDF-Install of not > creating a new trusted-UID file if one doesn't already exist. > Gary King **20060130122801] > [Created website > Gary King **20060130120615] > [Added rebuild script > Gary King **20060128174701] > [Added files from CCLAN > Gary King **20060128174630] > Patch bundle hash: > fd1c31d7a91a855b710dd388ea282a8d3352cac6 > > _______________________________________________ > asdf-install-devel mailing list > asdf-install-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-install-devel -- Gary Warren King metabang.com [http://www.metabang.com/] (413) 885 9127 * (206) 338-4052 [Fax] gwking on #lisp (occasionally) From sean at guruhut.com Wed Jul 12 14:34:14 2006 From: sean at guruhut.com (Sean Ross) Date: Wed, 12 Jul 2006 16:34:14 +0200 Subject: [asdf-install-devel] [PATCH] extracting tarballs In-Reply-To: References: <44B4E781.50101@guruhut.com> Message-ID: <44B50866.4040209@guruhut.com> Gary King wrote: > Thanks. This is a great idea. I've been working (very slowing!) on > extending Nathan Froyd's tar lisp stuff to non-SBCL lisps so I'm glad > that you're actually doing it! Hmmm, have you been using tar.lisp or Nathan's archive package? It's just that archive has support for cmucl, clisp, sbcl and lispworks in version 0.5.0. I've just finished a gzip-stream package (still need to do project page and commits) so soon (push gzip-stream:tar-extractor asdf-install:*tar-extractors*) will be a reality. Cheers, Sean. From gwking at metabang.com Thu Jul 13 03:08:52 2006 From: gwking at metabang.com (Gary King) Date: Wed, 12 Jul 2006 23:08:52 -0400 Subject: [asdf-install-devel] [PATCH] extracting tarballs In-Reply-To: <44B50866.4040209@guruhut.com> References: <44B4E781.50101@guruhut.com> <44B50866.4040209@guruhut.com> Message-ID: <0AA9790A-2544-472C-A124-AEA0440B1B01@metabang.com> > Hmmm, have you been using tar.lisp or Nathan's archive package? > It's just that archive has support for cmucl, clisp, sbcl and > lispworks > in version 0.5.0. I think I found tar and not archive... the only issue was the use of the stat command via the SBCL Posix library. > I've just finished a gzip-stream package (still need to do project > page and > commits) so soon (push gzip-stream:tar-extractor asdf-install:*tar- > extractors*) > will be a reality. that's great. -- Gary Warren King metabang.com [http://www.metabang.com/] (413) 885 9127 * (206) 338-4052 [Fax] gwking on #lisp (occasionally)