[racket] how to declare dependency on Racket 6.0?
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>