Reproducible build recipes for GHC development VMs?

Luite Stegeman stegeman at gmail.com
Wed Aug 21 17:11:05 CEST 2013


Vagrant is pretty easy to get up and running, with downloadable installers
for Windows and OS X (install VirtualBox first), and it can be apt-get
installed on ubuntu. Vagrant starts with a base VM image (~300MB I think,
hosted on their servers), and lets you run a script or more elaborate
provisioner to configure it to your needs.

You configure the settings of the VM (networking, cpu's, shared filesystem)
through the Vagrantfile script. Unfortunately there are some
incompatibilities between the scripts of Vagrant 1.0 and 1.2, and I haven't
made the GHCJS scripts backwards compatible with 1.0 yet (Ubuntu 12.04
comes with vagrant 1.0 in the repositories, so it would be nice to support
that out of the box, instead of requiring users to download an updated .deb
package)

A user only has to run `vagrant up' in the directory containing the
Vagrantfile. `vagrant provision` reruns the installation script, and
`vagrant destroy' removes the VM.  `vagrant ssh` (from this directory) logs
into the vm without a password.

luite



On Wed, Aug 21, 2013 at 4:55 PM, Ryan Newton <rrnewton at gmail.com> wrote:

> Luite,
>
> Neat!  That sounds perfect.  If it can build/install the compiler, then
> it's also ready to go for validation of patches.
>
> I've never used vagrant myself but I'll give it a try.  Is this the
> absolute easiest thing for people to do?  Or should I just put a (sadly
> multi GB) virtual box image on my website?
>
>   -Ryan
>
>
>
> On Wed, Aug 21, 2013 at 10:51 AM, Luite Stegeman <stegeman at gmail.com>wrote:
>
>> We've been using Vagrant and puppet for building GHC HEAD with some
>> patches and GHCJS on 32 and 64 bit ubuntu. This way, rebuilding the whole
>> VM from scratch is just one command (vagrant up), the VM can either copy
>> files to the host, through a shared filesystem, or just use the network to
>> report results.
>>
>> I'd be happy to help setting this up for GHC
>>
>> https://github.com/ghcjs/ghcjs-build
>>
>>
>> On Wed, Aug 21, 2013 at 4:44 PM, Ryan Newton <rrnewton at gmail.com> wrote:
>>
>>> Hi all,
>>>
>>> Returning to the topic discussed by Simon M. and others here:
>>>
>>>
>>> http://projects.haskell.org/pipermail/haskell-platform/2009-July/000572.html
>>>
>>> This is my attempt at a script for bootstrapping a GHC-validating VM:
>>>
>>>
>>> http://parfunk.blogspot.com/2013/08/zero-to-ghc-development-in-ubuntu-vm-in.html
>>>
>>> Let me know if there's a better way, or if you'd like to help get this
>>> kind of thing into an even more accessible form (Amazon AMI, Chef recipe,
>>> etc).
>>>
>>> Cheers,
>>>   -Ryan
>>>
>>>
>>>
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs at haskell.org
>>> http://www.haskell.org/mailman/listinfo/ghc-devs
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130821/841da56c/attachment.htm>


More information about the ghc-devs mailing list