mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
build-aux,CI: Add format to Flatpak manifest
- Change Flatpak manifest indent size to 4 - Add a Python script to format manifest files - Add editorconfig for Flatpak JSONs and Python files
This commit is contained in:
parent
904fe87f83
commit
c28c5333fc
@ -37,3 +37,11 @@ indent_size = 4
|
||||
[*.qss]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[build-aux/**/*.json]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.py]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
5
.github/workflows/main.yml
vendored
5
.github/workflows/main.yml
vendored
@ -59,6 +59,11 @@ jobs:
|
||||
run: |
|
||||
./CI/check-cmake.sh
|
||||
|
||||
- name: 'Run format-manifest.py'
|
||||
run: |
|
||||
python3 ./build-aux/format-manifest.py
|
||||
./CI/check-changes.sh
|
||||
|
||||
config:
|
||||
name: '01 - Configure Build Jobs'
|
||||
runs-on: [ubuntu-22.04]
|
||||
|
@ -1,6 +1,8 @@
|
||||
# `build-aux` folder
|
||||
|
||||
This folder contains only the Flatpak manifest used to build OBS Studio.
|
||||
This folder contains:
|
||||
- The Flatpak manifest used to build OBS Studio
|
||||
- The script `format-manifest.py` which format manifest JSON files
|
||||
|
||||
## OBS Studio Flatpak Manifest
|
||||
|
||||
|
@ -1,105 +1,105 @@
|
||||
{
|
||||
"app-id": "com.obsproject.Studio",
|
||||
"runtime": "org.kde.Platform",
|
||||
"runtime-version": "6.4",
|
||||
"sdk": "org.kde.Sdk",
|
||||
"command": "obs",
|
||||
"finish-args": [
|
||||
"--socket=wayland",
|
||||
"--socket=x11",
|
||||
"--socket=pulseaudio",
|
||||
"--device=all",
|
||||
"--share=network",
|
||||
"--share=ipc",
|
||||
"--filesystem=xdg-run/pipewire-0",
|
||||
"--filesystem=host",
|
||||
"--talk-name=org.kde.StatusNotifierWatcher",
|
||||
"--talk-name=org.freedesktop.Flatpak",
|
||||
"--talk-name=org.freedesktop.Notifications",
|
||||
"--talk-name=org.a11y.Bus",
|
||||
"--own-name=org.kde.StatusNotifierItem-2-2",
|
||||
"--system-talk-name=org.freedesktop.Avahi",
|
||||
"--env=VST_PATH=/app/extensions/Plugins/vst"
|
||||
],
|
||||
"add-extensions": {
|
||||
"com.obsproject.Studio.Plugin": {
|
||||
"directory": "plugins",
|
||||
"subdirectories": true,
|
||||
"add-ld-path": "lib",
|
||||
"merge-dirs": "lib/obs-plugins;share/obs/obs-plugins",
|
||||
"no-autodownload": true,
|
||||
"autodelete": true
|
||||
},
|
||||
"org.freedesktop.LinuxAudio.Plugins": {
|
||||
"directory": "extensions/Plugins",
|
||||
"version": "22.08",
|
||||
"add-ld-path": "lib",
|
||||
"merge-dirs": "vst",
|
||||
"subdirectories": true,
|
||||
"no-autodownload": true
|
||||
}
|
||||
},
|
||||
"cleanup": [
|
||||
"/share/man",
|
||||
"*.la"
|
||||
],
|
||||
"modules": [
|
||||
"modules/10-mbedtls.json",
|
||||
"modules/20-aom.json",
|
||||
"modules/20-librist.json",
|
||||
"modules/20-nv-codec.json",
|
||||
"modules/20-srt.json",
|
||||
"modules/20-svt-av1.json",
|
||||
"modules/20-x264.json",
|
||||
"modules/30-ffmpeg.json",
|
||||
"modules/40-luajit.json",
|
||||
"modules/50-jansson.json",
|
||||
"modules/50-ntv2.json",
|
||||
"modules/50-pipewire.json",
|
||||
"modules/50-swig.json",
|
||||
"modules/50-v4l-utils.json",
|
||||
"modules/90-asio.json",
|
||||
"modules/90-nlohmann-json.json",
|
||||
"modules/90-websocketpp.json",
|
||||
"modules/99-cef.json",
|
||||
{
|
||||
"name": "obs",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DENABLE_WAYLAND=ON",
|
||||
"-DENABLE_BROWSER=ON",
|
||||
"-DCEF_ROOT_DIR=/app/cef",
|
||||
"-DUSE_XDG=ON",
|
||||
"-DENABLE_ALSA=OFF",
|
||||
"-DENABLE_PULSEAUDIO=ON",
|
||||
"-DENABLE_JACK=ON",
|
||||
"-DENABLE_RTMPS=ON",
|
||||
"-DENABLE_VLC=OFF",
|
||||
"-DENABLE_AJA=ON",
|
||||
"-DENABLE_LIBFDK=ON"
|
||||
],
|
||||
"secret-opts": [
|
||||
"-DRESTREAM_CLIENTID=$RESTREAM_CLIENTID",
|
||||
"-DRESTREAM_HASH=$RESTREAM_HASH",
|
||||
"-DTWITCH_CLIENTID=$TWITCH_CLIENTID",
|
||||
"-DTWITCH_HASH=$TWITCH_HASH",
|
||||
"-DYOUTUBE_CLIENTID=$YOUTUBE_CLIENTID",
|
||||
"-DYOUTUBE_CLIENTID_HASH=$YOUTUBE_CLIENTID_HASH",
|
||||
"-DYOUTUBE_SECRET=$YOUTUBE_SECRET",
|
||||
"-DYOUTUBE_SECRET_HASH=$YOUTUBE_SECRET_HASH"
|
||||
],
|
||||
"post-install": [
|
||||
"install -d /app/plugins",
|
||||
"install -d /app/extensions/Plugins"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "dir",
|
||||
"path": "../"
|
||||
"app-id": "com.obsproject.Studio",
|
||||
"runtime": "org.kde.Platform",
|
||||
"runtime-version": "6.4",
|
||||
"sdk": "org.kde.Sdk",
|
||||
"command": "obs",
|
||||
"finish-args": [
|
||||
"--socket=wayland",
|
||||
"--socket=x11",
|
||||
"--socket=pulseaudio",
|
||||
"--device=all",
|
||||
"--share=network",
|
||||
"--share=ipc",
|
||||
"--filesystem=xdg-run/pipewire-0",
|
||||
"--filesystem=host",
|
||||
"--talk-name=org.kde.StatusNotifierWatcher",
|
||||
"--talk-name=org.freedesktop.Flatpak",
|
||||
"--talk-name=org.freedesktop.Notifications",
|
||||
"--talk-name=org.a11y.Bus",
|
||||
"--own-name=org.kde.StatusNotifierItem-2-2",
|
||||
"--system-talk-name=org.freedesktop.Avahi",
|
||||
"--env=VST_PATH=/app/extensions/Plugins/vst"
|
||||
],
|
||||
"add-extensions": {
|
||||
"com.obsproject.Studio.Plugin": {
|
||||
"directory": "plugins",
|
||||
"subdirectories": true,
|
||||
"add-ld-path": "lib",
|
||||
"merge-dirs": "lib/obs-plugins;share/obs/obs-plugins",
|
||||
"no-autodownload": true,
|
||||
"autodelete": true
|
||||
},
|
||||
"org.freedesktop.LinuxAudio.Plugins": {
|
||||
"directory": "extensions/Plugins",
|
||||
"version": "22.08",
|
||||
"add-ld-path": "lib",
|
||||
"merge-dirs": "vst",
|
||||
"subdirectories": true,
|
||||
"no-autodownload": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"cleanup": [
|
||||
"/share/man",
|
||||
"*.la"
|
||||
],
|
||||
"modules": [
|
||||
"modules/10-mbedtls.json",
|
||||
"modules/20-aom.json",
|
||||
"modules/20-librist.json",
|
||||
"modules/20-nv-codec.json",
|
||||
"modules/20-srt.json",
|
||||
"modules/20-svt-av1.json",
|
||||
"modules/20-x264.json",
|
||||
"modules/30-ffmpeg.json",
|
||||
"modules/40-luajit.json",
|
||||
"modules/50-jansson.json",
|
||||
"modules/50-ntv2.json",
|
||||
"modules/50-pipewire.json",
|
||||
"modules/50-swig.json",
|
||||
"modules/50-v4l-utils.json",
|
||||
"modules/90-asio.json",
|
||||
"modules/90-nlohmann-json.json",
|
||||
"modules/90-websocketpp.json",
|
||||
"modules/99-cef.json",
|
||||
{
|
||||
"name": "obs",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DENABLE_WAYLAND=ON",
|
||||
"-DENABLE_BROWSER=ON",
|
||||
"-DCEF_ROOT_DIR=/app/cef",
|
||||
"-DUSE_XDG=ON",
|
||||
"-DENABLE_ALSA=OFF",
|
||||
"-DENABLE_PULSEAUDIO=ON",
|
||||
"-DENABLE_JACK=ON",
|
||||
"-DENABLE_RTMPS=ON",
|
||||
"-DENABLE_VLC=OFF",
|
||||
"-DENABLE_AJA=ON",
|
||||
"-DENABLE_LIBFDK=ON"
|
||||
],
|
||||
"secret-opts": [
|
||||
"-DRESTREAM_CLIENTID=$RESTREAM_CLIENTID",
|
||||
"-DRESTREAM_HASH=$RESTREAM_HASH",
|
||||
"-DTWITCH_CLIENTID=$TWITCH_CLIENTID",
|
||||
"-DTWITCH_HASH=$TWITCH_HASH",
|
||||
"-DYOUTUBE_CLIENTID=$YOUTUBE_CLIENTID",
|
||||
"-DYOUTUBE_CLIENTID_HASH=$YOUTUBE_CLIENTID_HASH",
|
||||
"-DYOUTUBE_SECRET=$YOUTUBE_SECRET",
|
||||
"-DYOUTUBE_SECRET_HASH=$YOUTUBE_SECRET_HASH"
|
||||
],
|
||||
"post-install": [
|
||||
"install -d /app/plugins",
|
||||
"install -d /app/extensions/Plugins"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "dir",
|
||||
"path": "../"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
40
build-aux/format-manifest.py
Normal file
40
build-aux/format-manifest.py
Normal file
@ -0,0 +1,40 @@
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
MAIN_MANIFEST_FILENAME = "com.obsproject.Studio.json"
|
||||
|
||||
def main():
|
||||
dir_path = os.path.dirname(os.path.realpath(__file__))
|
||||
if not os.path.isfile(os.path.join(dir_path, MAIN_MANIFEST_FILENAME)):
|
||||
print("The script is not ran in the same folder as the manifest")
|
||||
return 1
|
||||
|
||||
for root, dirs, files in os.walk(dir_path):
|
||||
for file in files:
|
||||
if not file.endswith(".json"):
|
||||
continue
|
||||
|
||||
print(f"Formatting {file}")
|
||||
# Load JSON file
|
||||
with open(os.path.join(root, file), "r") as f:
|
||||
j = json.load(f)
|
||||
|
||||
if file == MAIN_MANIFEST_FILENAME:
|
||||
# Sort module files order in the manifest
|
||||
# Assumption: All modules except the last are strings
|
||||
file_modules = j["modules"][0:-1]
|
||||
last_module = j["modules"][-1]
|
||||
file_modules.sort(key=lambda file_name: file_name)
|
||||
j["modules"] = file_modules
|
||||
j["modules"].append(last_module)
|
||||
|
||||
# Overwrite JSON file
|
||||
with open(os.path.join(root, file), "w") as f:
|
||||
json.dump(j, f, indent=4, ensure_ascii=False)
|
||||
f.write("\n")
|
||||
|
||||
return 0
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
@ -1,24 +1,24 @@
|
||||
{
|
||||
"name": "mbedtls",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DCMAKE_POSITION_INDEPENDENT_CODE=ON",
|
||||
"-DUSE_SHARED_MBEDTLS_LIBRARY=ON",
|
||||
"-DUSE_STATIC_MBEDTLS_LIBRARY=OFF",
|
||||
"-DENABLE_TESTING=OFF",
|
||||
"-DENABLE_PROGRAMS=OFF"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/ARMmbed/mbedtls.git",
|
||||
"commit": "869298bffeea13b205343361b7a7daf2b210e33d",
|
||||
"tag": "v3.2.1"
|
||||
}
|
||||
]
|
||||
"name": "mbedtls",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DCMAKE_POSITION_INDEPENDENT_CODE=ON",
|
||||
"-DUSE_SHARED_MBEDTLS_LIBRARY=ON",
|
||||
"-DUSE_STATIC_MBEDTLS_LIBRARY=OFF",
|
||||
"-DENABLE_TESTING=OFF",
|
||||
"-DENABLE_PROGRAMS=OFF"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/ARMmbed/mbedtls.git",
|
||||
"commit": "869298bffeea13b205343361b7a7daf2b210e33d",
|
||||
"tag": "v3.2.1"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,26 +1,26 @@
|
||||
{
|
||||
"name": "aom",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-DENABLE_DOCS=OFF",
|
||||
"-DENABLE_EXAMPLES=OFF",
|
||||
"-DENABLE_TESTDATA=OFF",
|
||||
"-DENABLE_TESTS=OFF",
|
||||
"-DENABLE_TOOLS=OFF "
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"tag": "v3.6.0",
|
||||
"commit": "3c65175b1972da4a1992c1dae2365b48d13f9a8d"
|
||||
}
|
||||
]
|
||||
"name": "aom",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-DENABLE_DOCS=OFF",
|
||||
"-DENABLE_EXAMPLES=OFF",
|
||||
"-DENABLE_TESTDATA=OFF",
|
||||
"-DENABLE_TESTS=OFF",
|
||||
"-DENABLE_TOOLS=OFF "
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://aomedia.googlesource.com/aom.git",
|
||||
"tag": "v3.6.0",
|
||||
"commit": "3c65175b1972da4a1992c1dae2365b48d13f9a8d"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
{
|
||||
"name": "librist",
|
||||
"buildsystem": "meson",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-Duse_mbedtls=true",
|
||||
"-Dtest=false",
|
||||
"-Dbuilt_tools=false",
|
||||
"-Dbuiltin_cjson=true"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.videolan.org/rist/librist.git",
|
||||
"commit": "809390b3b75a259a704079d0fb4d8f1b5f7fa956"
|
||||
}
|
||||
]
|
||||
"name": "librist",
|
||||
"buildsystem": "meson",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-Duse_mbedtls=true",
|
||||
"-Dtest=false",
|
||||
"-Dbuilt_tools=false",
|
||||
"-Dbuiltin_cjson=true"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.videolan.org/rist/librist.git",
|
||||
"commit": "809390b3b75a259a704079d0fb4d8f1b5f7fa956"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
{
|
||||
"name": "nv-codec",
|
||||
"no-autogen": true,
|
||||
"make-install-args": [
|
||||
"PREFIX=/app"
|
||||
],
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/FFmpeg/nv-codec-headers.git",
|
||||
"tag": "n12.0.16.0",
|
||||
"commit": "c5e4af74850a616c42d39ed45b9b8568b71bf8bf"
|
||||
}
|
||||
]
|
||||
"name": "nv-codec",
|
||||
"no-autogen": true,
|
||||
"make-install-args": [
|
||||
"PREFIX=/app"
|
||||
],
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/FFmpeg/nv-codec-headers.git",
|
||||
"tag": "n12.0.16.0",
|
||||
"commit": "c5e4af74850a616c42d39ed45b9b8568b71bf8bf"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,23 +1,23 @@
|
||||
{
|
||||
"name": "srt",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DENABLE_STATIC=OFF",
|
||||
"-DENABLE_APPS=OFF",
|
||||
"-DENABLE_LOGGING=OFF"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/bin"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/Haivision/srt.git",
|
||||
"tag": "v1.5.1",
|
||||
"commit": "0bc3b03202b3159fc9b085b3ae6d66ec071c25d6"
|
||||
}
|
||||
]
|
||||
"name": "srt",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DENABLE_STATIC=OFF",
|
||||
"-DENABLE_APPS=OFF",
|
||||
"-DENABLE_LOGGING=OFF"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"/bin"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/Haivision/srt.git",
|
||||
"tag": "v1.5.1",
|
||||
"commit": "0bc3b03202b3159fc9b085b3ae6d66ec071c25d6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
{
|
||||
"name": "svt-av1",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-DBUILD_APPS=OFF",
|
||||
"-DBUILD_DEC=ON",
|
||||
"-DBUILD_ENC=ON",
|
||||
"-DBUILD_TESTING=OFF"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.com/AOMediaCodec/SVT-AV1.git",
|
||||
"tag": "v1.4.1",
|
||||
"commit": "018276d714ce65d9b586f6205ee016cbd8d5425d"
|
||||
}
|
||||
]
|
||||
"name": "svt-av1",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-DBUILD_APPS=OFF",
|
||||
"-DBUILD_DEC=ON",
|
||||
"-DBUILD_ENC=ON",
|
||||
"-DBUILD_TESTING=OFF"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.com/AOMediaCodec/SVT-AV1.git",
|
||||
"tag": "v1.4.1",
|
||||
"commit": "018276d714ce65d9b586f6205ee016cbd8d5425d"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
{
|
||||
"name": "x264",
|
||||
"config-opts": [
|
||||
"--disable-cli",
|
||||
"--enable-shared"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.videolan.org/videolan/x264.git",
|
||||
"commit": "eaa68fad9e5d201d42fde51665f2d137ae96baf0"
|
||||
}
|
||||
]
|
||||
"name": "x264",
|
||||
"config-opts": [
|
||||
"--disable-cli",
|
||||
"--enable-shared"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.videolan.org/videolan/x264.git",
|
||||
"commit": "eaa68fad9e5d201d42fde51665f2d137ae96baf0"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,46 +1,46 @@
|
||||
{
|
||||
"name": "ffmpeg",
|
||||
"config-opts": [
|
||||
"--enable-gpl",
|
||||
"--enable-shared",
|
||||
"--disable-static",
|
||||
"--enable-gnutls",
|
||||
"--disable-doc",
|
||||
"--disable-programs",
|
||||
"--disable-devices",
|
||||
"--enable-libopus",
|
||||
"--enable-libvpx",
|
||||
"--enable-libvorbis",
|
||||
"--enable-libx264",
|
||||
"--enable-nvenc",
|
||||
"--enable-libsrt",
|
||||
"--enable-librist",
|
||||
"--enable-libaom",
|
||||
"--enable-libsvtav1"
|
||||
],
|
||||
"cleanup": [
|
||||
"/share/ffmpeg"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/FFmpeg/FFmpeg.git",
|
||||
"commit": "a6dc92968a325d331bb6dcf9b3b2248026cd1d6c",
|
||||
"disable-shallow-clone": true
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"dest": "obs-deps",
|
||||
"url": "https://github.com/obsproject/obs-deps.git",
|
||||
"tag": "2023-04-12",
|
||||
"commit": "24e25fd83e6938cfe3cc5020230430b31ba5df59"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"commands": [
|
||||
"patch -Np1 -i obs-deps/deps.ffmpeg/patches/FFmpeg/0001-flvdec-handle-unknown.patch",
|
||||
"patch -Np1 -i obs-deps/deps.ffmpeg/patches/FFmpeg/0002-libaomenc-presets.patch"
|
||||
]
|
||||
}
|
||||
]
|
||||
"name": "ffmpeg",
|
||||
"config-opts": [
|
||||
"--enable-gpl",
|
||||
"--enable-shared",
|
||||
"--disable-static",
|
||||
"--enable-gnutls",
|
||||
"--disable-doc",
|
||||
"--disable-programs",
|
||||
"--disable-devices",
|
||||
"--enable-libopus",
|
||||
"--enable-libvpx",
|
||||
"--enable-libvorbis",
|
||||
"--enable-libx264",
|
||||
"--enable-nvenc",
|
||||
"--enable-libsrt",
|
||||
"--enable-librist",
|
||||
"--enable-libaom",
|
||||
"--enable-libsvtav1"
|
||||
],
|
||||
"cleanup": [
|
||||
"/share/ffmpeg"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/FFmpeg/FFmpeg.git",
|
||||
"commit": "a6dc92968a325d331bb6dcf9b3b2248026cd1d6c",
|
||||
"disable-shallow-clone": true
|
||||
},
|
||||
{
|
||||
"type": "git",
|
||||
"dest": "obs-deps",
|
||||
"url": "https://github.com/obsproject/obs-deps.git",
|
||||
"tag": "2023-04-12",
|
||||
"commit": "24e25fd83e6938cfe3cc5020230430b31ba5df59"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"commands": [
|
||||
"patch -Np1 -i obs-deps/deps.ffmpeg/patches/FFmpeg/0001-flvdec-handle-unknown.patch",
|
||||
"patch -Np1 -i obs-deps/deps.ffmpeg/patches/FFmpeg/0002-libaomenc-presets.patch"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,24 +1,24 @@
|
||||
{
|
||||
"name": "luajit",
|
||||
"no-autogen": true,
|
||||
"cleanup": [
|
||||
"/bin",
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"*.a"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://luajit.org/git/luajit-2.0.git",
|
||||
"commit": "505e2c03de35e2718eef0d2d3660712e06dadf1f",
|
||||
"disable-shallow-clone": true
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"commands": [
|
||||
"sed -i 's|/usr/local|/app|' ./Makefile"
|
||||
]
|
||||
}
|
||||
]
|
||||
"name": "luajit",
|
||||
"no-autogen": true,
|
||||
"cleanup": [
|
||||
"/bin",
|
||||
"/include",
|
||||
"/lib/pkgconfig",
|
||||
"*.a"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://luajit.org/git/luajit-2.0.git",
|
||||
"commit": "505e2c03de35e2718eef0d2d3660712e06dadf1f",
|
||||
"disable-shallow-clone": true
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"commands": [
|
||||
"sed -i 's|/usr/local|/app|' ./Makefile"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,24 +1,24 @@
|
||||
{
|
||||
"name": "jansson",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DJANSSON_EXAMPLES=OFF",
|
||||
"-DJANSSON_BUILD_DOCS=OFF",
|
||||
"-DJANSSON_BUILD_SHARED_LIBS=ON",
|
||||
"-DJANSSON_WITHOUT_TESTS=ON"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/akheron/jansson.git",
|
||||
"tag": "v2.14",
|
||||
"commit": "684e18c927e89615c2d501737e90018f4930d6c5"
|
||||
}
|
||||
]
|
||||
"name": "jansson",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DJANSSON_EXAMPLES=OFF",
|
||||
"-DJANSSON_BUILD_DOCS=OFF",
|
||||
"-DJANSSON_BUILD_SHARED_LIBS=ON",
|
||||
"-DJANSSON_WITHOUT_TESTS=ON"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/akheron/jansson.git",
|
||||
"tag": "v2.14",
|
||||
"commit": "684e18c927e89615c2d501737e90018f4930d6c5"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
{
|
||||
"name": "ntv2",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DAJA_BUILD_OPENSOURCE=ON",
|
||||
"-DAJA_BUILD_APPS=OFF",
|
||||
"-DAJA_INSTALL_HEADERS=ON"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/aja-video/ntv2.git",
|
||||
"tag": "v16.2-bugfix5",
|
||||
"commit": "0acbac70a0b5e6509cca78cfbf69974c73c10db9"
|
||||
}
|
||||
]
|
||||
"name": "ntv2",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DAJA_BUILD_OPENSOURCE=ON",
|
||||
"-DAJA_BUILD_APPS=OFF",
|
||||
"-DAJA_INSTALL_HEADERS=ON"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/aja-video/ntv2.git",
|
||||
"tag": "v16.2-bugfix5",
|
||||
"commit": "0acbac70a0b5e6509cca78cfbf69974c73c10db9"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,32 +1,32 @@
|
||||
{
|
||||
"name": "pipewire",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Daudiotestsrc=disabled",
|
||||
"-Droc=disabled",
|
||||
"-Dvideotestsrc=disabled",
|
||||
"-Dvolume=disabled",
|
||||
"-Dvulkan=disabled",
|
||||
"-Ddocs=disabled",
|
||||
"-Dman=disabled",
|
||||
"-Dbluez5-codec-ldac=disabled",
|
||||
"-Dbluez5-codec-aptx=disabled",
|
||||
"-Dlibcamera=disabled",
|
||||
"-Dudevrulesdir=/app/lib/udev/rules.d/",
|
||||
"-Dsession-managers=[]",
|
||||
"-Dtests=disabled",
|
||||
"-Dexamples=disabled",
|
||||
"-Dpw-cat=disabled"
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/pipewire/pipewire.git",
|
||||
"tag": "0.3.65",
|
||||
"commit": "9558a5d5e0360d8af822431c76ee858a8c7495ac"
|
||||
}
|
||||
]
|
||||
"name": "pipewire",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Daudiotestsrc=disabled",
|
||||
"-Droc=disabled",
|
||||
"-Dvideotestsrc=disabled",
|
||||
"-Dvolume=disabled",
|
||||
"-Dvulkan=disabled",
|
||||
"-Ddocs=disabled",
|
||||
"-Dman=disabled",
|
||||
"-Dbluez5-codec-ldac=disabled",
|
||||
"-Dbluez5-codec-aptx=disabled",
|
||||
"-Dlibcamera=disabled",
|
||||
"-Dudevrulesdir=/app/lib/udev/rules.d/",
|
||||
"-Dsession-managers=[]",
|
||||
"-Dtests=disabled",
|
||||
"-Dexamples=disabled",
|
||||
"-Dpw-cat=disabled"
|
||||
],
|
||||
"cleanup": [
|
||||
"/bin"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/pipewire/pipewire.git",
|
||||
"tag": "0.3.65",
|
||||
"commit": "9558a5d5e0360d8af822431c76ee858a8c7495ac"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,21 +1,21 @@
|
||||
{
|
||||
"name": "swig",
|
||||
"config-opts": [
|
||||
"--without-boost",
|
||||
"--without-pcre",
|
||||
"--without-alllang",
|
||||
"--with-lua=/app/bin/luajit-2.1.0-beta3",
|
||||
"--with-luaincl=/app/include/luajit-2.1",
|
||||
"--with-python3"
|
||||
],
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://prdownloads.sourceforge.net/swig/swig-4.0.2.tar.gz",
|
||||
"sha256": "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc"
|
||||
}
|
||||
]
|
||||
"name": "swig",
|
||||
"config-opts": [
|
||||
"--without-boost",
|
||||
"--without-pcre",
|
||||
"--without-alllang",
|
||||
"--with-lua=/app/bin/luajit-2.1.0-beta3",
|
||||
"--with-luaincl=/app/include/luajit-2.1",
|
||||
"--with-python3"
|
||||
],
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://prdownloads.sourceforge.net/swig/swig-4.0.2.tar.gz",
|
||||
"sha256": "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
{
|
||||
"name": "v4l-utils",
|
||||
"config-opts": [
|
||||
"--disable-static",
|
||||
"--disable-doxygen-doc",
|
||||
"--disable-libdvbv5",
|
||||
"--disable-v4l-utils",
|
||||
"--disable-qv4l2",
|
||||
"--with-udevdir=/app/lib/udev/"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.0.tar.bz2",
|
||||
"sha256": "1069e5d7909bcc563baeaadc3a5c496f0e658524c413cf7818816e37bfcea344"
|
||||
}
|
||||
]
|
||||
"name": "v4l-utils",
|
||||
"config-opts": [
|
||||
"--disable-static",
|
||||
"--disable-doxygen-doc",
|
||||
"--disable-libdvbv5",
|
||||
"--disable-v4l-utils",
|
||||
"--disable-qv4l2",
|
||||
"--with-udevdir=/app/lib/udev/"
|
||||
],
|
||||
"cleanup": [
|
||||
"/include",
|
||||
"/lib/pkgconfig"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.0.tar.bz2",
|
||||
"sha256": "1069e5d7909bcc563baeaadc3a5c496f0e658524c413cf7818816e37bfcea344"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,17 +1,17 @@
|
||||
{
|
||||
"name": "asio",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"mkdir -p /app/include",
|
||||
"cp asio/include/asio.hpp /app/include/",
|
||||
"cp -R asio/include/asio /app/include/"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/chriskohlhoff/asio.git",
|
||||
"tag": "asio-1-12-1",
|
||||
"commit": "b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
|
||||
}
|
||||
]
|
||||
"name": "asio",
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"mkdir -p /app/include",
|
||||
"cp asio/include/asio.hpp /app/include/",
|
||||
"cp -R asio/include/asio /app/include/"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/chriskohlhoff/asio.git",
|
||||
"tag": "asio-1-12-1",
|
||||
"commit": "b73dc1d2c0ecb9452a87c26544d7f71e24342df6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,17 +1,17 @@
|
||||
{
|
||||
"name": "nlohmann-json",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DJSON_BuildTests=OFF"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/nlohmann/json.git",
|
||||
"tag": "v3.11.2",
|
||||
"commit": "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
|
||||
}
|
||||
]
|
||||
"name": "nlohmann-json",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DJSON_BuildTests=OFF"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/nlohmann/json.git",
|
||||
"tag": "v3.11.2",
|
||||
"commit": "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,19 +1,19 @@
|
||||
{
|
||||
"name": "websocketpp",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DENABLE_CPP11=ON",
|
||||
"-DBUILD_EXAMPLES=OFF",
|
||||
"-DBUILD_TESTS=OFF"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/zaphoyd/websocketpp.git",
|
||||
"tag": "0.8.2",
|
||||
"commit": "56123c87598f8b1dd471be83ca841ceae07f95ba"
|
||||
}
|
||||
]
|
||||
"name": "websocketpp",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DENABLE_CPP11=ON",
|
||||
"-DBUILD_EXAMPLES=OFF",
|
||||
"-DBUILD_TESTS=OFF"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/zaphoyd/websocketpp.git",
|
||||
"tag": "0.8.2",
|
||||
"commit": "56123c87598f8b1dd471be83ca841ceae07f95ba"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,28 +1,28 @@
|
||||
{
|
||||
"name": "cef",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
],
|
||||
"no-make-install": true,
|
||||
"make-args": [
|
||||
"libcef_dll_wrapper"
|
||||
],
|
||||
"build-commands": [
|
||||
"mkdir -p /app/cef/libcef_dll_wrapper",
|
||||
"cp -R ./include /app/cef",
|
||||
"cp -R ./Release /app/cef",
|
||||
"cp -R ./Resources /app/cef",
|
||||
"cp -R ./libcef_dll_wrapper/libcef_dll_wrapper.a /app/cef/libcef_dll_wrapper"
|
||||
],
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://cdn-fastly.obsproject.com/downloads/cef_binary_5060_linux64.tar.bz2",
|
||||
"sha256": "ac4e2a8ebf20700e4e36353e314f876623633dd5b474778a2548bb66bdbea11d"
|
||||
}
|
||||
]
|
||||
"name": "cef",
|
||||
"buildsystem": "cmake-ninja",
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
],
|
||||
"no-make-install": true,
|
||||
"make-args": [
|
||||
"libcef_dll_wrapper"
|
||||
],
|
||||
"build-commands": [
|
||||
"mkdir -p /app/cef/libcef_dll_wrapper",
|
||||
"cp -R ./include /app/cef",
|
||||
"cp -R ./Release /app/cef",
|
||||
"cp -R ./Resources /app/cef",
|
||||
"cp -R ./libcef_dll_wrapper/libcef_dll_wrapper.a /app/cef/libcef_dll_wrapper"
|
||||
],
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://cdn-fastly.obsproject.com/downloads/cef_binary_5060_linux64.tar.bz2",
|
||||
"sha256": "ac4e2a8ebf20700e4e36353e314f876623633dd5b474778a2548bb66bdbea11d"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user