I and the other members of my project are all using using the same LTS 
Haskell 5.9 with version 1.3.2 of Stack on identical Linux workstations.

If I introduce a new dependency on a third-party library to the project, I 
would like to upload my prebuilt binary artifact of that dependency to some 
shared cache so that others do not also have to pay the compilation penalty.

For two developers, Alice and Bob, say that Alice has compiled the project 
successfully, and Bob needs to set up his environment to do the same.

For one, even on the same machine, it does not yet seem possible to simply 
copy the entire "/home/alice/.stack" directory to "/home/bob/.stack" to 
bootstrap Bob's environment.
It seems that the path to the "stack root" directory itself is hard-coded 
in many datafiles that live inside the stack root.

Failing that, after Bob has already bootstrapped his stack root, perhaps 
when Alice adds a new package dependency, it would be possible to copy some 
subset of the content in "/home/alice/.stack" to Bob's stack root to avoid 
compiling that single new dependency.

The "~/.stack/precompiled" directory looks like a likely candidate for 
artifacts to copy.  However, there appears to be some opaque registration 
process (seemingly involving 
"~/.stack/snapshots/x86_64-linux/lts-5.9/7.10.3/pkgdb/package.cache") that 
must take place before the copied binaries can actually be used.

Has anyone else been down this road of binary sharing?

Thanks,
Karl

-- 
You received this message because you are subscribed to the Google Groups 
"haskell-stack" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to haskell-stack+unsubscr...@googlegroups.com.
To post to this group, send email to haskell-stack@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/haskell-stack/77a374c1-4e78-4f5f-aa36-965e8d7758e4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to