From fahree at gmail.com Fri Jul 3 04:29:31 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Fri, 3 Jul 2009 00:29:31 -0400 Subject: [xcvb-devel] XCVB 0.313 in git Message-ID: <653bea160907022129q4f2a5cfau5d984f1ce70bc608@mail.gmail.com> Dear XCVB users, if any, I believe that with the current XCVB 0.313, we have can do all that the original prototype v0.1 did, and much more: it can dump a Makefile from a project made of one main BUILD and plenty of ASDF or XCVB dependencies; it can convert simple ASDF systems to XCVB. It has features such as generated files, data dependencies, conditional dependencies, superseding ASDFs (for incremental migration), autodetecting CFASL support, etc. It has what I hope is a sensible command-line interface, which is partly self-documenting. I you are interested in creating Lisp images and/or executables from large Lisp projects, and are adventurous, we invite you to try out XCVB (after you did some proper backups and/or branching) and send us your questions and/or feedback so we may improve it further. We have already converted many systems from ASDF to XCVB. Some work great automatically, others require manual tweaking before and/or after or instead of the automatic conversion. closer-mop, cl-unicode, alexandria, were notable offenders. Contact us if you're having trouble -- chances are we already have a solution. Finally, if you want to participate, our TODO document lists plenty of ways that you could get started on XCVB and be useful. Enjoy! [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] If a vegetarian eats vegetables, what does a humanitarian eat? -- Mark Twain From fahree at gmail.com Tue Jul 7 16:13:08 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Tue, 7 Jul 2009 12:13:08 -0400 Subject: [xcvb-devel] xcvb on youtube! Message-ID: <653bea160907070913x6d887c19k302e43a242394706@mail.gmail.com> http://www.youtube.com/watch?v=04ceFZ4sPq8 (Courtesy of splittist on IRC #lisp) [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] If a vegetarian eats vegetables, what does a humanitarian eat? -- Mark Twain From fahree at gmail.com Wed Jul 8 16:04:21 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Wed, 8 Jul 2009 12:04:21 -0400 Subject: [xcvb-devel] goodbye BUILD.lisp, hello build.xcvb Message-ID: <653bea160907080904r29c4beafi79214c1162e75093@mail.gmail.com> A quick opinion poll on irc #lisp revealed that the name "BUILD.lisp" raised a lot of opinions against it, whereas "build.xcvb" seemed to satisfy everyone. Other unsatisfying names proposed were __build__.lisp .xcvb --build--.lisp *build*.lisp ?.lisp ?????.lisp build!.lisp XCVB BUILD build.lisp build.xcv xcvb.lisp xcvbuild.lisp xcvb-build.lisp build.lisp-expr xcvb.lisp-expr build.sexp xcvb.sexp sexp.xcvb __xcvb__.lisp ? buIld.lisp buIld.lisp (with a zero-width nonbreaking space in the middle) buIld.xcvb .xcvb <quelque%20chose> I'll release something shortly that renames "BUILD.lisp" to "build.xcvb". [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Bragg's principle: Everything in the future is a wave, everything in the past is a particle. From fahree at gmail.com Wed Jul 8 23:55:43 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Wed, 8 Jul 2009 19:55:43 -0400 Subject: [xcvb-devel] XCVB release tarballs Message-ID: <653bea160907081655y63a43ff5re18dbaca564a7328@mail.gmail.com> I released XCVB 0.324 as a tarball including all its dependencies, and enough bootstrapped configuration magic that you may compile it with any old SBCL (CFASL patch not necessary, though welcome). Enjoy! http://common-lisp.net/project/xcvb/releases/ Using either ASDF or a bootstrapped XCVB, you can compile XCVB for other implementations: clisp has been verified to work; cmucl and ccl might just work. There are still issues with ASDF-DEPENDENCY-GROVEL and ASDF-TO-XCVB that make the automated migration fail on a large number of packages (notably most ediware). We'll try to get these issues resolved, possibly by pushing patches upstream. [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Never abandon a theory that explains something until you have a theory that explains more. -- John McCarthy From fahree at gmail.com Fri Jul 10 10:57:21 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Fri, 10 Jul 2009 06:57:21 -0400 Subject: [xcvb-devel] xcvb 0.329 successfully bootstrapped Message-ID: <653bea160907100357p3ec1c321hfd4217595fa0cd6e@mail.gmail.com> This time it's for real: you can download xcvb, and it will compile properly (with sbcl at least) out of the box with a bootstrapped xcvb.mk rather than using asdf. So now, not only do we eat our own dog food, we don't choke on it. You can still compile it with a preexisting asdf via cl-launch with "make xcvb-using-asdf", which is the way you may bootstrap initially when you checkout the sources and dependencies individually from git/darcs rather than use the release tarball. http://common-lisp.net/project/xcvb/releases/ [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] If a trainstation is where the trains stop, what is then a workstation... -- Lars Lundgren From fahree at gmail.com Sat Jul 11 00:04:48 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Fri, 10 Jul 2009 20:04:48 -0400 Subject: [xcvb-devel] XCVB 0.337, the maybe someone will try it version Message-ID: <653bea160907101704p77be399cyea24179e38ef5ff2@mail.gmail.com> So for a few releases now, XCVB has been fully bootstrapped on SBCL and CLISP and this now works most of the time. Now, before we get any actual users, I've decided to do a few API cleanups before it gets too painful to change. Therefore, :build-requires becomes :build-depends-on to stay in line with the rest, and :generate-depends-on becomes just :depends-on, since it already appears in a :generate form. In such cases, it's painful to try to compile with a previous xcvb, so instead you can bootstrap with the good old: make xcvb-using-asdf. A recent feature is that we hush some of the compiler notes and style-warnings that people don't care for at ITA, mostly using a configurable API (though the sbcl compiler notes are currently special-cased). However, my feeble attempts at using WITH-COMPILATION-UNIT so as to catch undefined function warnings that I may save aside and reconcile at the end of the build were doubly unsuccessful: not only did I not go so far as to find a way to parse said warnings, the attempt caused a deadlock on the SBCL 1.0.28.70.ita.5 used at ITA as WITH-COMPILATION tries to grab a MUTEX, though it works perfectly on the minimally modified SBCL 1.0.29.54.rc5.cfasl that I compiled locally. And so I commented out this WITH-COMPILATION-UNIT and for now, you'll be getting lots of UNDEFINED-FUNCTION style-warnings while compiling, that will cause your compile-file's to warn, and prevent you from stopping the build when such condition is met. For debugging purposes, the xcvb Makefile shows how to disable parallelism with make xcvb PARALLELIZE= (Where the default value of PARALLELIZE is -j). In the distant future, XCVB would control make itself, have a debug option, and drop you at the REPL of the failing Lisp file with useful restarts. Not anytime soon unless you make it happen, though. PS: you know you don't have *any* user when you realize your release tarball's bootstrap xcvb.mk had some paths hardwired in it that would have required search-and-replace to fix on anyone's computer but your own, and no one ever complained. [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Lisp programmer available: Will write code that writes code that writes code for food. -- Rob Warnock From fahree at gmail.com Sat Jul 11 20:51:20 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Sat, 11 Jul 2009 16:51:20 -0400 Subject: [xcvb-devel] XCVB 0.340, the my sanity's back edition Message-ID: <653bea160907111351r20abf705x8cc43cf5648d1a21@mail.gmail.com> So now with XCVB 0.340, most of our previous issues should have evaporated. * The release tarball should "just work". Now with a target to install the source code, and another target to bootstrap using ASDF. http://common-lisp.net/project/xcvb/releases/ [Quick poll: should or shouldn't the release tarball contain the .git / _darcs checkout information for xcvb and its dependencies?] * my woes with with-compilation-unit were identified as some patched SBCL being thoroughly confused when a lock is held while dumping an image. Solution being to not dump the image inside of a with-compilation-unit form (which is stupid anyway). * Still plenty of work to do, but we now have a solid working basis for a Lisp build system. Woohoo! [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] As Marx should have said, the principle of communism is From each according to what he can't get out of doing. To each according to whom he knows. -- John McCarthy From attila.lendvai at gmail.com Sun Jul 12 23:38:57 2009 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Mon, 13 Jul 2009 01:38:57 +0200 Subject: [xcvb-devel] XCVB 0.340, the my sanity's back edition In-Reply-To: <653bea160907111351r20abf705x8cc43cf5648d1a21@mail.gmail.com> References: <653bea160907111351r20abf705x8cc43cf5648d1a21@mail.gmail.com> Message-ID: > [Quick poll: should or shouldn't the release tarball contain the .git > / _darcs checkout information for xcvb and its dependencies?] it should, unless the size overhead is a problem, which i doubt... -- attila From fahree at gmail.com Mon Jul 13 00:39:48 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Sun, 12 Jul 2009 20:39:48 -0400 Subject: [xcvb-devel] XCVB 0.340, the my sanity's back edition In-Reply-To: References: <653bea160907111351r20abf705x8cc43cf5648d1a21@mail.gmail.com> Message-ID: <653bea160907121739n402e4a45p7d47218dbfe9bc05@mail.gmail.com> 2009/7/12 Attila Lendvai : >> [Quick poll: should or shouldn't the release tarball contain the .git >> / _darcs checkout information for xcvb and its dependencies?] > > > it should, unless the size overhead is a problem, which i doubt... OK, I'll put back the git and darcs information starting with next release. For the record, the size difference is 5MB and growing fast vs 400KB and growing slow. [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Government -- If you think the problems we create are bad, just wait until you see our solutions. From fahree at gmail.com Sun Jul 19 15:23:49 2009 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Sun, 19 Jul 2009 11:23:49 -0400 Subject: [xcvb-devel] XCVB 0.346, the getting there slowly edition Message-ID: <653bea160907190823n557baf06qa9c60cc5a5421110@mail.gmail.com> Since last week, * we atomically update FASLs so there will never be a half-written FASL anymore. * we improved ASDF-DEPENDENCY-GROVEL and the way we use it. * we fixed the image inheritance logic to minimize creation of pre/post images. * I found a way to cut down release tarballs to a reasonable size while keeping full revision history, with git gc. However, we still haven't finished compiling our ITA projects with XCVB -- much more crazy EVAL-WHEN debugging than initially imagined. We're getting there, slowly. While it might take time for anyone but me to get used to it, I find the internal architecture of XCVB very agreable to deal with. I also enjoy how CL special variables can help do in a quick and dirty way what Haskellers do with nicely but quite painfully with monads. [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Men rarely (if ever) manage to dream up a god superior to themselves. Most gods have the manners and morals of a spoiled child. -- Robert Heinlein, "Time Enough For Love"