<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 4, 2013 at 12:05 PM, Matthew Flatt <span dir="ltr">&lt;<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">At Thu, 4 Jul 2013 12:52:10 -0400, Sam Tobin-Hochstadt wrote:<br>

&gt; All of these are about packages/the new repository organization.<br>
&gt;<br>
&gt; 0. I think we should have a new `#lang info` for info.rkt files --<br>
&gt; `setup/infotab` seems pretty arbitrary.   I&#39;ll do this if no one<br>
&gt; objects.<br>
<br>
</div>That sounds fine to me.<br>
<div class="im"><br>
&gt; 1. Builds treat too much as core. Specifically, `raco setup`<br>
&gt; pre-builds some things single threaded, but too many:<br>
<br>
</div>Yes. This is probably not too difficult to fix, but I haven&#39;t gotten to<br>
<div class="im">it.<br>
<div class="h5"><a href="http://lists.racket-lang.org/dev" target="_blank"></a><br>
</div></div></blockquote><div><br></div><div style>I had a quick look at this: the relevant code is these two lines (885 and 886 in setup-unit.rkt):</div><div style><br></div><div>          (for/fold ([gcs 0]) ([cc (in-list (collection-&gt;ccs (list (string-&gt;path &quot;racket&quot;))))])</div>
<div>            (compile-cc cc 0)))</div><div style><br></div><div style> I&#39;m not sure of the right fix tho. I think we can either </div><div style><br></div><div style>a) do nothing (since it causes no harm and you won&#39;t see this problem unless you are in a slightly strange situation of running the top-level makefile but already having the pkg links setup (I think))</div>
<div style><br></div><div style>b) delete these two lines (since I think they are there only to make the parallel performance better, but that can be made better by just making &#39;racket&#39; collections go first in parallel mode (I think))</div>
<div style><br></div><div style>c) try to filter our non-collection-path &#39;racket&#39;s, something like this:</div><div style><br></div><div style><div>          (define (path-is-inside? candidate-parent candidate-child)</div>
<div>            (not (equal? (find-relative-path candidate-parent candidate-child)</div><div>                         candidate-child)))</div><div>          (for/fold ([gcs 0]) ([cc (in-list (collection-&gt;ccs (list (string-&gt;path &quot;racket&quot;))))])</div>
<div>            (when (for/or ([cp (current-library-collections-paths)]) (path-inside? cp (cc-name)))</div><div>              (compile-cc cc 0)))</div><div><br></div><div style>I guess b) is best, but I thought I&#39;d check.</div>
<div style><br></div><div style>Robby</div></div></div></div></div>