Browse Source

ci: add nswitch build scripts

pull/2/head
fgsfds 2 years ago
parent
commit
98a7f6fa3f
  1. 50
      scripts/gha/build_nswitch.sh
  2. 30
      scripts/gha/deps_nswitch.sh

50
scripts/gha/build_nswitch.sh

@ -0,0 +1,50 @@
#!/bin/bash
. scripts/lib.sh
# args: branch name, gamedir name
build_hlsdk()
{
echo "Building HLSDK: $1 branch..."
git checkout switch-$1
./waf configure -T release --nswitch || die_configure
./waf build || die
cp build/dlls/$1_nswitch_aarch64.so ../../pkgtemp/xash3d/$2/dlls/
cp build/cl_dll/client_nswitch_aarch64.so ../../pkgtemp/xash3d/$2/cl_dlls/
./waf clean
}
export DEVKITPRO=/opt/devkitpro
source $DEVKITPRO/switchvars.sh || die
cd "$BUILDDIR" || die
rm -rf artifacts build pkgtemp hlsdktemp
mkdir -p pkgtemp/xash3d/{valve,gearbox,bshift}/{dlls,cl_dlls} || die
echo "Building engine..."
./waf configure -T release --nswitch || die_configure
./waf build || die
echo "Building HLSDK..."
mkdir -p hlsdktemp || die
cd hlsdktemp || die
# TODO: replace with FWGS/hlsdk-portable.git when PRs are merged
git clone --recursive https://github.com/fgsfdsfgs/hlsdk-xash3d.git
cd hlsdk-xash3d || die
build_hlsdk hl valve
build_hlsdk opfor gearbox
build_hlsdk bshift bshift
echo "Packaging artifacts..."
cp build/engine/xash.nro pkgtemp/xash3d/xash3d.nro
cp build/ref/gl/libref_gl.so pkgtemp/xash3d/
cp build/ref/soft/libref_soft.so pkgtemp/xash3d/
cp build/3rdparty/mainui/libmenu.so pkgtemp/xash3d/
cp build/3rdparty/extras/extras.pk3 pkgtemp/xash3d/valve/
mkdir -p artifacts/ || die

30
scripts/gha/deps_nswitch.sh

@ -0,0 +1,30 @@
#!/bin/bash
cd $GITHUB_WORKSPACE
echo "Downloading and installing dkp-pacman..."
wget https://apt.devkitpro.org/install-devkitpro-pacman
chmod +x ./install-devkitpro-pacman
sudo ./install-devkitpro-pacman
sudo dkp-pacman --noconfirm -Sy
echo "Downloading and installing devkitA64..."
export DEVKITPRO=/opt/devkitpro
export DEVKITA64=$DEVKITPRO/devkitA64
export PORTLIBS=$DEVKITPRO/portlibs
sudo dkp-pacman --noconfirm -S devkitA64 dkp-toolchain-vars switch-cmake switch-pkg-config
echo "Downloading and installing packaged dependencies..."
sudo dkp-pacman --noconfirm -S libnx switch-mesa switch-libdrm_nouveau switch-sdl2
echo "Downloading and installing libsolder..."
git clone https://github.com/fgsfdsfgs/libsolder.git
pushd ./libsolder
make && make install
popd
Loading…
Cancel
Save