# Maintainer: Jacek Szafarkiewicz # Contributor: Levente Polyak pkgname=sunshine-git pkgver=0.13.0.957.4b658cd pkgrel=1 pkgdesc="Open source implementation of NVIDIA's GameStream, as used by the NVIDIA Shield" url="https://github.com/SunshineStream/sunshine" arch=('x86_64' 'i686') license=('GPL3') depends=('boost-libs' 'ffmpeg4.4' 'openssl' 'libpulse' 'opus' 'libxtst' 'libx11' 'libxfixes' 'libevdev' 'libxcb' 'libxrandr' 'udev') makedepends=('git' 'cmake' 'boost' 'make') provides=('sunshine') conflicts=("sunshine") # source=("$pkgname::git+https://github.com/SunshineStream/sunshine.git" # "systemd-user-config.patch" # "udev.rules") source=("$pkgname::git+https://github.com/SunshineStream/sunshine.git") # sha256sums=('SKIP' # '1642eb8672b137e94aa16e4aadde37f68bf1920dfadd1325cca480d7731f38c9' # '5ce01689247cb01d3f119cac32c731607d99bb875dcdd39c92b547f76d2befa0') sha256sums=('SKIP') # install=sunshine.install _assets_path=/usr/share/sunshine pkgver() { cd "$pkgname" printf "%s.%s.%s" "$(git describe --tags $(git rev-list --tags --max-count=1) | sed 's/^v//')" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" } prepare() { cd "$pkgname" git submodule update --recursive --init # patch -p1 < ../systemd-user-config.patch } build() { export CFLAGS="${CFLAGS/-Werror=format-security/}" export CXXFLAGS="${CXXFLAGS/-Werror=format-security/}" cmake \ -S "$pkgname" \ -B build \ -Wno-dev \ -D SUNSHINE_EXECUTABLE_PATH=/usr/bin/sunshine \ -D SUNSHINE_ASSETS_DIR="$_assets_path" \ \ -D LIBAVCODEC_INCLUDE_DIR=/usr/include/ffmpeg4.4 \ -D LIBAVCODEC_LIBRARIES=/usr/lib/ffmpeg4.4/libavcodec.so \ -D LIBAVDEVICE_INCLUDE_DIR=/usr/include/ffmpeg4.4 \ -D LIBAVDEVICE_LIBRARIES=/usr/lib/ffmpeg4.4/libavdevice.so \ -D LIBAVFORMAT_INCLUDE_DIR=/usr/include/ffmpeg4.4 \ -D LIBAVFORMAT_LIBRARIES=/usr/lib/ffmpeg4.4/libavformat.so \ -D LIBAVUTIL_INCLUDE_DIR=/usr/include/ffmpeg4.4 \ -D LIBAVUTIL_LIBRARIES=/usr/lib/ffmpeg4.4/libavutil.so \ -D LIBSWSCALE_INCLUDE_DIR=/usr/include/ffmpeg4.4 \ -D LIBAVUTIL_LIBRARIES=/usr/lib/ffmpeg4.4/libavutil.so \ -D LIBSWSCALE_INCLUDE_DIR=/usr/include/ffmpeg4.4 \ -D LIBSWSCALE_LIBRARIES=/usr/lib/ffmpeg4.4/libswscale.so make -C build } package() { pushd "$pkgname/assets" install -Dvm644 sunshine.conf "$pkgdir/$_assets_path/sunshine.conf" install -Dvm644 apps_linux.json "$pkgdir/$_assets_path/apps_linux.json" find web shaders/opengl -type f -print0 | xargs -0 -I {} install -Dvm644 {} "$pkgdir/$_assets_path/{}" popd pushd build install -Dvm755 sunshine "$pkgdir/usr/bin/sunshine" install -Dvm644 sunshine.service "$pkgdir/usr/lib/systemd/user/sunshine.service" popd # install -Dvm644 udev.rules "$pkgdir/usr/lib/udev/rules.d/85-sunshine.rules" } post_install() { if ! getent group input > /dev/null; then echo "Creating group input" groupadd -r input fi } # vim: ts=2 sw=2 et: