[racket] how to declare dependency on Racket 6.0?

From: Matthew Butterick (mb at mbtype.com)
Date: Fri Jul 4 15:19:57 EDT 2014

1) I've changed my dependency to 'base'. (I don't need a nice error, I just need to block v5 users from installing the package.)


2) As for the earlier problem, I'm pretty sure it had to do with the "racket" mapping being null:

https://github.com/plt/racket/commit/50715f7bda4bf9b745a47c4b3853ee48cc247198

Because the installer was throwing an error about getting a null argument when it expected a list, like this:

> raco setup: --- checking package dependencies ---
> car: contract violation
>  expected: pair?
>  given: '()
>  context...:
>   /Users/MB/git/racket/racket/collects/setup/private/pkg-deps.rkt:283:2: check-mod!
> ...


And the error was coming from the same file, pkg-deps.rkt.


I just rebuilt from git, and reinstalled my updated package, and things seem back to normal.







On Jul 3, 2014, at 9:15 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:

> That should work, although it's better to declare a dependency on
> "base" instead of "racket":
> 
> (define deps '(("base" #:version "6.0") ... )
> 
> You should generally declare a dependency on "base", anyway.
> 
> 
> At least, that's the right way for v6.0 and later. If the goal is to
> get a nice error message from v5.3.x, then you have to
> 
> * use the old format without `#:version`:
> 
>       (define deps '(("base" "6.0") ... )
> 
> * use `#lang setup/infotab` instead of `#lang info`
>   for the "info.rkt" file, and
> 
> * declare the dependency on "racket", after all, since "base" didn't
>    exist as a package in v5.3.x:
> 
>       (define deps '(("racket" "6.0") ... )
> 
> 
> For a while in v6.0.x, there were some problems with dependency
> checking in `raco setup` when a package declares a dependency on
> "racket". Otherwise, even though declaring a versioned dependency on
> "base" is better, declaring a dependency on "racket" should work. Can
> you say more about how it went wrong?
> 
> 
> At Thu, 3 Jul 2014 16:22:56 -0700, Matthew Butterick wrote:
>> On closer inspection, it seems possible that my recent install problems were a 
>> side effect of Racket being installed as a package dependency by my Pollen 
>> package, where the info.rkt contains this line: 
>> 
>> (define deps '(("racket" #:version "6.0") ... )
>> 
>> Is this the wrong way to declare this kind of dependency? Basically I just want 
>> to signal that the package will not work with Racket 5.x.x.
>> ____________________
>>  Racket Users list:
>>  http://lists.racket-lang.org/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140704/855f5680/attachment.html>

Posted on the users mailing list.