Is there a guide to making packages with -doc & -lib versions so you can require the package-lib without getting/building the documentation?
@spdegabrielle I recommend not doing it
Why? My use case is I really need to minimise my code footprint so I can build racket-stories on http://glitch.com\|glitch.com (200mb container)
You can use the built-package catalog to solve the same problem, and better.
?
(this is not well documented :slightly_frowning_face:)
@spdegabrielle Here’s how I ended up doing it in my docker project (which is mostly verbatim from @notjack’s Dockerfile). Both rash and rebellion are not split up into lib and doc packages. raco pkg config --set catalogs \
"<https://download.racket-lang.org/releases/7.5/catalog/>" \
"<https://pkg-build.racket-lang.org/server/built/catalog/>" \
"<https://pkgs.racket-lang.org>" \
"<https://planet-compats.racket-lang.org>"
raco pkg install --binary-lib --auto xrepl-lib rash rebellion
also, beware that this requires you to use the same racket version that the package build server does
or else run your own catalog with your own build server
Yes that is a downside. It would be a great community project to support 1–2 revisions back.
I’d also like to see more graceful behavior in raco pkg
here
I vaguely remember trying this and installation would outright fail if they weren’t on the build server
Yes. Also if you don’t have the built catalog it will fail.
That saga is in the above thread.
I’d like to specify “use prebuilt stuff as much as possible, but fall back to building dependencies from source if necessary”
It’s a cache. It should behave like one.
(And at that point, if it’s stable enough, it could even be enabled by default)
I’m already using —binary
for the packages that support it. Not clear on the distinction from —binary-lib
I don’t think we have the manpower to support that service right now. I can support the current package-build service ok, but a service that is the front line for package deployment needs to be at least an order of magnitude more robust and available.
Makes sense. Anything I can do to help?
--binary
will still download the rendered documentation (the HTML files, not the Scribble source) for all of your transitive dependencies. That’s skipped when using --binary-lib
.
If you’d like to volunteer as the pkg-build service provider (long-term), then you’re on! Racket has funds that can easily cover computing resources (e.g., AWS), but not the kind of money needed to pay people.
I can do that. Running a CI system for a whole bunch of people is basically my day job anyway.
Thanks!!! Let’s coordinate more by email, since that’s probably better for this.
SGTM, will wait for your email