mirror of
https://github.com/LizardByte/Sunshine.git
synced 2025-01-30 12:32:43 +00:00
build(flatpak): separate dependencies into sub-modules (#2818)
This commit is contained in:
parent
3b95397381
commit
e34f446210
4
.github/workflows/CI.yml
vendored
4
.github/workflows/CI.yml
vendored
@ -98,9 +98,9 @@ jobs:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup Dependencies Linux Flatpak
|
||||
env:
|
||||
PLATFORM_VERSION: "22.08"
|
||||
run: |
|
||||
PLATFORM_VERSION=22.08
|
||||
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y \
|
||||
cmake \
|
||||
|
@ -34,227 +34,19 @@ build-options:
|
||||
prepend-ld-library-path: /usr/lib/sdk/vala/lib
|
||||
|
||||
modules:
|
||||
# Test dependencies
|
||||
- "modules/xvfb/xvfb.json"
|
||||
|
||||
- name: avahi
|
||||
disabled: false
|
||||
cleanup:
|
||||
- /bin
|
||||
- /lib/avahi
|
||||
- /share
|
||||
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
|
||||
- --disable-libevent
|
||||
sources:
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/a/avahi/avahi_0.8.orig.tar.gz
|
||||
sha256: 060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de798fedda
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/a/avahi/avahi_0.8-6ubuntu1.debian.tar.xz
|
||||
sha256: ebf1dfe5e853b6bc6843e3bd784cb6af632041f305abd0e5415114f80c1dcea4
|
||||
- type: shell
|
||||
commands:
|
||||
- for n in $(cat patches/series); do if [[ $n != "#"* ]]; then patch -Np1 -i "patches/$n" -d .; fi; done
|
||||
- autoreconf -ivf
|
||||
# Runtime dependencies
|
||||
- shared-modules/libappindicator/libappindicator-gtk3-12.10.json
|
||||
- "modules/avahi.json"
|
||||
- "modules/libevdev.json"
|
||||
- "modules/libnotify.json"
|
||||
- "modules/miniupnpc.json"
|
||||
- "modules/numactl.json" # TODO: is this still needed?
|
||||
|
||||
# yamllint disable-line rule:line-length
|
||||
# https://github.com/flathub/org.localsend.localsend_app/blob/7465669c22a2a4fc35e707e1e4e7e882772adc0e/org.localsend.localsend_app.yml#L27-L106
|
||||
# https://github.com/flathub/app.vup.Vup/blob/8c5073c7c5b8f24805013abc85a0860ca2439396/app.vup.Vup.yaml#L30-L78
|
||||
- name: libayatana-appindicator
|
||||
buildsystem: cmake-ninja
|
||||
config-opts:
|
||||
- -DENABLE_BINDINGS_MONO=NO
|
||||
- -DENABLE_BINDINGS_VALA=NO
|
||||
modules:
|
||||
- shared-modules/intltool/intltool-0.51.json
|
||||
- name: libdbusmenu-gtk3 # Dependency of libayatana-appindicator
|
||||
buildsystem: autotools
|
||||
build-options:
|
||||
cflags: -Wno-error
|
||||
env:
|
||||
HAVE_VALGRIND_FALSE: '#'
|
||||
HAVE_VALGRIND_TRUE: ''
|
||||
config-opts:
|
||||
- --with-gtk=3
|
||||
- --disable-dumper
|
||||
- --disable-static
|
||||
- --disable-tests
|
||||
- --disable-gtk-doc
|
||||
- --enable-introspection=no
|
||||
- --disable-vala
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://launchpad.net/libdbusmenu/16.04/16.04.0/+download/libdbusmenu-16.04.0.tar.gz
|
||||
sha256: b9cc4a2acd74509435892823607d966d424bd9ad5d0b00938f27240a1bfa878a
|
||||
cleanup:
|
||||
- /include
|
||||
- /libexec
|
||||
- /lib/pkgconfig
|
||||
- /lib/*.la
|
||||
- /share/doc
|
||||
- /share/libdbusmenu
|
||||
- /share/gtk-doc
|
||||
- /share/gir-1.0
|
||||
- name: ayatana-ido
|
||||
buildsystem: cmake-ninja
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/AyatanaIndicators/ayatana-ido.git
|
||||
tag: 0.10.1
|
||||
commit: 13402a2cc4616b4b5f4244413599e635fcfc1401
|
||||
x-checker-data:
|
||||
type: anitya
|
||||
project-id: 18445
|
||||
tag-template: $version
|
||||
stable-only: true
|
||||
- name: libayatana-indicator
|
||||
buildsystem: cmake-ninja
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/AyatanaIndicators/libayatana-indicator.git
|
||||
tag: 0.9.3
|
||||
commit: a62e8ca13040554a8fc2536ce7e6aa888c5729d9
|
||||
x-checker-data:
|
||||
type: anitya
|
||||
project-id: 18447
|
||||
tag-template: $version
|
||||
stable-only: true
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/AyatanaIndicators/libayatana-appindicator.git
|
||||
tag: 0.5.92
|
||||
commit: d214fe3e7a6b1ba8faea68d70586310b34dc643c
|
||||
x-checker-data:
|
||||
type: anitya
|
||||
project-id: 18446
|
||||
tag-template: $version
|
||||
stable-only: true
|
||||
|
||||
- name: libevdev
|
||||
disabled: false
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Ddocumentation=disabled
|
||||
- -Dtests=disabled
|
||||
cleanup:
|
||||
- /bin
|
||||
sources:
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/libe/libevdev/libevdev_1.13.0+dfsg.orig.tar.xz
|
||||
sha256: a882e13ef1dd6bd227318080cabf60fe5af3c06471259d3acfc9dbfb202351a7
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/libe/libevdev/libevdev_1.13.0+dfsg-1.debian.tar.xz
|
||||
sha256: d33c56acbbfff2dc540e45c57a38d92210b5e7fd0947ac47fbe48183468aad74
|
||||
- type: shell
|
||||
commands:
|
||||
- for n in $(cat patches/series); do if [[ $n != "#"* ]]; then patch -Np1 -i "patches/$n" -d .; fi; done
|
||||
|
||||
- name: libnotify
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dtests=false
|
||||
- -Dintrospection=disabled
|
||||
- -Dman=false
|
||||
- -Dgtk_doc=false
|
||||
- -Ddocbook_docs=disabled
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.2.tar.xz
|
||||
sha256: c5f4ed3d1f86e5b118c76415aacb861873ed3e6f0c6b3181b828cf584fc5c616
|
||||
x-checker-data:
|
||||
type: gnome
|
||||
name: libnotify
|
||||
stable-only: true
|
||||
- type: archive
|
||||
url: https://download.gnome.org/sources/gnome-common/3.18/gnome-common-3.18.0.tar.xz
|
||||
sha256: 22569e370ae755e04527b76328befc4c73b62bfd4a572499fde116b8318af8cf
|
||||
x-checker-data:
|
||||
type: gnome
|
||||
name: gnome-common
|
||||
stable-only: true
|
||||
|
||||
- name: miniupnpc
|
||||
buildsystem: cmake-ninja
|
||||
config-opts:
|
||||
- -DUPNPC_BUILD_SAMPLE=OFF
|
||||
- -DUPNPC_BUILD_SHARED=ON
|
||||
- -DUPNPC_BUILD_TESTS=OFF
|
||||
sources:
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/m/miniupnpc/miniupnpc_2.2.5.orig.tar.gz
|
||||
sha256: 38acd5f4602f7cf8bcdc1ec30b2d58db2e9912e5d9f5350dd99b06bfdffb517c
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/m/miniupnpc/miniupnpc_2.2.5-1.debian.tar.xz
|
||||
sha256: f6ab181f3c999ae0630508ea1e6c76ae302262414061acaab12bf8763431ffd1
|
||||
- type: shell
|
||||
commands:
|
||||
- for n in $(cat patches/series); do if [[ $n != "#"* ]]; then patch -Np1 -i "patches/$n" -d .; fi; done
|
||||
|
||||
- name: numactl
|
||||
buildsystem: autotools
|
||||
make-args:
|
||||
- install
|
||||
sources:
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/n/numactl/numactl_2.0.14.orig.tar.gz
|
||||
sha256: 1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035
|
||||
- type: archive
|
||||
url: http://archive.ubuntu.com/ubuntu/pool/main/n/numactl/numactl_2.0.14-3ubuntu2.debian.tar.xz
|
||||
sha256: 49089e5be5367f6367f8b0389d1d523944432607783b53f0605705792e1015ee
|
||||
- type: shell
|
||||
commands:
|
||||
- for n in $(cat patches/series); do if [[ $n != "#"* ]]; then patch -Np1 -i "patches/$n" -d .; fi; done
|
||||
cleanup:
|
||||
- "/bin"
|
||||
|
||||
# Caching is configured until here, not including CUDA
|
||||
- name: cuda
|
||||
disabled: false
|
||||
buildsystem: simple
|
||||
only-arches:
|
||||
- x86_64
|
||||
- aarch64
|
||||
cleanup:
|
||||
- "*"
|
||||
build-commands:
|
||||
- chmod u+x ./cuda.run
|
||||
- ./cuda.run --silent --toolkit --toolkitpath=$FLATPAK_DEST/cuda --no-opengl-libs --no-man-page --no-drm
|
||||
--tmpdir=$FLATPAK_BUILDER_BUILDDIR
|
||||
- rm -r $FLATPAK_DEST/cuda/nsight-systems-*
|
||||
- rm ./cuda.run
|
||||
sources:
|
||||
- type: file
|
||||
only-arches:
|
||||
- x86_64
|
||||
url: https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run
|
||||
sha256: 905e9b9516900839fb76064719db752439f38b8cb730b49335d8bd53ddfad392
|
||||
dest-filename: cuda.run
|
||||
- type: file
|
||||
only-arches:
|
||||
- aarch64
|
||||
url: https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux_sbsa.run # yamllint disable-line rule:line-length
|
||||
sha256: cd13e9c65d4c8f895a968706f46064d536be09f9706bce081cc864b7e4fa4544
|
||||
dest-filename: cuda.run
|
||||
# Caching is configured until here, not including CUDA, since it is too large for GitHub cache
|
||||
- "modules/cuda.json"
|
||||
|
||||
- name: sunshine
|
||||
disabled: false
|
||||
|
53
packaging/linux/flatpak/modules/avahi.json
Normal file
53
packaging/linux/flatpak/modules/avahi.json
Normal file
@ -0,0 +1,53 @@
|
||||
{
|
||||
"name": "avahi",
|
||||
"cleanup": [
|
||||
"/bin",
|
||||
"/lib/avahi",
|
||||
"/share"
|
||||
],
|
||||
"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",
|
||||
"--disable-libevent"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://salsa.debian.org/utopia-team/avahi.git",
|
||||
"commit": "1412c015d348166d58ea9c192239b00769eae24e",
|
||||
"tag": "debian/0.8-13",
|
||||
"x-checker-data": {
|
||||
"type": "git",
|
||||
"tag-pattern": "^debian\\/(\\d.+)$",
|
||||
"versions": {
|
||||
"<": "0.9"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"commands": [
|
||||
"autoreconf -ivf"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
36
packaging/linux/flatpak/modules/cuda.json
Normal file
36
packaging/linux/flatpak/modules/cuda.json
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
"name": "cuda",
|
||||
"build-options": {
|
||||
"no_debuginfo": true
|
||||
},
|
||||
"buildsystem": "simple",
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"build-commands": [
|
||||
"chmod u+x ./cuda.run",
|
||||
"./cuda.run --silent --toolkit --toolkitpath=$FLATPAK_DEST/cuda --no-opengl-libs --no-man-page --no-drm --tmpdir=$FLATPAK_BUILDER_BUILDDIR",
|
||||
"rm -r $FLATPAK_DEST/cuda/nsight-systems-*",
|
||||
"rm ./cuda.run"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"only-arches": [
|
||||
"x86_64"
|
||||
],
|
||||
"url": "https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run",
|
||||
"sha256": "905e9b9516900839fb76064719db752439f38b8cb730b49335d8bd53ddfad392",
|
||||
"dest-filename": "cuda.run"
|
||||
},
|
||||
{
|
||||
"type": "file",
|
||||
"only-arches": [
|
||||
"aarch64"
|
||||
],
|
||||
"url": "https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux_sbsa.run",
|
||||
"sha256": "cd13e9c65d4c8f895a968706f46064d536be09f9706bce081cc864b7e4fa4544",
|
||||
"dest-filename": "cuda.run"
|
||||
}
|
||||
]
|
||||
}
|
26
packaging/linux/flatpak/modules/libevdev.json
Normal file
26
packaging/linux/flatpak/modules/libevdev.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "libevdev",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Ddocumentation=disabled",
|
||||
"-Dtests=disabled"
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://salsa.debian.org/debian/libevdev.git",
|
||||
"commit": "1aa7baa233d6df4cee6a66fbc61bb5ffc8b6e88d",
|
||||
"tag": "debian/1.13.0+dfsg-1",
|
||||
"x-checker-data": {
|
||||
"type": "git",
|
||||
"tag-pattern": "^debian\\/(\\d.\\d+\\.\\d+)",
|
||||
"versions": {
|
||||
"<": "1.13.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
26
packaging/linux/flatpak/modules/libnotify.json
Normal file
26
packaging/linux/flatpak/modules/libnotify.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "libnotify",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Dtests=false",
|
||||
"-Dintrospection=disabled",
|
||||
"-Dman=false",
|
||||
"-Dgtk_doc=false",
|
||||
"-Ddocbook_docs=disabled"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://salsa.debian.org/gnome-team/libnotify.git",
|
||||
"commit": "ccf2f62ef0a4b264dd4eff32cab70a3e213ceb1a",
|
||||
"tag": "debian/0.8.1-1",
|
||||
"x-checker-data": {
|
||||
"type": "git",
|
||||
"tag-pattern": "^debian\\/(\\d.+)$",
|
||||
"versions": {
|
||||
"<": "0.8.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
25
packaging/linux/flatpak/modules/miniupnpc.json
Normal file
25
packaging/linux/flatpak/modules/miniupnpc.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "miniupnpc",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DUPNPC_BUILD_SAMPLE=OFF",
|
||||
"-DUPNPC_BUILD_SHARED=ON",
|
||||
"-DUPNPC_BUILD_TESTS=OFF"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://salsa.debian.org/miniupnp-team/miniupnpc.git",
|
||||
"commit": "c5fe3aa794e92a503cecec6a4071eb6d310b4e42",
|
||||
"tag": "debian/2.2.4-1",
|
||||
"x-checker-data": {
|
||||
"type": "git",
|
||||
"tag-pattern": "^debian\\/(\\d.+)$",
|
||||
"versions": {
|
||||
"<": "2.2.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
22
packaging/linux/flatpak/modules/numactl.json
Normal file
22
packaging/linux/flatpak/modules/numactl.json
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "numactl",
|
||||
"buildsystem": "autotools",
|
||||
"cleanup": [
|
||||
"/bin"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://salsa.debian.org/debian/numactl.git",
|
||||
"commit": "640bb34497702f9aaeb8af1b491f32b91d03ec80",
|
||||
"tag": "debian/2.0.16-1",
|
||||
"x-checker-data": {
|
||||
"type": "git",
|
||||
"tag-pattern": "^debian\\/(\\d.+)$",
|
||||
"versions": {
|
||||
"<": "2.0.17"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user