slskd: Fix build

This commit is contained in:
tschettervictor
2025-04-18 06:44:01 -06:00
committed by GitHub
parent 5f8ccd9c0e
commit 322ffea1e4

View File

@@ -10,6 +10,10 @@ if ! [ $(id -u) = 0 ]; then
exit 1
fi
# Switch to latest repo
mkdir -p /usr/local/etc/pkg/repos
echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf
# Package Installation
pkg install -y \
dotnet \
@@ -22,14 +26,32 @@ mkdir -p /usr/local/www
mkdir -p /usr/local/etc/rc.d
# SLSKD Setup
pw user add soulseek -c soulseek -u 5030 -d /nonexistent -s /usr/bin/nologin
git clone https://github.com/slskd/slskd /slskd
id -u soulseek 2>&1 || pw user add soulseek -c soulseek -u 5030 -d /nonexistent -s /usr/bin/nologin
if [ -d "/slskd" ]; then
cd /slskd && git reset --hard HEAD
cd /slskd && git pull
else
git clone https://github.com/slskd/slskd /slskd
fi
cd /slskd/src/web && npm install
cd /slskd/src/web && npm run build
rm -rf /slskd/src/slskd/wwwroot
cp -av /slskd/src/web/build /slskd/src/slskd/wwwroot
cd /slskd/src/slskd && dotnet build --no-incremental --nologo --configuration Release
cd /slskd/src/slskd && dotnet publish --configuration Release -p:PublishSingleFile=true -p:ReadyToRun=true -p:IncludeNativeLibrariesForSelfExtract=true -p:CopyOutputSymbolsToPublishDirectory=false --self-contained --output ../../../usr/local/www/slskd
cp -a /slskd/src/web/build /slskd/src/slskd/wwwroot
sed -i '' 's/net8.0/net9.0/g' /slskd/src/slskd/slskd.csproj
cd /slskd/src/slskd && dotnet build \
--no-incremental \
--nologo \
--configuration Release
cd /slskd/src/slskd && dotnet publish \
-c Release \
--runtime freebsd-x64 \
--framework net9.0 \
-p:ReadyToRun=true \
-p:PublishSingleFile=true \
-p:IncludeNativeLibrariesForSelfExtract=true \
-p:Version=$(git describe --tags --abbrev=0)+$(git rev-parse --short HEAD) \
--output ../../../usr/local/www/slskd \
--self-contained &&
cd /usr/local/www/slskd && ln -s /usr/local/lib/libsqlite3.so libe_sqlite3.so
if ! [ -f "/usr/local/www/slskd/slskd.yml" ]; then
cp /usr/local/www/slskd/config/slskd.example.yml /usr/local/www/slskd/slskd.yml