How to edit the htdp package from a release?

84 views
Skip to first unread message

Ben Greenman

unread,
Oct 12, 2016, 11:34:28 AM10/12/16
to Racket Users
I've installed Racket 6.6 from download.racket-lang.org and I'd like to submit a change to the HTDP repo.

(This question is not really specific to HTDP, anyway)

Before I submit the edit, I want to test the change on my machine, so I figure I'll make a clone of the htdp package:

$ raco pkg update --clone htdp

But this gives me an error:

Inferred package name from given `--clone' path
  package: htdp
  given path: htdp
Inferred package scope: installation
raco pkg update: package is not currently installed from a repository
  package: htdp
  current installation: (catalog htdp)

Is it possible for my install of Racket 6.6 to use a cloned version of htdp?

John Clements

unread,
Oct 12, 2016, 11:43:40 AM10/12/16
to Ben Greenman, Racket Users
Should this be

raco pkg install —clone htdp

instead?

>
> --
> You received this message because you are subscribed to the Google Groups "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



John Clements

unread,
Oct 12, 2016, 11:45:20 AM10/12/16
to Ben Greenman, Racket Users

> On Oct 12, 2016, at 8:43 AM, 'John Clements' via Racket Users <racket...@googlegroups.com> wrote:
>
>
>> On Oct 12, 2016, at 8:34 AM, Ben Greenman <benjamin...@gmail.com> wrote:
>>
>> I've installed Racket 6.6 from download.racket-lang.org and I'd like to submit a change to the HTDP repo.
>>
>> (This question is not really specific to HTDP, anyway)
>>
>> Before I submit the edit, I want to test the change on my machine, so I figure I'll make a clone of the htdp package:
>>
>> $ raco pkg update --clone htdp
>>
>> But this gives me an error:
>> Inferred package name from given `--clone' path
>> package: htdp
>> given path: htdp
>> Inferred package scope: installation
>> raco pkg update: package is not currently installed from a repository
>> package: htdp
>> current installation: (catalog htdp)
>>
>> Is it possible for my install of Racket 6.6 to use a cloned version of htdp?
>
> Should this be
>
> raco pkg install —clone htdp
>
> instead?

Ohh…. I see. From a release! Sorry, I’m a bit slow. I’m guessing you could manually remove the package, though there might be dependencies on it.

John



Matthew Flatt

unread,
Oct 12, 2016, 12:01:44 PM10/12/16
to Ben Greenman, Racket Users
Yes, but since "htdp" starts out installed from a catalog that provides
a built "htdp" package instead of the Git package source, you have to
also specify the Git source.

Although you can do that with

$ raco pkg update --clone htdp "https://github.com/racket/htdp.git?path=htdp"

I bet you actually want to modify "htdp-lib" or "htdp-doc"... and then
I see that you're going to get to a dependency mismatch with
"string-constants".


In this case, things will work better if you use

$ bin/raco pkg update --catalog https://pkgs.racket-lang.org htdp

to switch to the development version of the package, so you get needed
updates for other packages (also from the catalog). The catalog
provides a Git path, so then

$ raco pkg update --clone htdp

will do what you expected.

Really, I guess you want to use a catalog that has Git paths but also
checksums at the time of the v6.6 release, as opposed to using the
post-6.6 development branch. I don't think we currently have catalogs
like that, though.

Ben Greenman

unread,
Oct 12, 2016, 12:03:46 PM10/12/16
to Matthew Flatt, Racket Users
yes yes yes
Thank you!

--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscribe@googlegroups.com.

Alex Harsanyi

unread,
Oct 13, 2016, 7:47:15 PM10/13/16
to Racket Users
On Thursday, October 13, 2016 at 12:01:44 AM UTC+8, Matthew Flatt wrote:
>
> In this case, things will work better if you use
>
> $ bin/raco pkg update --catalog https://pkgs.racket-lang.org htdp

I tried to run this command (as I also would like to work on some built in packages), and after it run successfully, my racket installation seems broken. Running raco without any arguments gives out warnings:

warning: tool "contract-profile" registered twice: "contract-profile" and #<path:C:\Program Files\Racket\share\pkgs\contract-profile>
warning: tool "dependencies-graph" registered twice: "dependencies-graph" and #<path:C:\Program Files\Racket\share\pkgs\drracket-tool-lib\drracket>
warning: tool "docs" registered twice: "docs" and #<path:C:\Program Files\Racket\share\pkgs\racket-doc\help>
warning: tool "check-requires" registered twice: "check-requires" and #<path:C:\Program Files\Racket\share\pkgs\macro-debugger-text-lib\macro-debugger>
warning: tool "show-dependencies" registered twice: "show-dependencies" and #<path:C:\Program Files\Racket\share\pkgs\macro-debugger-text-lib\macro-debugger>
warning: tool "macro-profiler" registered twice: "macro-profiler" and #<path:C:\Program Files\Racket\share\pkgs\macro-debugger-text-lib\macro-debugger>
warning: tool "planet" registered twice: "planet" and #<path:C:\Program Files\Racket\share\pkgs\planet-lib\planet>
warning: tool "profile" registered twice: "profile" and #<path:C:\Program Files\Racket\share\pkgs\profile-lib>
warning: tool "scribble" registered twice: "scribble" and #<path:C:\Program Files\Racket\share\pkgs\scribble-lib\scribble>

and trying to run DrRacket also fails with errors about duplicate languages.

I'm using Racket 6.6 (released version), no extra packages installed on a Windows 7 64 bit OS.

What am I doing wrong?

Thanks,
Alex.

Reply all
Reply to author
Forward
0 new messages