Re: [racket-dev] snapshot builds
FWIW, there is now a similar page running at Northwestern: http://plt.eecs.northwestern.edu/snapshots/ Robby On Tue, Jul 2, 2013 at 2:40 PM, Matthew Flatt mfl...@cs.utah.edu wrote: Here's a rough cut at a snapshot build with the new package organization: http://www.cs.utah.edu/plt/snapshots/20130702-c90365e/ While there are plenty of rough edges, enough is in place to show how I see distributions and packages working with the new organization. The snapshot page has * Racket installers with the usual stuff: DrRacket, HtDP support, etc. * Minimal Racket installers for just the core build. Each Minimal installer is configured to refer back to the snapshot site for package installations; each package that is included in the distribution is available from the snapshot site in pre-built form. (If a package is not available from the snapshot site, then a package search will continue with pkg.racket-lang.org, etc.) For example, starting with with a Minimal installation and running `raco pkg install -i --deps search-auto gui' gets you `racket/gui' in compiled form (in about 1 minute on my machine), along with the necessary native libraries, the `gracket' launcher, documentation, and so on. [Using `-u' or `-s' doesn't yet work, because the installation-wide catalog configuration is not used as the default for `-u' or `-s'. I'll fix that.] After installing `gui', then `raco pkg install -i --deps search-auto drracket' gets you DrRacket (in about 30 seconds). [Unfortunately, the `drraccket' step also deletes some documentation that was installed by the `gui' step, so I have more work to do there, too.] I image that releases will ultimately work the same way: installers will be configured to start with a catalog server that provides pre-built packages compatible with the release --- and those packages will be the responsibility of the distribution server, not pkg.racket-lang.org. The set of packages available in pre-built form need not be just the ones in a distribution. The choice of available pre-built packages is separate from the choice of packages into include in a distribution, so pre-built packages can be available and useful for a Racket installer as well as a Minimal Racket installer. I expect that our release and snapshot sites will provide pre-built versions of all ring-0 packages. [A piece that's missing: online documentation as a fall-back for installed documentation. For example, suppose you install gui, search installed documentation for WXME, go to the WXME Decoding section, find htdp on that page, and click `htdp/image'. Then, you get a link that goes back to the snapshot site (because you don't have the relevant package installed), which is as intended. But the link doesn't yet give you documentation.] I expect to make http://www.cs.utah.edu/plt/snapshots/ updated daily or so with a new snapshot (and a front page that points to the latest snapshot). Each snapshot will be available for some amount of time (a week?) to serve packages before it is removed. That's not to say that www.cs.utah.edu will be home to the main PLT-provided snapshots, but I imagine that it will be around as an option. The process is designed to make it as easy as possible set up extra snapshot sites. _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Fri, 19 Jul 2013 17:43:42 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew The documentation directory and collection directory should be Matthew configurable, now. Looks like but I still have problems with the build process as directory contents are not copied to the destinations. make install-common-middle make[3]: Entering directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src' make copytree-run make[4]: Entering directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src' racket/racketcgc -u \ ./../collects/setup/unixstyle-install.rkt \ make-install-copytree ./.. \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/bin \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/doc/packages/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/lib64 \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/include/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/lib64/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/etc/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/man no Copying collects - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket Copying share - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket missing source path share, skipping... Copying doc - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/doc/packages/racket missing source path doc, skipping... Copying config - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/etc/racket missing source path config, skipping... Rewriting configuration file at: /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/etc/racket/config.rktd... Matthew Besides starting from the git repository, you could also try out Matthew the new source snapshot: Matthew http://www.cs.utah.edu/plt/snapshots/ Matthew The label on the Source snapshots really should say something Matthew like kernel in source form, plus pre-built packages and Matthew documentation. The Minimal Racket variant doesn't have any Matthew packages, but it has the core collections pre-built, and Matthew installing a package from the main distribution gets the package Matthew in pre-built form from the snapshot site. Sorry my understanding from a source package is just source nothing built or pre-compiled interim product. So source = text files + icons. Yours don't count as source for me. Matthew I tried out the Racket | Source version, which took about one Matthew minute to download (83 MB), about 3-4 minutes for `configure' Matthew plus `make', and about 40 seconds for `make install'. After `make Matthew install', DrRacket was ready to go, and all documentation (for Matthew the main distribution) was available. Yes but my source package is 16 MB with xz compression and circa 21 MB when I package it as tgz. Surely they are smaller than your packages. That also means in the future I would expect a source only package to be available just like it is currently for the 5.3.5 release. -- o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
At Sat, 20 Jul 2013 17:12:26 +0200, Togan Muftuoglu wrote: On Fri, 19 Jul 2013 17:43:42 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew The documentation directory and collection directory should be Matthew configurable, now. Looks like but I still have problems with the build process as directory contents are not copied to the destinations. The share, doc, and etc directories will be empty/missing for a core build, so that's as expected. (But config vs. etc was a bug that now should be fixed.) Matthew The label on the Source snapshots really should say something Matthew like kernel in source form, plus pre-built packages and Matthew documentation. The Minimal Racket variant doesn't have any Matthew packages, but it has the core collections pre-built, and Matthew installing a package from the main distribution gets the package Matthew in pre-built form from the snapshot site. Sorry my understanding from a source package is just source nothing built or pre-compiled interim product. So source = text files + icons. Yours don't count as source for me. Yes, I can understand why they may not be what you want. They're intended for users who want a complete install that's as fast as possible on a platform where no pre-built executables are already available. That also means in the future I would expect a source only package to be available just like it is currently for the 5.3.5 release. Well, assembling a set of package sources is a kind of interim product --- as long as the assembled set is non-empty, and especially if it's something analogous to v5.3.5. But I think I understand what you mean, and we're just a couple of steps away, now. _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] Missing patches in 5.3.6
I think is a good idea to include the next patches in racket 5.3.6. Support for libjpeg version 9: http://git.racket-lang.org/plt/commit/158997cde7 And libpng 1.6: https://github.com/plt/racket/commit/5629a6156a5720e51a277849f75b3135cb93664f https://github.com/plt/racket/commit/f97a7cf1778b74e9f38d97db61e91956565180c3 I've tested release with both patches on OpenBSD and everything is working as expected. _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
The latest snapshot page includes plain-source options: http://www.cs.utah.edu/plt/snapshots/ The reason for having both Minimal Racket | Source and Minimal Racket | Source + built packages isn't obvious, given that Minimal Racket doesn't include any packages --- but there is a difference (and some future version of the web page will explain): * The + build package variant includes pre-built core collections matching the pre-built packages. When you use `raco pkg install gui', for example, the bytecode and documentation in the downloaded package can be used without rebuilding. * The plain-source version includes no pre-built bytecode, and when you build it yourself, the result will be different than the one used to create pre-built packages (i.e., the bytecode files vary due to effects like `eq?'-hashing). Consequently, when you use `raco pkg install gui', then the bytecode and documentation of the gui package will be rebuilt, even though you're using a catalog server that provides built packages. _ Racket Developers list: http://lists.racket-lang.org/dev