com.obsproject.Studio.json 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. {
  2. "app-id": "com.obsproject.Studio",
  3. "runtime": "org.kde.Platform",
  4. "runtime-version": "5.15",
  5. "sdk": "org.kde.Sdk",
  6. "command": "obs",
  7. "finish-args": [
  8. "--socket=wayland",
  9. "--socket=x11",
  10. "--socket=pulseaudio",
  11. "--device=all",
  12. "--share=network",
  13. "--share=ipc",
  14. "--filesystem=xdg-run/pipewire-0",
  15. "--filesystem=host",
  16. "--talk-name=org.kde.StatusNotifierWatcher",
  17. "--talk-name=org.freedesktop.Flatpak",
  18. "--talk-name=org.freedesktop.ScreenSaver",
  19. "--talk-name=org.freedesktop.PowerManagement.Inhibit",
  20. "--talk-name=org.freedesktop.Notifications",
  21. "--talk-name=org.mate.SessionManager",
  22. "--talk-name=org.gnome.SessionManager",
  23. "--own-name=org.kde.StatusNotifierItem-2-2",
  24. "--system-talk-name=org.freedesktop.Avahi"
  25. ],
  26. "cleanup": [
  27. "/lib/pkgconfig",
  28. "/share/man",
  29. "*.la"
  30. ],
  31. "modules": [
  32. {
  33. "name": "x264",
  34. "config-opts": [
  35. "--disable-cli",
  36. "--enable-shared"
  37. ],
  38. "cleanup": [
  39. "/include"
  40. ],
  41. "sources": [
  42. {
  43. "type": "git",
  44. "url": "https://code.videolan.org/videolan/x264.git",
  45. "commit": "b86ae3c66f51ac9eab5ab7ad09a9d62e67961b8a"
  46. }
  47. ]
  48. },
  49. {
  50. "name": "v4l-utils",
  51. "config-opts": [
  52. "--disable-static",
  53. "--disable-doxygen-doc",
  54. "--disable-libdvbv5",
  55. "--disable-v4l-utils",
  56. "--disable-qv4l2",
  57. "--with-udevdir=/app/lib/udev/"
  58. ],
  59. "cleanup": [
  60. "/include"
  61. ],
  62. "sources": [
  63. {
  64. "type": "archive",
  65. "url": "https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.20.0.tar.bz2",
  66. "sha256": "956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7"
  67. }
  68. ]
  69. },
  70. {
  71. "name": "nv-codec-headers",
  72. "no-autogen": true,
  73. "make-install-args": [
  74. "PREFIX=/app"
  75. ],
  76. "cleanup": [
  77. "*"
  78. ],
  79. "sources": [
  80. {
  81. "type": "git",
  82. "url": "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git",
  83. "commit": "7a81595786463d1c7efcb03aa85def69fc2cad41",
  84. "tag": "n11.0.10.0"
  85. }
  86. ]
  87. },
  88. {
  89. "name": "srt",
  90. "buildsystem": "cmake-ninja",
  91. "config-opts": [
  92. "-DENABLE_STATIC=OFF",
  93. "-DENABLE_APPS=OFF",
  94. "-DENABLE_LOGGING=OFF"
  95. ],
  96. "cleanup": [
  97. "/include",
  98. "/bin"
  99. ],
  100. "sources": [
  101. {
  102. "type": "git",
  103. "url": "https://github.com/Haivision/srt.git",
  104. "tag": "v1.4.2",
  105. "commit": "50b7af06f3a0a456c172b4cb3aceafa8a5cc0036"
  106. }
  107. ]
  108. },
  109. {
  110. "name": "ffmpeg",
  111. "config-opts": [
  112. "--enable-gpl",
  113. "--enable-shared",
  114. "--disable-static",
  115. "--enable-gnutls",
  116. "--disable-doc",
  117. "--disable-programs",
  118. "--disable-devices",
  119. "--enable-libopus",
  120. "--enable-libvpx",
  121. "--enable-libvorbis",
  122. "--enable-libx264",
  123. "--enable-nvenc",
  124. "--enable-libsrt"
  125. ],
  126. "cleanup": [
  127. "/share/ffmpeg",
  128. "/include"
  129. ],
  130. "sources": [
  131. {
  132. "type": "archive",
  133. "url": "https://www.ffmpeg.org/releases/ffmpeg-4.3.2.tar.xz",
  134. "sha256": "46e4e64f1dd0233cbc0934b9f1c0da676008cad34725113fb7f802cfa84ccddb"
  135. }
  136. ]
  137. },
  138. {
  139. "name": "luajit",
  140. "no-autogen": true,
  141. "cleanup": [
  142. "/bin",
  143. "/include"
  144. ],
  145. "sources": [
  146. {
  147. "type": "git",
  148. "url": "https://luajit.org/git/luajit-2.0.git",
  149. "branch": "v2.1",
  150. "disable-shallow-clone": true
  151. },
  152. {
  153. "type": "shell",
  154. "commands": [
  155. "sed -i 's|/usr/local|/app|' ./Makefile"
  156. ]
  157. }
  158. ]
  159. },
  160. {
  161. "name": "swig",
  162. "config-opts": [
  163. "--without-boost",
  164. "--without-pcre",
  165. "--without-alllang",
  166. "--with-lua=/app/bin/luajit-2.1.0-beta3",
  167. "--with-luaincl=/app/include/luajit-2.1",
  168. "--with-python3"
  169. ],
  170. "cleanup": [
  171. "*"
  172. ],
  173. "sources": [
  174. {
  175. "type": "archive",
  176. "url": "https://prdownloads.sourceforge.net/swig/swig-4.0.2.tar.gz",
  177. "sha256": "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc"
  178. }
  179. ]
  180. },
  181. {
  182. "name": "mbedtls",
  183. "buildsystem": "cmake-ninja",
  184. "builddir": true,
  185. "config-opts": [
  186. "-DCMAKE_BUILD_TYPE=Release",
  187. "-DCMAKE_POSITION_INDEPENDENT_CODE=ON",
  188. "-DUSE_SHARED_MBEDTLS_LIBRARY=ON",
  189. "-DUSE_STATIC_MBEDTLS_LIBRARY=OFF",
  190. "-DENABLE_TESTING=OFF",
  191. "-DENABLE_PROGRAMS=OFF"
  192. ],
  193. "cleanup": [
  194. "/include"
  195. ],
  196. "sources": [
  197. {
  198. "type": "git",
  199. "url": "https://github.com/ARMmbed/mbedtls.git",
  200. "commit": "1c54b5410fd48d6bcada97e30cac417c5c7eea67",
  201. "tag": "v2.25.0"
  202. }
  203. ]
  204. },
  205. {
  206. "name": "jack2",
  207. "buildsystem": "simple",
  208. "build-commands": [
  209. "./waf configure --prefix=$FLATPAK_DEST",
  210. "./waf build -j $FLATPAK_BUILDER_N_JOBS",
  211. "./waf install"
  212. ],
  213. "cleanup": [
  214. "*"
  215. ],
  216. "sources": [
  217. {
  218. "type": "archive",
  219. "url": "https://github.com/jackaudio/jack2/releases/download/v1.9.14/v1.9.14.tar.gz",
  220. "sha256": "a20a32366780c0061fd58fbb5f09e514ea9b7ce6e53b080a44b11a558a83217c"
  221. }
  222. ]
  223. },
  224. {
  225. "name": "cef",
  226. "buildsystem": "cmake-ninja",
  227. "no-make-install": true,
  228. "make-args": [
  229. "libcef_dll_wrapper"
  230. ],
  231. "build-commands": [
  232. "mkdir -p /app/cef/libcef_dll_wrapper",
  233. "cp -R ./include /app/cef",
  234. "cp -R ./Release /app/cef",
  235. "cp -R ./Resources /app/cef",
  236. "cp -R ./libcef_dll_wrapper/libcef_dll_wrapper.a /app/cef/libcef_dll_wrapper"
  237. ],
  238. "cleanup": [
  239. "./*"
  240. ],
  241. "sources": [
  242. {
  243. "type": "archive",
  244. "url": "https://cdn-fastly.obsproject.com/downloads/cef_binary_4280_linux64.tar.bz2",
  245. "sha256": "d91c78349ecbfbfdfc18d5f882dc28b939028f1a631191c603b5d0d938ada972"
  246. }
  247. ]
  248. },
  249. {
  250. "name": "obs",
  251. "buildsystem": "cmake-ninja",
  252. "builddir": true,
  253. "config-opts": [
  254. "-DCMAKE_BUILD_TYPE=Release",
  255. "-DENABLE_WAYLAND=ON",
  256. "-DBUILD_BROWSER=ON",
  257. "-DCEF_ROOT_DIR=/app/cef",
  258. "-DUNIX_STRUCTURE=ON",
  259. "-DUSE_XDG=ON",
  260. "-DDISABLE_ALSA=ON",
  261. "-DENABLE_PULSEAUDIO=ON",
  262. "-DWITH_RTMPS=ON",
  263. "-DBUILD_BROWSER=OFF"
  264. ],
  265. "sources": [
  266. {
  267. "type": "dir",
  268. "path": "../../"
  269. }
  270. ]
  271. }
  272. ]
  273. }