Specific instructions for building on various platforms are covered here!
The easiest way to build is using the Sealeo docker container. It uses this dependency helper script to be able to build for all supported platforms. This is how the pre-compiled binaries are built.
- Install Docker
- Run the following, replacing
switch
with the target platform (one ofswitch
,wiiu
, orpc
):
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
export PLATFORM=switch # or wiiu, 3ds, wii, pc, pc-sdl1
docker run -v $(pwd):/code -it ghcr.io/fortheusers/sealeo /bin/bash -c "cd /code && make $PLATFORM"
Depending on which platform you chose, appstore.nro
or appstore.rpx
should now be sitting in the cloned directory. When building for Wii U, an appstore.wuhb
file will also be present.
Below instructions are for Ubuntu, but should be similar on other platforms.
Both targets support the addition of CFLAGS += -D_3DS_MOCK
in the Makefile to build a version that uses 3DS dimensions and layout logic for the window size.
The following produces appstore.bin
in the current directory:
sudo apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-gfx-dev zlib1g-dev gcc g++ libcurl4-openssl-dev
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
make pc
The following produces appstore.bin-sdl1
in the current directory:
sudo apt-get install libsdl1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl-gfx1.2-dev zlib1g-dev gcc g++ libcurl4-openssl-dev
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
make pc-sdl1
- Install dkp-pacman
- Install devkitPPC and needed Wii U dependencies via dkp-pacman:
sudo dkp-pacman -S wut wiiu-sdl2 devkitPPC wiiu-sdl2_gfx wiiu-sdl2_image wiiu-sdl2_ttf wiiu-sdl2_mixer ppc-zlib ppc-bzip2 ppc-freetype ppc-mpg123 ppc-libpng ppc-pkg-config wiiu-pkg-config wut-tools wut wiiu-curl
- If on macOS: install gtar with:
brew install gnu-tar
(needed by resinfs) - Once the environment is setup:
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
make wiiu
If all goes well, appstore.rpx
and appstore.wuhb
should be sitting in the current directory.
- Install dkp-pacman
- 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-libwebp switch-sdl2 switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf switch-sdl2_mixer switch-zlib switch-libpng switch-mesa
- If on macOS: install gtar with:
brew install gnu-tar
(needed by resinfs) - Once it's all setup, recursively clone the repo and run make:
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
make switch
If all goes well, appstore.nro
should be sitting in the current directory.
- Install dkp-pacman
- Install devkitPPC and needed Wii dependencies via dkp-pacman:
sudo dkp-pacman -S devkitPPC libogc gamecube-tools ppc-zlib ppc-bzip2 ppc-freetype ppc-mpg123 ppc-libpng ppc-pkg-config ppc-libvorbisidec ppc-libjpeg-turbo libfat-ogc wii-sdl2 wii-sdl2_gfx wii-sdl2_image wii-sdl2_ttf wii-sdl2_mixer
- If on macOS: install gtar with:
brew install gnu-tar
(needed by resinfs) - Once it's all setup, recursively clone the repo and run make:
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
make wii
If all goes well, appstore.dol
should be sitting in the current directory.
- Install dkp-pacman
- Install devkitARM and needed 3DS dependencies via dkp-pacman:
sudo dkp-pacman -S 3ds-sdl 3ds-sdl_image 3ds-sdl_mixer 3ds-sdl_gfx 3ds-sdl_ttf libctru citro3d 3dstools 3ds-curl 3ds-mbedtls
- If on macOS: install gtar with:
brew install gnu-tar
(needed by resinfs) - Once it's all setup, recursively clone the repo and run make:
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
make 3ds
If all goes well, appstore.3dsx
should be sitting in the current directory.