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] snapshot builds
On Fri, Jul 5, 2013 at 7:55 PM, Matthew Flatt mfl...@cs.utah.edu wrote: From now on, the current snapshot build on www.cs.utah.edu will be at http://www.cs.utah.edu/plt/snapshots/ (The latest snapshot does not yet fix the aces.png error that Sam reported.) If anyone else is interested in creating snapshots, I think the makefile and instructions are ready to try out. The INSTALL.txt file now has detailed information on site configurations, including some example configuration files as the end. As one more example, below is the configuration file for the snapshots at www.cs.utah.edu. #lang distro-build/config (require racket/format) (define server-base-url (~a http://www.cs.utah.edu/plt/snapshots; / (current-stamp) /)) (define build-plt (path-string (current-directory))) (define (make-machs make-name base pkgs) (sequential #:server 192.168.56.1 #:j 2 #:dist-base base #:pkgs pkgs ;; ;; Mac OS X variants: (sequential #:server localhost #:repo build-plt ;; (machine #:name (make-name Mac OS X Intel 64-bit) #:dir (string-append build-plt /build/mac64) #:configure '(--enable-sdk6=/Developer/SDKs/MacOSX10.6.sdk)) ;; (machine #:name (make-name Mac OS X Intel 32-bit) #:dir (string-append build-plt /build/mac32) #:configure '(--enable-sdk=/Developer/SDKs/MacOSX10.4u.sdk --disable-mac64))) ;; ;; Linux variants: (sequential ;; (machine #:name (make-name Linux x86_64 32-bit, Precise Pangolin) Should the line above say 64-bit? #:vbox ubuntu64 #:host 192.168.56.101 #:dist-suffix precise) ;; (machine #:name (make-name Linux i386 32-bit, Precise Pangolin) #:vbox ubuntu32 #:host 192.168.56.102 #:dist-suffix precise)) ;; ;; Windows variants: (sequential #:vbox win7 #:host 192.168.56.103 #:port 2022 #:platform 'windows #:bits 64 ;; (machine #:name (make-name Windows x64 64-bit) #:dir c:\\Users\\Dr Racket\\build64) ;; (machine #:name (make-name Windows x86 32-bit) #:dir c:\\Users\\Dr Racket\\build32 #:vc x86 (define ((make-make-name s) platform detail) (string-append s | platform | detail)) (sequential #:dist-base-url server-base-url #:site-dest (build-path /Users/racket/snapshots (current-stamp)) (make-machs (make-make-name Minimal Racket) min-racket '()) (sequential #:clean? #f (make-machs (make-make-name Racket) racket '(main-distribution _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
At Thu, 11 Jul 2013 19:10:20 -0500, Robby Findler wrote: On Fri, Jul 5, 2013 at 7:55 PM, Matthew Flatt mfl...@cs.utah.edu wrote: #:name (make-name Linux x86_64 32-bit, Precise Pangolin) Should the line above say 64-bit? Yes. I also changed the platform descriptions a little (before the most recent snapshot), so here's my latest configuration file, in case it's useful. #lang distro-build/config (require racket/format) (define server-base-url (~a http://www.cs.utah.edu/plt/snapshots; / (current-stamp) /)) (define build-plt (path-string (current-directory))) (define (make-machs make-name base pkgs) (sequential #:server 192.168.56.1 #:dist-base base #:pkgs pkgs ;; ;; Mac OS X variants: (sequential #:server localhost #:repo build-plt #:j 2 ;; (machine #:name (make-name Mac OS X 64-bit Intel) #:dir (string-append build-plt /build/mac64) #:configure '(--enable-sdk6=/Developer/SDKs/MacOSX10.6.sdk)) ;; (machine #:name (make-name Mac OS X 32-bit Intel) #:dir (string-append build-plt /build/mac32) #:configure '(--enable-sdk=/Developer/SDKs/MacOSX10.4u.sdk --disable-mac64))) ;; ;; Linux variants: (sequential ;; (machine #:name (make-name Linux 64-bit x86_64, Precise Pangolin) #:vbox ubuntu64 #:host 192.168.56.101 #:dist-suffix precise) ;; (machine #:name (make-name Linux 32-bit i386, Precise Pangolin) #:vbox ubuntu32 #:host 192.168.56.102 #:dist-suffix precise)) ;; ;; Windows variants: (sequential #:vbox win7 #:host 192.168.56.103 #:port 2022 #:platform 'windows #:bits 64 ;; (machine #:name (make-name Windows 64-bit x64) #:dir c:\\Users\\Dr Racket\\build64) ;; (machine #:name (make-name Windows 32-bit x86) #:dir c:\\Users\\Dr Racket\\build32 #:vc x86 (define ((make-make-name s) platform detail) (string-append s | platform | detail)) (sequential #:dist-base-url server-base-url #:site-dest (build-path /Users/racket/snapshots (current-stamp)) (make-machs (make-make-name Minimal Racket) min-racket '()) (sequential #:clean? #f (make-machs (make-make-name Racket) racket '(main-distribution _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
At Thu, 4 Jul 2013 12:24:42 -0400, Sam Tobin-Hochstadt wrote: On Tue, Jul 2, 2013 at 3: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/ The latest snapshots (32 and 64 bit) seem to work for me on multiple Linux machines. However, when I run 'raco setup' in the full snapshot, I get errors like: copy-file: cannot open source file source path: /Users/racket/build/plt/build/user/5.3.900.3/pkgs/games/aces/aces.png This problem is fixed in the latest snapshot (finally). _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
At Fri, 5 Jul 2013 21:02:40 -0400, Sam Tobin-Hochstadt wrote: On Fri, Jul 5, 2013 at 8:55 PM, Matthew Flatt mfl...@cs.utah.edu wrote: From now on, the current snapshot build on www.cs.utah.edu will be at http://www.cs.utah.edu/plt/snapshots/ (The latest snapshot does not yet fix the aces.png error that Sam reported.) Would it be possible to have the most recent snapshot at a link that doesn't depend on the date/commit hash, for more permanently linking? The page http://www.cs.utah.edu/plt/snapshots/ now links to installers through a current link (which is a symlink to the current snapshot directory on the server side). Is that what you had in mind? If anyone else is interested in creating snapshots, I think the makefile and instructions are ready to try out. The INSTALL.txt file now has detailed information on site configurations, including some example configuration files as the end. As one more example, below is the configuration file for the snapshots at www.cs.utah.edu. Might it be useful to split this into a separate text file? INSTALL.txt is quite long now. Ok, I moved that information to pkgs/distro-build/doc.txt. _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
On Sat, Jul 6, 2013 at 3:06 PM, Matthew Flatt mfl...@cs.utah.edu wrote: At Fri, 5 Jul 2013 21:02:40 -0400, Sam Tobin-Hochstadt wrote: On Fri, Jul 5, 2013 at 8:55 PM, Matthew Flatt mfl...@cs.utah.edu wrote: From now on, the current snapshot build on www.cs.utah.edu will be at http://www.cs.utah.edu/plt/snapshots/ (The latest snapshot does not yet fix the aces.png error that Sam reported.) Would it be possible to have the most recent snapshot at a link that doesn't depend on the date/commit hash, for more permanently linking? The page http://www.cs.utah.edu/plt/snapshots/ now links to installers through a current link (which is a symlink to the current snapshot directory on the server side). Is that what you had in mind? Yes, exactly. Thanks! Sam _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
From now on, the current snapshot build on www.cs.utah.edu will be at http://www.cs.utah.edu/plt/snapshots/ (The latest snapshot does not yet fix the aces.png error that Sam reported.) If anyone else is interested in creating snapshots, I think the makefile and instructions are ready to try out. The INSTALL.txt file now has detailed information on site configurations, including some example configuration files as the end. As one more example, below is the configuration file for the snapshots at www.cs.utah.edu. #lang distro-build/config (require racket/format) (define server-base-url (~a http://www.cs.utah.edu/plt/snapshots; / (current-stamp) /)) (define build-plt (path-string (current-directory))) (define (make-machs make-name base pkgs) (sequential #:server 192.168.56.1 #:j 2 #:dist-base base #:pkgs pkgs ;; ;; Mac OS X variants: (sequential #:server localhost #:repo build-plt ;; (machine #:name (make-name Mac OS X Intel 64-bit) #:dir (string-append build-plt /build/mac64) #:configure '(--enable-sdk6=/Developer/SDKs/MacOSX10.6.sdk)) ;; (machine #:name (make-name Mac OS X Intel 32-bit) #:dir (string-append build-plt /build/mac32) #:configure '(--enable-sdk=/Developer/SDKs/MacOSX10.4u.sdk --disable-mac64))) ;; ;; Linux variants: (sequential ;; (machine #:name (make-name Linux x86_64 32-bit, Precise Pangolin) #:vbox ubuntu64 #:host 192.168.56.101 #:dist-suffix precise) ;; (machine #:name (make-name Linux i386 32-bit, Precise Pangolin) #:vbox ubuntu32 #:host 192.168.56.102 #:dist-suffix precise)) ;; ;; Windows variants: (sequential #:vbox win7 #:host 192.168.56.103 #:port 2022 #:platform 'windows #:bits 64 ;; (machine #:name (make-name Windows x64 64-bit) #:dir c:\\Users\\Dr Racket\\build64) ;; (machine #:name (make-name Windows x86 32-bit) #:dir c:\\Users\\Dr Racket\\build32 #:vc x86 (define ((make-make-name s) platform detail) (string-append s | platform | detail)) (sequential #:dist-base-url server-base-url #:site-dest (build-path /Users/racket/snapshots (current-stamp)) (make-machs (make-make-name Minimal Racket) min-racket '()) (sequential #:clean? #f (make-machs (make-make-name Racket) racket '(main-distribution _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
On Fri, Jul 5, 2013 at 8:55 PM, Matthew Flatt mfl...@cs.utah.edu wrote: From now on, the current snapshot build on www.cs.utah.edu will be at http://www.cs.utah.edu/plt/snapshots/ (The latest snapshot does not yet fix the aces.png error that Sam reported.) Would it be possible to have the most recent snapshot at a link that doesn't depend on the date/commit hash, for more permanently linking? If anyone else is interested in creating snapshots, I think the makefile and instructions are ready to try out. The INSTALL.txt file now has detailed information on site configurations, including some example configuration files as the end. As one more example, below is the configuration file for the snapshots at www.cs.utah.edu. Might it be useful to split this into a separate text file? INSTALL.txt is quite long now. Sam _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
At Thu, 4 Jul 2013 01:24:01 -0400, Asumu Takikawa wrote: On 2013-07-03 22:56:16 -0600, Matthew Flatt wrote: The 32-bit Windows Racket installer works for me, this time --- but the Mac OX X builds seem completely broken. Thanks, this time I was able to get DrRacket from the installer. BTW, one thing that seems broken is if I go to the package manager and click on Installl from List, I get the following internal error: get-all-pkg-details-from-catalogs: bad response from server This is fixed in the latest snapshot, along with the Mac OS X builds: http://www.cs.utah.edu/plt/snapshots/20130704-22aeed5/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
On Tue, Jul 2, 2013 at 3: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/ The latest snapshots (32 and 64 bit) seem to work for me on multiple Linux machines. However, when I run 'raco setup' in the full snapshot, I get errors like: copy-file: cannot open source file source path: /Users/racket/build/plt/build/user/5.3.900.3/pkgs/games/aces/aces.png destination path: /home/samth/tmp/rt/racket-5.3.900.3/add-on/5.3.900.3/doc/search/aces.png system error: No such file or directory; errno=2 context...: /home/samth/tmp/rt/racket-5.3.900.3/lib/pkgs/scribble-lib/scribble/base-render.rkt:881:4: core669 /home/samth/tmp/rt/racket-5.3.900.3/lib/pkgs/scribble-lib/scribble/html-render.rkt:1085:4: render-content method in ...bble/html-render.rkt:217:2 /home/samth/tmp/rt/racket-5.3.900.3/lib/pkgs/scribble-lib/scribble/html-render.rkt:1248:4: render-plain-content method in ...bble/html-render.rkt:217:2 /home/samth/tmp/rt/racket-5.3.900.3/lib/pkgs/scribble-lib/scribble/base-render.rkt:847:4: render-content method in render% Sam _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
At Thu, 4 Jul 2013 12:24:42 -0400, Sam Tobin-Hochstadt wrote: On Tue, Jul 2, 2013 at 3: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/ The latest snapshots (32 and 64 bit) seem to work for me on multiple Linux machines. However, when I run 'raco setup' in the full snapshot, I get errors like: copy-file: cannot open source file source path: /Users/racket/build/plt/build/user/5.3.900.3/pkgs/games/aces/aces.png destination path: /home/samth/tmp/rt/racket-5.3.900.3/add-on/5.3.900.3/doc/search/aces.png system error: No such file or directory; errno=2 context...: Ok, I see that, too --- yet another place that needs to be generalized for paths that used to be relative to collects. Thanks! _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
On 2013-07-02 13:40:18 -0600, Matthew Flatt wrote: The snapshot page has * Racket installers with the usual stuff: DrRacket, HtDP support, etc. I tried the Racket Windows installer, but AFAICT it's missing DrRacket and other libraries. $ sha1sum.exe /home/asumu/racket-5.3.900.3-i386-win32.exe 5ba5331efbc0d8d0443dce795f1da045a24a4c21i/ $ ls doc etc include lib man Racket.exe raco.exe Uninstall.exe Cheers, Asumu _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
At Wed, 3 Jul 2013 16:49:01 -0400, Asumu Takikawa wrote: On 2013-07-02 13:40:18 -0600, Matthew Flatt wrote: The snapshot page has * Racket installers with the usual stuff: DrRacket, HtDP support, etc. I tried the Racket Windows installer, but AFAICT it's missing DrRacket and other libraries. Thanks for trying the installer! My configuration file was wrong, so that the Racket installers had the same content as the Minimal Racket ones. A new snapshot is here: http://www.cs.utah.edu/plt/snapshots/20130703-d2ddfc0/ The 32-bit Windows Racket installer works for me, this time --- but the Mac OX X builds seem completely broken. I'll try again tomorrow. _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] snapshot builds
On 2013-07-03 22:56:16 -0600, Matthew Flatt wrote: The 32-bit Windows Racket installer works for me, this time --- but the Mac OX X builds seem completely broken. Thanks, this time I was able to get DrRacket from the installer. BTW, one thing that seems broken is if I go to the package manager and click on Installl from List, I get the following internal error: get-all-pkg-details-from-catalogs: bad response from server url: http://www.cs.utah.edu/plt/snapshots/20130703-d2ddfc0/catalog/pkgs-all?version=5.3.900.3 response: #f context...: C:\Program Files\Racket-5.3.900.3\lib\collects\pkg\lib.rkt:2008:2: for-loop C:\Program Files\Racket-5.3.900.3\lib\pkgs\drracket\pkg\gui\by-list.rkt:321:9: for-loop I can't seem to reproduce it the same way anymore, but it also happens if I click Update Package List. Also, thanks for setting this up! Cheers, Asumu _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] snapshot builds
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