com.obsproject.Studio.json 6.5 KB

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