Sunshine/packaging/linux/flatpak/com.github.sunshinestream.sunshine.yml
ReenigneArcher 2a13697fef Replace hardcoded paths for unix and...
- Add cache for flatpak job

Co-Authored-By: istori1 <107304850+istori1@users.noreply.github.com>
2022-06-17 17:58:07 -04:00

211 lines
6.5 KiB
YAML

app-id: com.github.sunshinestream.sunshine
runtime: org.freedesktop.Platform
runtime-version: "21.08"
sdk: org.freedesktop.Sdk
command: sunshine
separate-locales: false
finish-args:
- --share=ipc
- --socket=x11
- --socket=wayland
- --socket=pulseaudio
- --share=network
- --device=all
- --persist=.
- --system-talk-name=org.freedesktop.Avahi
- --env=PULSE_PROP_media.category=Manager
cleanup:
- /include
- /lib/cmake
- /lib/pkgconfig
- /lib/*.la
- /lib/*.a
- /share
modules:
# - name: cuda
# buildsystem: simple
# only-arches:
# - x86_64
# - aarch64
# cleanup:
# - '*'
# build-commands:
# - chmod u+x ./cuda.run
# - ./cuda.run --silent --toolkit --toolkitpath=/app --no-opengl-libs --no-man-page --no-drm
# - rm ./cuda.run
# - rm -r /app/nsight-systems-2021.3.2
# sources:
# - type: file
# only-arches:
# - x86_64
# url: https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run
# sha256: bbd87ca0e913f837454a796367473513cddef555082e4d86ed9a38659cc81f0a
# dest-filename: cuda.run
# - type: file
# only-arches:
# - aarch64
# url: https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux_sbsa.run
# sha256: f2c4a52e06329606c8dfb7c5ea3f4cb4c0b28f9d3fdffeeb734fcc98daf580d8
# dest-filename: cuda.run
- name: boost
buildsystem: simple
build-commands:
- ./bootstrap.sh --prefix=/app --with-libraries=system,thread,log
- ./b2 install variant=release link=static,shared runtime-link=shared cxxflags="$CXXFLAGS" linkflags="$LDFLAGS" -j $FLATPAK_BUILDER_N_JOBS
sources:
- type: archive
url: https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2
sha256: 475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39
- name: ffmpeg
config-opts:
- --enable-gpl
- --disable-static
- --enable-shared
- --disable-doc
- --disable-programs
- --disable-decoders
- --enable-libfontconfig
- --enable-libfreetype
- --enable-libopus
- --enable-libvorbis
- --enable-libvpx
- --enable-libx264
- --enable-libx265
- --enable-nvenc
- --enable-encoder=h264_v4l2m2m
- --enable-encoder=hevc_v4l2m2m
# - --enable-nonfree
# - --enable-cuda-nvcc
# - --enable-libnpp
# - --extra-cflags=-I/app/include
# - --extra-ldflags=-L/app/lib64
cleanup:
- /share/ffmpeg/examples
sources:
- type: archive
url: https://ffmpeg.org/releases/ffmpeg-4.4.2.tar.xz
sha256: af419a7f88adbc56c758ab19b4c708afbcae15ef09606b82b855291f6a6faa93
modules:
- name: vmaf
buildsystem: meson
subdir: libvmaf
cleanup:
- /bin
sources:
- type: archive
url: https://github.com/Netflix/vmaf/archive/refs/tags/v2.3.1.tar.gz
sha256: 8d60b1ddab043ada25ff11ced821da6e0c37fd7730dd81c24f1fc12be7293ef2
- name: x264
config-opts:
- --disable-cli
- --enable-shared
sources:
- type: archive
url: https://code.videolan.org/videolan/x264/-/archive/stable/x264-stable.tar.bz2
sha256: 8fedb184045722d8cc39353099373a5b7350171d0964d01fff8eced21b959b29
- name: x265
buildsystem: cmake-ninja
builddir: true
subdir: source
config-opts:
- -DCMAKE_BUILD_TYPE=RelWithDebInfo
- -DENABLE_CLI=OFF
sources:
- type: archive
url: https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz
sha256: e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8
- name: nv-codec-headers
no-autogen: true
make-install-args:
- PREFIX=/app
cleanup:
- '*'
sources:
- type: archive
url: https://github.com/FFmpeg/nv-codec-headers/archive/refs/tags/n11.1.5.1.tar.gz
sha256: d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c
- name: avahi
cleanup:
- /bin
- /lib/avahi
- /share/applications/*.desktop
- /share/avahi
config-opts:
- --with-distro=none
- --disable-gobject
- --disable-introspection
- --disable-qt3
- --disable-qt4
- --disable-qt5
- --disable-gtk
- --disable-core-docs
- --disable-manpages
- --disable-libdaemon
- --disable-python
- --disable-pygobject
- --disable-mono
- --disable-monodoc
- --disable-autoipd
- --disable-doxygen-doc
- --disable-doxygen-dot
- --disable-doxygen-xml
- --disable-doxygen-html
- --disable-manpages
- --disable-xmltoman
sources:
- type: archive
url: https://avahi.org/download/avahi-0.8.tar.gz
sha256: 060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda
modules:
- name: libevent
cleanup:
- /bin
sources:
- type: archive
url: https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
sha256: 92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
- name: libevdev
buildsystem: meson
cleanup:
- /bin
sources:
- type: archive
url: https://www.freedesktop.org/software/libevdev/libevdev-1.12.1.tar.xz
sha256: 1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c
modules:
- name: libcheck
buildsystem: cmake
cleanup:
- /bin
sources:
- type: archive
url: https://github.com/libcheck/check/archive/refs/tags/0.15.2.tar.gz
sha256: 998d355294bb94072f40584272cf4424571c396c631620ce463f6ea97aa67d2e
- name: sunshine
buildsystem: cmake
no-make-install: false
builddir: true
build-options:
cxxflags: -I${C_INCLUDE_PATH}/libevdev-1.0
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX='/app'
- -DSUNSHINE_ASSETS_DIR=assets
- -DSUNSHINE_CONFIG_DIR=config
- -DSUNSHINE_EXECUTABLE_PATH=/app/bin/sunshine
- -DSUNSHINE_ENABLE_WAYLAND=ON
- -DSUNSHINE_ENABLE_X11=ON
- -DSUNSHINE_ENABLE_DRM=ON
- -DSUNSHINE_ENABLE_CUDA=ON
sources:
- type: git
url: https://github.com/@GITHUB_OWNER@/@GITHUB_REPO@.git
branch: @GITHUB_BRANCH@