build(linux): generate glad sources at compile time (#4798)

Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
This commit is contained in:
David Lane
2026-03-15 21:21:41 -04:00
committed by GitHub
parent 0bbaa2db7c
commit ea201155f4
28 changed files with 384 additions and 7283 deletions
+2
View File
@@ -63,6 +63,8 @@ makedepends=(
'make'
'nodejs'
'npm'
'python-jinja' # required by the glad OpenGL/EGL loader generator
'python-setuptools' # required for glad OpenGL/EGL loader generated, v2.0.0
)
checkdepends=(
+8 -3
View File
@@ -67,6 +67,8 @@ BuildRequires: nodejs-npm
BuildRequires: numactl-devel
BuildRequires: opus-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: python3-jinja2
BuildRequires: python3-setuptools
BuildRequires: systemd-udev
%{?sysusers_requires_compat}
# for unit tests
@@ -86,6 +88,9 @@ BuildRequires: libnuma-devel
BuildRequires: libopus-devel
BuildRequires: libpulse-devel
BuildRequires: npm
BuildRequires: python311
BuildRequires: python311-Jinja2
BuildRequires: python311-setuptools
BuildRequires: udev
# for unit tests
BuildRequires: xvfb-run
@@ -117,9 +122,9 @@ BuildRequires: gcc15-c++
%if 0%{?suse_version}
%if 0%{?suse_version} <= 1699
# OpenSUSE Leap 15.x
BuildRequires: gcc13
BuildRequires: gcc13-c++
%global gcc_version 13
BuildRequires: gcc14
BuildRequires: gcc14-c++
%global gcc_version 14
%global cuda_version 12.9.1
%global cuda_build 575.57.08
%else
@@ -50,6 +50,11 @@ modules:
# FFmpeg prebuilt binaries
- "modules/ffmpeg.json"
# Python PyPI build-time dependencies (e.g. jinja2 for glad generator).
# glad-dependencies.json is generated at CI time by flatpak-pip-generator and
# placed alongside the manifest in the build directory.
- "glad-dependencies.json"
- name: sunshine
builddir: true
build-options:
@@ -71,6 +76,7 @@ modules:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_CUDA_COMPILER=/app/cuda/bin/nvcc
- -DFFMPEG_PREPARED_BINARIES=/app/ffmpeg
- -DGLAD_SKIP_PIP_INSTALL=ON
- -DSUNSHINE_ASSETS_DIR=share/sunshine
- -DSUNSHINE_BUILD_FLATPAK=ON
- -DSUNSHINE_EXECUTABLE_PATH=/app/bin/sunshine