Homebrew App Store - GUI for downloading/managing homebrew apps for video game consoles
Clone or download
Latest commit 701d927 Dec 14, 2018

README.md

Homebrew App Store travis

A graphical frontend to the get package manager for downloading and managing homebrew on video game consoles, such as the Nintendo Switch. This is a replacement to the Wii U Homebrew App Store.

Supported Platforms

Nintendo Switch

To run this program, a Nintendo Switch with access to the Homebrew Menu is required (currently requires an sd card).

A quick summary of how to run it, provided you can get to hbmenu, is also included below. For newer firmwares, see the link to the 4.x-5.x instructions above.

Quick summary

  • download latest appstore folder to sd:/switch/appstore/
  • download latest hbmenu.nro to sd:/hbmenu.nro
  • put the SD card (recommended formatted FAT32) in the Switch, and enter hbmenu (see instructions above)
  • run "hb App Store" from within hbmenu
    • when you're done hit home to exit (and album again to go back to hbmenu)

Wii U

To run this program, a Wii U with access to the Homebrew Launcher is required. This can be done on any firmware. For more information, see the tutorial here.

For a stable release, see here.

Maintaining a repo

See get's instructions for setting up a repository. Everything is designed to be statically hosted. If there's no repo provided in the repos.json config file, then it will generate a default one pointing to switchbru.com/appstore.

A new project called Barkeep is being worked on to allow this to be done without using a simple script.

Compilation instructions

This program is written using SDL2 and has dependencies on libsdl, libcurl, and zlib. It also makes use of libget which is included in this repo as a submodule.

Building for Switch (with libnx)

  1. Install dkp-pacman
  2. Install devkitA64 and needed Switch dependencies via dkp-pacman:
sudo dkp-pacman -S devkitA64 libnx switch-tools switch-curl switch-bzip2 switch-freetype switch-libjpeg-turbo switch-sdl2 switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf switch-zlib switch-libpng
  1. Once it's all setup, recursively clone the repo and run make:
git clone --recursive https://github.com/vgmoose/hb-appstore.git
cd hb-appstore
make -f Makefile.switch

If all goes well, appstore.nro should be sitting in the current directory.

Building for Wii U (with WUT)

The below instructions are currently for Linux and macOS

  1. Install dkp-pacman
  2. Setup the wiiu repo in pacman–

Add the following to the bottom of /opt/devkitpro/pacman/etc/pacman.conf:

[wiiu-fling]
Server = https://fling.heyquark.com

Then run the following commands:

wget https://fling.heyquark.com/fling-key.pub
dkp-pacman-key --add fling-key.pub
dkp-pacman-key --lsign 6F986ED22C5B9003
dkp-pacman -Syu
  1. Install sdl2, wut, devkitPPC and other dependencies (on macOS, use wut-osx instead of wut-linux)
sudo dkp-pacman -S wut-linux wiiu-sdl2 devkitPPC ppc-zlib ppc-bzip2 ppc-freetype ppc-libpng wiiu-curl-headers
  1. Install libromfs according to the readme instructions
  2. Once the environment is setup:
git clone --recursive https://github.com/vgmoose/hb-appstore.git
cd hb-appstore
make -f Makefile.wiiu

If all goes well, appstore.rpx should be sitting in the current directory.

Building for PC

There's a separate makefile for building the SDL2 app for PC. Below instructions are for Ubuntu, but should be similar on other platforms:

sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-gfx-dev zlib1g-dev gcc g++ git
git clone --recursive https://github.com/vgmoose/hb-appstore.git
cd hb-appstore
make -f Makefile.pc

License

This software is licensed under the GPLv3.

Maintainers

  • vgmoose
  • rw-r-r_0644

Contributing

It's not required, but running a clang-format before making a PR helps to clean up styling issues:

find . \( -name "*.cpp" -or -name "*.hpp" \) -not -path "./libs/*" -exec clang-format -i {} \;