For those projects described with Metacello baselines or configurations you
can issue a #fetch command to download all the Monticello packages needed to
load the projects into your image....



e.g.


Metacello new
  configuration:'Seaside3';
  repository:
'http://www.smalltalkhub.com/mc/Seaside/MetacelloConfigurations/main';
  version: #stable;
  fetch


or fetch: #('Core' 'Tests') etc etc etc



It does load the projects configuration/baseline and all of the dependencies
projects/baselines in order to analyze them and find what needs to be
downloaded.  But it doesn't load any of the packages' code.


Does this help?


Paul





Luke Gorrie wrote
> Howdy!
> 
> I want to build Pharo images using Nix <https://nixos.org/nix/>. On
> the one
> hand this should look basically like the Jenkins scripts, but on the other
> hand the build must run inside a sandbox that is isolated from the
> network.
> So I need to download all of the code that I need ahead of time because I
> am not able to contact Github, SmalltalkHub, etc, once the build is
> running.
> 
> I am not sure how to approach this problem yet but I have a preliminary
> question.
> 
> Is there an easy way that I could "recursively" download all the Smalltalk
> code (etc) required for an application onto the local filesystem, and then
> load this into a Pharo image that does not have network access?
> 
> Concrete example - How could I write a Pharo script that downloads all the
> software required to install Moose in a standard Pharo 6.0 image? Then how
> could I load that into an image off the local filesystem?
> 
> I feel like there should be a solution here, since Monticello seems to be
> able to cache packages locally on the filesystem, but I don't how enough
> experience to quite know how to approach it.
> 
> If this is possible then the "utopian" vision could be to recursively
> download every Pharo package that exists, in every relevant version, and
> make them available in the Nix universe. This is what Nix does with
> Python,
> R, Emacs, etc packages.
> 
> Or if this turns out to be difficult for some reason then I could perhaps
> build the Pharo image externally - e.g. on the Inria Jenkins - and then
> import that into Nix as an opaque binary. This is probably the simplest
> solution but it is not very appealing from my Nix-centric viewpoint
> because
> I won't have visibility into what has changed between one image build and
> the next.
> 
> Feedback would be much appreciated!
> -Luke
> 
> P.S. Screenshot from the Pharo part of my application that is starting to
> come together, visualizing Lua JIT compiler IR code to make it more
> understandable than disassembly listings:
> https://github.com/raptorjit/raptorjit/pull/63#issuecomment-310138536.





--
View this message in context: 
http://forum.world.st/Recursively-downloading-Pharo-packages-Building-images-with-Nix-tp4952392p4952471.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply via email to