Skip to content

Commit

Permalink
build-aux: Add Flatpak manifest
Browse files Browse the repository at this point in the history
Add a new com.obsproject.Studio.json file
containing the dependencies and permissions
required by OBS Studio.

RFC: obsproject/rfcs#21
  • Loading branch information
GeorgesStavracas committed Aug 17, 2020
1 parent 4b2e9e9 commit a8c814b
Showing 1 changed file with 250 additions and 0 deletions.
250 changes: 250 additions & 0 deletions build-aux/com.obsproject.Studio.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
{
"app-id": "com.obsproject.Studio",
"default-branch": "stable",
"runtime": "org.kde.Platform",
"runtime-version": "5.14",
"sdk": "org.kde.Sdk",
"command": "obs",
"finish-args": [
"--socket=x11",
"--socket=pulseaudio",
"--device=all",
"--share=network",
"--share=ipc",
"--filesystem=xdg-run/obs-xdg-portal:create",
"--filesystem=host",
"--talk-name=org.kde.StatusNotifierWatcher",
"--talk-name=org.freedesktop.ScreenSaver",
"--talk-name=org.freedesktop.PowerManagement.Inhibit",
"--talk-name=org.freedesktop.Notifications",
"--talk-name=org.mate.SessionManager",
"--talk-name=org.gnome.SessionManager",
"--own-name=org.kde.StatusNotifierItem-2-2",
"--system-talk-name=org.freedesktop.Avahi"
],
"cleanup": [
"/lib/pkgconfig",
"/share/man",
"*.la"
],
"modules": [
{
"name": "x264",
"config-opts": [
"--disable-cli",
"--enable-shared"
],
"cleanup": [
"/include"
],
"sources": [
{
"type": "archive",
"url": "https://code.videolan.org/videolan/x264/-/archive/1771b556ee45207f8711744ccbd5d42a3949b14c/x264-1771b556ee45207f8711744ccbd5d42a3949b14c.tar.bz2",
"sha256": "b31c5db5337873b9ee42b8cbc60b56d60ce368fa7e4c4eff90a729b36eeb8326"
}
]
},
{
"name": "v4l-utils",
"config-opts": [
"--disable-static",
"--disable-doxygen-doc",
"--disable-libdvbv5",
"--disable-v4l-utils",
"--disable-qv4l2",
"--with-udevdir=/app/lib/udev/"
],
"cleanup": [
"/include"
],
"sources": [
{
"type": "archive",
"url": "https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.18.0.tar.bz2",
"sha256": "6cb60d822eeed20486a03cc23e0fc65956fbc1e85e0c1a7477f68bbd9802880d"
}
]
},
{
"name": "nv-codec-headers",
"no-autogen": true,
"make-install-args": [
"PREFIX=/app"
],
"cleanup": [
"*"
],
"sources": [
{
"type": "git",
"url": "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git",
"commit": "4a0bbfd58724d6d19851cd8a6f7a9098dde9ab77",
"tag": "n9.1.23.1"
}
]
},
{
"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"
],
"cleanup": [
"/share/ffmpeg",
"/include"
],
"sources": [
{
"type": "archive",
"url": "https://www.ffmpeg.org/releases/ffmpeg-4.2.2.tar.xz",
"sha256": "cb754255ab0ee2ea5f66f8850e1bd6ad5cac1cd855d0a2f4990fb8c668b0d29c"
}
]
},
{
"name": "luajit",
"no-autogen": true,
"cleanup": [
"/bin",
"/include"
],
"sources": [
{
"type": "archive",
"url": "http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz",
"sha256": "1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3"
},
{
"type": "shell",
"commands": [
"sed -i 's|/usr/local|/app|' ./Makefile"
]
}
]
},
{
"name": "swig",
"config-opts": [
"--without-boost",
"--without-pcre",
"--without-alllang",
"--with-lua=/app/bin/luajit-2.1.0-beta2",
"--with-luaincl=/app/include/luajit-2.1",
"--with-python3"
],
"cleanup": [
"*"
],
"sources": [
{
"type": "archive",
"url": "https://prdownloads.sourceforge.net/swig/swig-4.0.1.tar.gz",
"sha256": "7a00b4d0d53ad97a14316135e2d702091cd5f193bb58bcfcd8bc59d41e7887a9"
}
]
},
{
"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": "archive",
"url": "https://tls.mbed.org/download/mbedtls-2.16.5-apache.tgz",
"sha256": "65b4c6cec83e048fd1c675e9a29a394ea30ad0371d37b5742453f74084e7b04d"
}
]
},
{
"name": "jack2",
"buildsystem": "simple",
"build-commands": [
"./waf configure --prefix=/app --htmldir=/app/share/doc/jack/ --classic",
"./waf build -j $FLATPAK_BUILDER_N_JOBS",
"./waf install"
],
"cleanup": [
"/bin",
"/share",
"/lib/jack",
"/lib/libjackserver.so*"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/jackaudio/jack2/releases/download/v1.9.14/v1.9.14.tar.gz",
"sha256": "a20a32366780c0061fd58fbb5f09e514ea9b7ce6e53b080a44b11a558a83217c"
}
]
},
{
"name": "pipewire",
"buildsystem": "meson",
"config-opts": [
"-Dalsa=false",
"-Dbluez5=false",
"-Dexamples=false",
"-Dman=false",
"-Dtests=false"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/pipewire/pipewire.git",
"tag": "0.3.9"
}
]
},
{
"name": "obs",
"buildsystem": "cmake-ninja",
"builddir": true,
"config-opts": [
"-DCMAKE_BUILD_TYPE=Release",
"-DUNIX_STRUCTURE=ON",
"-DUSE_XDG=ON",
"-DDISABLE_ALSA=ON",
"-DENABLE_PULSEAUDIO=ON",
"-DWITH_RTMPS=ON",
"-DOBS_VERSION_OVERRIDE=25.0.8"
],
"post-install": [
"install -d /app/lib/blackmagic /app/lib/ndi /app/lib/v4l2sink",
"ln -s /app/lib/ndi/obs-ndi.so /app/lib/obs-plugins/obs-ndi.so",
"mkdir -p /app/share/obs/obs-plugins/obs-ndi",
"ln -s /app/lib/ndi/locale /app/share/obs/obs-plugins/obs-ndi/locale",
"ln -s /app/lib/v4l2sink/v4l2sink.so /app/lib/obs-plugins/obs-v4l2sink.so"
],
"sources": [
{
"type": "git",
"url": "https://github.com/obsproject/obs-studio.git",
"tag": "25.0.8",
"commit": "4c0d4a1d8e1433897dcbbff6084b0f38a421f231"
}
]
}
]
}

0 comments on commit a8c814b

Please sign in to comment.