1 |
commit: c3635cb175c7f3d301323630956c1a6ca27605d5 |
2 |
Author: Jimi Huotari <chiitoo <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Nov 2 05:21:17 2022 +0000 |
4 |
Commit: Jimi Huotari <chiitoo <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Nov 8 16:16:58 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3635cb1 |
7 |
|
8 |
media-video/obs-studio: add version 28.1.2 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/867775 |
11 |
Thanks-to: マリウス <marius <AT> xn--gckvb8fzb.com> |
12 |
Thanks-to: Ionen Wolkens <ionen <AT> gentoo.org> |
13 |
Signed-off-by: Jimi Huotari <chiitoo <AT> gentoo.org> |
14 |
|
15 |
media-video/obs-studio/Manifest | 7 + |
16 |
media-video/obs-studio/obs-studio-28.1.2.ebuild | 266 ++++++++++++++++++++++++ |
17 |
2 files changed, 273 insertions(+) |
18 |
|
19 |
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest |
20 |
index bb70ecac77a8..58346b4d341e 100644 |
21 |
--- a/media-video/obs-studio/Manifest |
22 |
+++ b/media-video/obs-studio/Manifest |
23 |
@@ -1,5 +1,12 @@ |
24 |
+DIST asio-b73dc1d2c0ecb9452a87c26544d7f71e24342df6.tar.gz 1211725 BLAKE2B 8ffe536e9398b23910deab9889136ac5cb2a39e26982826252400737ea68d201e11bf16f13f20bd4c777fc7ff718da5ef8d329747065c62e61306fc1448f3908 SHA512 91245741fe6e7ce8eec6897f222b05cfa9474f93487272d8ca84ec56679afd5cddff2cf07f30cdd6516149e0a138b8a7396b1a7c02a46044b38f4e60addcbf8a |
25 |
DIST cef_binary_4638_linux64.tar.bz2 104578246 BLAKE2B 13ee05d4a2fbf27290506297416b298c786954450c19183b493d13aa691db409c22b30870fbc55adf814ff30142a666eb8b172f16ccc48e6cf01135c72e5d6d6 SHA512 2eb01151e07adf332affce36a659c6e87da1fbc403c65db7e7c53472ff418df6cd04300a7c6ebc8789c094926429cc70d829e556e5de3127da230f8258fabe49 |
26 |
DIST cef_binary_5060_linux64.tar.bz2 132839531 BLAKE2B f7d342cf12bf435aab3873b666a47c42c6583a88f140c28dabfd2dd860cd0d5c96cc51cc034703bffc6f1094a738bd77008c01839fa5ea53b848bc1c483a0ae4 SHA512 c99ce53858c57becd7822e39ff81d59b7296374fa61b29dfd4a572c2ed8f9ab155114ed179764ea05586e0edb2f1654f0b73c471f1cd9b233660e7f1c8b462c4 |
27 |
+DIST json-a34e011e24beece3b69397a03fdc650546f052c3.tar.gz 6860722 BLAKE2B 433b499f24859153171654f3fd0fa9afd4ceb8b21a159185a424084b940d8496f8952c0291a52d85009dde16c46e45d5a206f354d043f4d010a29a1f18965d87 SHA512 a7c64517377274479bc3060163a2a7ed0a8780c12dc193287c060f04dfd742ffe8832c930bec75eb0b36f8290044c31530260a614aabae90367f6ccfd4b711f3 |
28 |
DIST obs-browser-915761778ec1eae99e740ad4bf63b40db3142ee2.tar.gz 100021 BLAKE2B d72df588aaeaf199c6ea5a7e419bb4792ef8b4c4237e700f75064d96caaec83ed2be2ea4ab34ba31e30a87ec6cbf1f267dd7b100c3a6cfec36e46b2eca8c4b2e SHA512 3ab6118a9509054ea4e8aed14dade7f374495ba25fcb5295a3ef7ed29e6e3305b0ae2f12ba2c0d27fcd6886822c98ab44a48fa9a4b66ae0507ab2bf1001157cb |
29 |
+DIST obs-browser-e2310b02df3e6c184fe6eb6608244a82e37f582e.tar.gz 109012 BLAKE2B a2f3d9e1a3dbc3aa4d00423e743633038d59ce501626941a21ef0cf78608f4190335b8b846bfef49b2f09976d4ef3bb8b19f955b2a328c375cc045b886cb367c SHA512 76494fc9415db68d2b67d832a7a5c8b035e4e379d9adb6eb8292579d12b88b92350692b24e999b1328e02f729fae4060304594d37c754ff359903193c1464aed |
30 |
DIST obs-studio-27.2.3.tar.gz 16383685 BLAKE2B 76802ba67dcebccabd9b2a1f09f505a4aea83887b445093c51a2c7a49fbaa064549b6212bd1b2f3200674a78349b2de4bfa54d14871c76be248cd62139d98a56 SHA512 c34e850e1a83e55aed952611257446a39d7ba4456b94f74d91c85d09d77361af2f76848f7d3f3d8ba7ae76c926129adad555e2f54d632658832596d0f2696a3c |
31 |
DIST obs-studio-27.2.4.tar.gz 16385399 BLAKE2B 00c05ecd055d707b7132ca4b20e1c4946b682c0f79f1477167ae55aba3ec367c97b05aac190b07260f936e68f79f2d58e19dcc0602f70408f4c056eb733a6fdd SHA512 575341dd3d9240b21881517a16d01ca11f833e08b40ca7990f0360b4cd1076e8217a9bb8dddf174eca5429e6eadaadb6cfdbd61d24e0eb13ebeaa7f29cfad8bf |
32 |
+DIST obs-studio-28.1.2.tar.gz 18859931 BLAKE2B 08fcedb4094d6a03512139e9055116f47fbd6cf706029d2719524bc018d0dce2a774de83b603f9a7665a115e2414775b858020e0be0ccdcc6882478256392646 SHA512 9d5e7e1f2f6236b795c2c49a1a6ba43623c71f16c1c6106fae6ac99b792e15793c169fb62aea271c253b13a0fd9bc9b9ad7880315d9ee787682174a5700f85bd |
33 |
+DIST obs-websocket-5716577019b1ccda01a12db2cba35a023082b7ad.tar.gz 235118 BLAKE2B 96202cf81389b82b26027680dcaa6e2bf902c9776a89895fbef859dae2986523bc5d34ad30233c29fac043611a942fb4d86e5d9d9cd4ef2a9503154a383002fe SHA512 9bb511c9693889f9837cd001fafe403762d44f2ecc80bad42e592d7555e3807a148ab19638724871b7807e71edf5f62a1e0ea62f362fd1b9a6e9bf49000b8a5c |
34 |
+DIST qr-8518684c0f33d004fa93971be2c6a8eca3167d1e.tar.gz 135863 BLAKE2B fa6fb9c9e5250b56bdf38f31aa4acaf4ce860c153012984d1266928bd7a62dcf43b271ff53b4322931304670742566dcb016ef65ff2f681bf76224f86eca567c SHA512 ba298de89411fecc8db3dc10850485da01f5183d68b6d91ea91a9e28c1f104eb110adbf143a37e5d1856abbba5d309ab8329a6359ca7225bacb033d8044fa72c |
35 |
+DIST websocketpp-56123c87598f8b1dd471be83ca841ceae07f95ba.tar.gz 701544 BLAKE2B 61680c31309d8f78b27b82e1bde2c7828eae2777df0629355c557dfd8b0daef6de7d202bbcff372351e135bb62366ffc8eec6c72a99df7c46a9197773c46550c SHA512 f185a66e5a7c783254352a6ef87e2e559f681032b7368765d08393ed12bcae76825abed7dcaea73de09df644320409dad46279701f5f469520542a2c9b6a6163 |
36 |
|
37 |
diff --git a/media-video/obs-studio/obs-studio-28.1.2.ebuild b/media-video/obs-studio/obs-studio-28.1.2.ebuild |
38 |
new file mode 100644 |
39 |
index 000000000000..dec59165b47e |
40 |
--- /dev/null |
41 |
+++ b/media-video/obs-studio/obs-studio-28.1.2.ebuild |
42 |
@@ -0,0 +1,266 @@ |
43 |
+# Copyright 1999-2022 Gentoo Authors |
44 |
+# Distributed under the terms of the GNU General Public License v2 |
45 |
+ |
46 |
+EAPI=8 |
47 |
+ |
48 |
+CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) |
49 |
+LUA_COMPAT=( luajit ) |
50 |
+PYTHON_COMPAT=( python3_{8..11} ) |
51 |
+ |
52 |
+inherit cmake lua-single optfeature python-single-r1 xdg |
53 |
+ |
54 |
+CEF_DIR="cef_binary_5060_linux64" |
55 |
+ASIO_COMMIT="b73dc1d2c0ecb9452a87c26544d7f71e24342df6" |
56 |
+JSON_COMMIT="a34e011e24beece3b69397a03fdc650546f052c3" |
57 |
+OBS_BROWSER_COMMIT="e2310b02df3e6c184fe6eb6608244a82e37f582e" |
58 |
+OBS_WEBSOCKET_COMMIT="5716577019b1ccda01a12db2cba35a023082b7ad" |
59 |
+QR_COMMIT="8518684c0f33d004fa93971be2c6a8eca3167d1e" |
60 |
+WEBSOCKETPP_COMMIT="56123c87598f8b1dd471be83ca841ceae07f95ba" |
61 |
+ |
62 |
+if [[ ${PV} == 9999 ]]; then |
63 |
+ inherit git-r3 |
64 |
+ EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" |
65 |
+ EGIT_SUBMODULES=( |
66 |
+ plugins/obs-browser |
67 |
+ plugins/obs-websocket |
68 |
+ plugins/obs-websocket/deps/asio |
69 |
+ plugins/obs-websocket/deps/json |
70 |
+ plugins/obs-websocket/deps/qr |
71 |
+ plugins/obs-websocket/deps/websocketpp |
72 |
+ ) |
73 |
+else |
74 |
+ SRC_URI=" |
75 |
+ https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz |
76 |
+ https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz |
77 |
+ https://github.com/chriskohlhoff/asio/archive/${ASIO_COMMIT}.tar.gz -> asio-${ASIO_COMMIT}.tar.gz |
78 |
+ https://github.com/nayuki/QR-Code-generator/archive/${QR_COMMIT}.tar.gz -> qr-${QR_COMMIT}.tar.gz |
79 |
+ https://github.com/nlohmann/json/archive/${JSON_COMMIT}.tar.gz -> json-${JSON_COMMIT}.tar.gz |
80 |
+ https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz |
81 |
+ https://github.com/zaphoyd/websocketpp/archive/${WEBSOCKETPP_COMMIT}.tar.gz -> websocketpp-${WEBSOCKETPP_COMMIT}.tar.gz |
82 |
+ " |
83 |
+ KEYWORDS="~amd64 ~ppc64 ~x86" |
84 |
+fi |
85 |
+SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )" |
86 |
+ |
87 |
+DESCRIPTION="Software for Recording and Streaming Live Video Content" |
88 |
+HOMEPAGE="https://obsproject.com" |
89 |
+ |
90 |
+LICENSE="Boost-1.0 GPL-2+ MIT Unlicense" |
91 |
+SLOT="0" |
92 |
+IUSE=" |
93 |
+ +alsa browser decklink fdk jack lua nvenc pipewire pulseaudio |
94 |
+ python qt6 speex +ssl truetype v4l vlc wayland websocket |
95 |
+" |
96 |
+REQUIRED_USE=" |
97 |
+ browser? ( || ( alsa pulseaudio ) ) |
98 |
+ lua? ( ${LUA_REQUIRED_USE} ) |
99 |
+ python? ( ${PYTHON_REQUIRED_USE} ) |
100 |
+" |
101 |
+ |
102 |
+BDEPEND=" |
103 |
+ lua? ( dev-lang/swig ) |
104 |
+ python? ( dev-lang/swig ) |
105 |
+" |
106 |
+DEPEND=" |
107 |
+ dev-libs/glib:2 |
108 |
+ dev-libs/jansson:= |
109 |
+ media-libs/libglvnd |
110 |
+ media-libs/x264:= |
111 |
+ media-video/ffmpeg:=[nvenc?,x264] |
112 |
+ net-misc/curl |
113 |
+ sys-apps/dbus |
114 |
+ sys-apps/pciutils |
115 |
+ sys-libs/zlib:= |
116 |
+ x11-libs/libX11 |
117 |
+ x11-libs/libXcomposite |
118 |
+ x11-libs/libXfixes |
119 |
+ x11-libs/libxcb:= |
120 |
+ alsa? ( media-libs/alsa-lib ) |
121 |
+ browser? ( |
122 |
+ || ( |
123 |
+ >=app-accessibility/at-spi2-core-2.46.0:2 |
124 |
+ ( app-accessibility/at-spi2-atk dev-libs/atk ) |
125 |
+ ) |
126 |
+ dev-libs/expat |
127 |
+ dev-libs/glib |
128 |
+ dev-libs/nspr |
129 |
+ dev-libs/nss |
130 |
+ dev-libs/wayland |
131 |
+ media-libs/alsa-lib |
132 |
+ media-libs/fontconfig |
133 |
+ media-libs/mesa[gbm(+)] |
134 |
+ net-print/cups |
135 |
+ x11-libs/cairo |
136 |
+ x11-libs/libdrm |
137 |
+ x11-libs/libXcursor |
138 |
+ x11-libs/libXdamage |
139 |
+ x11-libs/libXext |
140 |
+ x11-libs/libXi |
141 |
+ x11-libs/libxkbcommon |
142 |
+ x11-libs/libXrandr |
143 |
+ x11-libs/libXrender |
144 |
+ x11-libs/libXScrnSaver |
145 |
+ x11-libs/libxshmfence |
146 |
+ x11-libs/libXtst |
147 |
+ x11-libs/pango |
148 |
+ ) |
149 |
+ fdk? ( media-libs/fdk-aac:= ) |
150 |
+ jack? ( virtual/jack ) |
151 |
+ lua? ( ${LUA_DEPS} ) |
152 |
+ pipewire? ( media-video/pipewire:= ) |
153 |
+ pulseaudio? ( media-libs/libpulse ) |
154 |
+ python? ( ${PYTHON_DEPS} ) |
155 |
+ qt6? ( |
156 |
+ dev-qt/qtbase:6[network,widgets,xml(+)] |
157 |
+ dev-qt/qtsvg:6 |
158 |
+ x11-libs/libxkbcommon |
159 |
+ ) |
160 |
+ !qt6? ( |
161 |
+ dev-qt/qtcore:5 |
162 |
+ dev-qt/qtgui:5[wayland?] |
163 |
+ dev-qt/qtnetwork:5 |
164 |
+ dev-qt/qtquickcontrols:5 |
165 |
+ dev-qt/qtsvg:5 |
166 |
+ dev-qt/qtwidgets:5 |
167 |
+ dev-qt/qtxml:5 |
168 |
+ ) |
169 |
+ speex? ( media-libs/speexdsp ) |
170 |
+ ssl? ( net-libs/mbedtls:= ) |
171 |
+ truetype? ( |
172 |
+ media-libs/fontconfig |
173 |
+ media-libs/freetype |
174 |
+ ) |
175 |
+ v4l? ( |
176 |
+ media-libs/libv4l |
177 |
+ virtual/udev |
178 |
+ ) |
179 |
+ vlc? ( media-video/vlc:= ) |
180 |
+ wayland? ( |
181 |
+ dev-libs/wayland |
182 |
+ x11-libs/libxkbcommon |
183 |
+ ) |
184 |
+" |
185 |
+RDEPEND="${DEPEND}" |
186 |
+ |
187 |
+QA_PREBUILT=" |
188 |
+ usr/lib*/obs-plugins/chrome-sandbox |
189 |
+ usr/lib*/obs-plugins/libcef.so |
190 |
+ usr/lib*/obs-plugins/libEGL.so |
191 |
+ usr/lib*/obs-plugins/libGLESv2.so |
192 |
+ usr/lib*/obs-plugins/libvk_swiftshader.so |
193 |
+ usr/lib*/obs-plugins/libvulkan.so.1 |
194 |
+ usr/lib*/obs-plugins/swiftshader/libEGL.so |
195 |
+ usr/lib*/obs-plugins/swiftshader/libGLESv2.so |
196 |
+" |
197 |
+ |
198 |
+pkg_setup() { |
199 |
+ use lua && lua-single_pkg_setup |
200 |
+ use python && python-single-r1_pkg_setup |
201 |
+} |
202 |
+ |
203 |
+src_unpack() { |
204 |
+ default |
205 |
+ |
206 |
+ if [[ ${PV} == 9999 ]]; then |
207 |
+ git-r3_src_unpack |
208 |
+ else |
209 |
+ rm -d ${P}/plugins/obs-browser || die |
210 |
+ mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die |
211 |
+ |
212 |
+ rm -d ${P}/plugins/obs-websocket || die |
213 |
+ mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die |
214 |
+ |
215 |
+ rm -d ${P}/plugins/obs-websocket/deps/asio || die |
216 |
+ mv asio-${ASIO_COMMIT} ${P}/plugins/obs-websocket/deps/asio || die |
217 |
+ |
218 |
+ rm -d ${P}/plugins/obs-websocket/deps/json || die |
219 |
+ mv json-${JSON_COMMIT} ${P}/plugins/obs-websocket/deps/json || die |
220 |
+ |
221 |
+ rm -d ${P}/plugins/obs-websocket/deps/qr || die |
222 |
+ mv QR-Code-generator-${QR_COMMIT} ${P}/plugins/obs-websocket/deps/qr || die |
223 |
+ |
224 |
+ rm -d ${P}/plugins/obs-websocket/deps/websocketpp || die |
225 |
+ mv websocketpp-${WEBSOCKETPP_COMMIT} ${P}/plugins/obs-websocket/deps/websocketpp || die |
226 |
+ fi |
227 |
+} |
228 |
+ |
229 |
+src_configure() { |
230 |
+ local libdir=$(get_libdir) |
231 |
+ local mycmakeargs=( |
232 |
+ $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR}) |
233 |
+ -DENABLE_ALSA=$(usex alsa) |
234 |
+ -DENABLE_AJA=OFF |
235 |
+ -DENABLE_BROWSER=$(usex browser) |
236 |
+ -DENABLE_DECKLINK=$(usex decklink) |
237 |
+ -DENABLE_FREETYPE=$(usex truetype) |
238 |
+ -DENABLE_JACK=$(usex jack) |
239 |
+ -DENABLE_LIBFDK=$(usex fdk) |
240 |
+ -DENABLE_NEW_MPEGTS_OUTPUT=OFF # Requires librist and libsrt. |
241 |
+ -DENABLE_PIPEWIRE=$(usex pipewire) |
242 |
+ -DENABLE_PULSEAUDIO=$(usex pulseaudio) |
243 |
+ -DENABLE_RTMPS=$(usex ssl) |
244 |
+ -DENABLE_SPEEXDSP=$(usex speex) |
245 |
+ -DENABLE_V4L2=$(usex v4l) |
246 |
+ -DENABLE_VLC=$(usex vlc) |
247 |
+ -DENABLE_VST=ON |
248 |
+ -DENABLE_WAYLAND=$(usex wayland) |
249 |
+ -DENABLE_WEBSOCKET=$(usex websocket) |
250 |
+ -DOBS_MULTIARCH_SUFFIX=${libdir#lib} |
251 |
+ -DQT_VERSION=$(usex qt6 6 5) |
252 |
+ -DUNIX_STRUCTURE=1 |
253 |
+ ) |
254 |
+ |
255 |
+ if [[ ${PV} != 9999 ]]; then |
256 |
+ mycmakeargs+=( |
257 |
+ -DOBS_VERSION_OVERRIDE=${PV} |
258 |
+ ) |
259 |
+ fi |
260 |
+ |
261 |
+ if use lua || use python; then |
262 |
+ mycmakeargs+=( |
263 |
+ -DENABLE_SCRIPTING_LUA=$(usex lua) |
264 |
+ -DENABLE_SCRIPTING_PYTHON=$(usex python) |
265 |
+ -DENABLE_SCRIPTING=ON |
266 |
+ ) |
267 |
+ else |
268 |
+ mycmakeargs+=( -DENABLE_SCRIPTING=OFF ) |
269 |
+ fi |
270 |
+ |
271 |
+ if use browser && use ssl; then |
272 |
+ mycmakeargs+=( -DENABLE_WHATSNEW=ON ) |
273 |
+ else |
274 |
+ mycmakeargs+=( -DENABLE_WHATSNEW=OFF ) |
275 |
+ fi |
276 |
+ |
277 |
+ cmake_src_configure |
278 |
+} |
279 |
+ |
280 |
+src_install() { |
281 |
+ cmake_src_install |
282 |
+ |
283 |
+ # external plugins may need some things not installed by default, install them here |
284 |
+ insinto /usr/include/obs/UI/obs-frontend-api |
285 |
+ doins UI/obs-frontend-api/obs-frontend-api.h |
286 |
+} |
287 |
+ |
288 |
+pkg_postinst() { |
289 |
+ xdg_pkg_postinst |
290 |
+ |
291 |
+ if ! use alsa && ! use pulseaudio; then |
292 |
+ elog |
293 |
+ elog "For the audio capture features to be available," |
294 |
+ elog "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to" |
295 |
+ elog "be enabled." |
296 |
+ elog |
297 |
+ fi |
298 |
+ |
299 |
+ if use v4l && has_version media-video/v4l2loopback; then |
300 |
+ elog |
301 |
+ elog "Depending on system configuration, the v4l2loopback kernel module" |
302 |
+ elog "may need to be loaded manually, and needs to be re-built after" |
303 |
+ elog "kernel changes." |
304 |
+ elog |
305 |
+ fi |
306 |
+ |
307 |
+ optfeature "virtual camera support" media-video/v4l2loopback |
308 |
+} |