Skip to content
This repository has been archived by the owner on Oct 10, 2023. It is now read-only.

Build and install using makepkg

SilverDimond edited this page Aug 6, 2023 · 3 revisions

Create a new empty directory you have rw access to, create PKGBUILD

pkgname="silveraudioplayer-git"
pkgver="6.2.0"
pkgrel="3"
pkgdesc="The SilverCraft Audio Player"
source=('git+https://github.com/thesilvercraft/SilverAudioPlayer' "git+https://github.com/thesilvercraft/cscore")
arch=('any')
license=('GPL')
url="https://github.com/thesilvercraft/SilverAudioPlayer"
depends=("dotnet-runtime-6.0" "kdesu")
makedepends=("dotnet-sdk-6.0")
conflicts=("silveraudioplayer")
optdepends=('vlc: LibVLC backend'
            'openal: OpenAL playback via CSCore'
            'discord: Discord rich presence'
            'ffmpeg: To use Sync')
sha512sums=('SKIP' 'SKIP')
prepare() {
  cd SilverAudioPlayer
  git submodule init
  git config submodule.libs/libdep.url "$srcdir/cscore"
  git -c protocol.file.allow=always submodule update
}
build() {
	cd "${srcdir}/SilverAudioPlayer/SilverAudioPlayer.Avalonia"
	export DOTNET_CLI_TELEMETRY_OPTOUT=1
	dotnet publish -c Publish
    rm -rfv bin/Publish/net6.0/publish/runtimes/{alpine-*,osx*,tizen-*,win*,browser*}
    rm -rfv bin/Publish/net6.0/publish/FFmpeg/bin/windows
    rm -rfv bin/Publish/net6.0/publish/libvlc/win*
}
package() {
  mkdir -p "${pkgdir}/usr/bin"
  mkdir -p "${pkgdir}/opt"
  cp -R "${srcdir}/SilverAudioPlayer/SilverAudioPlayer.Avalonia/bin/Publish/net6.0/publish/." "${pkgdir}/opt/silveraudioplayer"
  cd "${pkgdir}/usr/bin"
  ln -s "../../opt/silveraudioplayer/SilverAudioPlayer.Avalonia" "SilverAudioPlayer.Avalonia"
  mkdir -p "${pkgdir}/usr/share/applications"
  mkdir -p "${pkgdir}/usr/share/pixmaps/"
  cd "${pkgdir}/opt/silveraudioplayer"
  cp SilverAudioPlayer.desktop "${pkgdir}/usr/share/applications"
  cp icon.svg "${pkgdir}/usr/share/pixmaps/"
}

open a terminal and run makepkg -si

Clone this wiki locally