Vagrant
evi редактировал эту страницу 7 лет назад

The recommended method for building a freeShop version is by using Vagrant. Vagrant is a tool that allows for the creation of simple, consistent development environments by using Virtual Machines, which are then provisioned with various dependencies.

The reason it is highly recommended to use Vagrant over manually installing the dependencies is due to the fact that cpp3ds is dependent on outdated versions of citro3d, devkitARM and libctru.

Below follows, at it's simplest, how to get the vagrant build environment up and running.

Setting up vagrant

  • Install vagrant through your favorite package manager or build it from source.
  • Clone the freeShop repository recursively. This will ensure that the submodules in external/* are properly cloned.
  • Open a terminal window or cd in the freeShop directory from the terminal.
  • Run vagrant up in the terminal. This will download the VM box if it is missing, and builds cpp3ds, libarchive from 3ds_portlibs and libmpg123 compiled for the 3DS on the VM if its the first time you run the script. After that the program will exit, but leaves the VM running.
  • In order to use the vagrant box, run vagrant ssh. This will drop you in a ssh session in the VM.
  • To build freeShop, go in the /vagrant/ directory and follow the commands in the README file. The /vagrant/ directory is equivalent to the freeShop directory on your host system.
  • Generated files will be available in freeShop/bin/ (or /vagrant/bin in the vagrant VM).
  • To quit the vagrant VM, exit the ssh session and run vagrant halt in the freeShop directory.
  • If you want to rebuild the VM for whatever reason, run vagrant destroy to destroy the VM. Run vagrant up to rebuild the VM.

I didn't read that, tell me the commands.

Cheat sheet:

  • vagrant up starts the VM.
  • vagrant ssh drops you in a shell session in the VM.
  • vagrant halt stops the VM.
  • vagrant destroy removes the VM from your system.