Re: [racket-dev] snapshot builds

2013-07-20 Thread Robby Findler
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

2013-07-20 Thread Togan Muftuoglu
 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

2013-07-20 Thread Matthew Flatt
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

2013-07-20 Thread Juan Francisco Cantero Hurtado

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

2013-07-20 Thread Matthew Flatt
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