diff options
author | Jimi Huotari <chiitoo@gentoo.org> | 2022-04-01 21:24:03 +0300 |
---|---|---|
committer | Ionen Wolkens <ionen@gentoo.org> | 2022-04-01 15:42:51 -0400 |
commit | 7dcedc667ad80443fc894f4f8aee62ec44785fa0 (patch) | |
tree | 7736b31699b6f73d7bed4a9135a31b3b9182ff11 /media-video | |
parent | media-video/obs-studio: add version 27.2.4 (diff) | |
download | gentoo-7dcedc667ad80443fc894f4f8aee62ec44785fa0.tar.gz gentoo-7dcedc667ad80443fc894f4f8aee62ec44785fa0.tar.bz2 gentoo-7dcedc667ad80443fc894f4f8aee62ec44785fa0.zip |
media-video/obs-studio: remove version 27.1.3
Also remove no longer needed patches.
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Jimi Huotari <chiitoo@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/24853
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/obs-studio/Manifest | 3 | ||||
-rw-r--r-- | media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch | 18 | ||||
-rw-r--r-- | media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch | 314 | ||||
-rw-r--r-- | media-video/obs-studio/obs-studio-27.1.3-r2.ebuild | 214 |
4 files changed, 0 insertions, 549 deletions
diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest index e6d41f708a76..86c897e4d5f3 100644 --- a/media-video/obs-studio/Manifest +++ b/media-video/obs-studio/Manifest @@ -1,7 +1,4 @@ -DIST cef_binary_4280_linux64.tar.bz2 79740715 BLAKE2B c648a9a4205094450f9eae407e98cbc3da2b7cd81b3c19c4f52cfa3efcca01dce40528018996c65f026eb97520d78040165d1906b0d19236a86e76ec39c58c26 SHA512 060a5a8716a75b4b96dfb6ac28c132e22b93107915d680311c1b9d4fd12c7712a9e3497338eac6d2b9f4e74f2dc005a75d195c597bba049e4731fe3724f519ba DIST cef_binary_4638_linux64.tar.bz2 104578246 BLAKE2B 13ee05d4a2fbf27290506297416b298c786954450c19183b493d13aa691db409c22b30870fbc55adf814ff30142a666eb8b172f16ccc48e6cf01135c72e5d6d6 SHA512 2eb01151e07adf332affce36a659c6e87da1fbc403c65db7e7c53472ff418df6cd04300a7c6ebc8789c094926429cc70d829e556e5de3127da230f8258fabe49 DIST obs-browser-915761778ec1eae99e740ad4bf63b40db3142ee2.tar.gz 100021 BLAKE2B d72df588aaeaf199c6ea5a7e419bb4792ef8b4c4237e700f75064d96caaec83ed2be2ea4ab34ba31e30a87ec6cbf1f267dd7b100c3a6cfec36e46b2eca8c4b2e SHA512 3ab6118a9509054ea4e8aed14dade7f374495ba25fcb5295a3ef7ed29e6e3305b0ae2f12ba2c0d27fcd6886822c98ab44a48fa9a4b66ae0507ab2bf1001157cb -DIST obs-browser-aee43000bd994022cd73e32dc50938ab777d4a06.tar.gz 89603 BLAKE2B a51b92f829ecb7055dcf969d6d5bdc4632b51288f0bc7e2ab66fda087da608869ddffccda83aa925f049c79e745a6f67e70ec72303184b970f5009fe37b34054 SHA512 8159ca02b5c30d2733ce8e566f21d6b77d6b7beabd0a5898049ee83b0b4d720b967fc55fcf876cd772fdaa12ca08163a0f8cabf249a9b3b6eb56b7666d1192c7 -DIST obs-studio-27.1.3.tar.gz 15994678 BLAKE2B 5544a1ecdb04dca7f6422936ea5499a206b4beb8e5332605c18cd72a91ce73aa74ff06c49a106931822c1c413ee94d383942f173a71f2b21168a00495b4e301f SHA512 04c11c79e3b091aa9ea8fc6674c9fbcaa1c924fe049f68e9be63f63724c31305d6e4fb33aecdd4d0095d20013e2ee188983f6938b175257368d2260681c2fb39 DIST obs-studio-27.2.3.tar.gz 16383685 BLAKE2B 76802ba67dcebccabd9b2a1f09f505a4aea83887b445093c51a2c7a49fbaa064549b6212bd1b2f3200674a78349b2de4bfa54d14871c76be248cd62139d98a56 SHA512 c34e850e1a83e55aed952611257446a39d7ba4456b94f74d91c85d09d77361af2f76848f7d3f3d8ba7ae76c926129adad555e2f54d632658832596d0f2696a3c DIST obs-studio-27.2.4.tar.gz 16385399 BLAKE2B 00c05ecd055d707b7132ca4b20e1c4946b682c0f79f1477167ae55aba3ec367c97b05aac190b07260f936e68f79f2d58e19dcc0602f70408f4c056eb733a6fdd SHA512 575341dd3d9240b21881517a16d01ca11f833e08b40ca7990f0360b4cd1076e8217a9bb8dddf174eca5429e6eadaadb6cfdbd61d24e0eb13ebeaa7f29cfad8bf diff --git a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch b/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch deleted file mode 100644 index d9e328ea4efb..000000000000 --- a/media-video/obs-studio/files/obs-studio-26.1.2-python-3.8.patch +++ /dev/null @@ -1,18 +0,0 @@ -https://bugs.gentoo.org/754006 - -https://github.com/obsproject/obs-studio/pull/3335 -From: Matt Gajownik <matt@obsproject.com> -Date: Tue, 25 Aug 2020 19:28:26 +1000 -Subject: [PATCH] libobs/util: Fix loading Python binary modules on *nix ---- a/libobs/util/platform-nix.c -+++ b/libobs/util/platform-nix.c -@@ -71,7 +71,8 @@ void *os_dlopen(const char *path) - #ifdef __APPLE__ - void *res = dlopen(dylib_name.array, RTLD_LAZY | RTLD_FIRST); - #else -- void *res = dlopen(dylib_name.array, RTLD_LAZY); -+ void *res = dlopen(dylib_name.array, -+ RTLD_LAZY | RTLD_DEEPBIND | RTLD_GLOBAL); - #endif - if (!res) - blog(LOG_ERROR, "os_dlopen(%s->%s): %s\n", path, diff --git a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch b/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch deleted file mode 100644 index a529dca715a9..000000000000 --- a/media-video/obs-studio/files/obs-studio-27.1.3-ffmpeg-5.0.patch +++ /dev/null @@ -1,314 +0,0 @@ -# https://git.exherbo.org/media.git/commit/?id=10c891cb37f4f7e42e95a00b27a5d4636266353e -# https://git.exherbo.org/media.git/commit/?id=e888c31724357431dbd0e73014ca87a552850d45 - -From 08547a1696fa381d0bda18aed57b9f87a6b1b334 Mon Sep 17 00:00:00 2001 -From: Ryan Foster <RytoEX@gmail.com> -Date: Sat, 6 Nov 2021 18:57:35 -0400 -Subject: [PATCH] obs-ffmpeg: Include avcodec header for AVCodecContext - -FFmpeg commit e67e02d15672 [1] drops avcodec.h from avformat.h includes. -Therefore we need to include it explicitly. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33 - lavf/avformat.h: drop the avcodec.h include ---- - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 + - plugins/obs-ffmpeg/obs-ffmpeg-formats.h | 2 ++ - plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c | 1 + - plugins/obs-ffmpeg/obs-ffmpeg-output.h | 1 + - 4 files changed, 5 insertions(+) - -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -index 1c160ced4b1f..e4c6cdb9fa2f 100644 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -@@ -27,6 +27,7 @@ - #include "ffmpeg-mux.h" - - #include <util/dstr.h> -+#include <libavcodec/avcodec.h> - #include <libavformat/avformat.h> - - #define ANSI_COLOR_RED "\x1b[0;91m" -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h -index 62e3866d037a..b40ef37293b4 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-formats.h -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-formats.h -@@ -1,5 +1,7 @@ - #pragma once - -+#include <libavcodec/avcodec.h> -+ - static inline int64_t rescale_ts(int64_t val, AVCodecContext *context, - AVRational new_base) - { -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c -index f2d93d2def89..e66010ce5f9c 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c -@@ -24,6 +24,7 @@ - - #include <libavutil/opt.h> - #include <libavutil/pixdesc.h> -+#include <libavcodec/avcodec.h> - #include <libavformat/avformat.h> - - #include "obs-ffmpeg-formats.h" -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.h b/plugins/obs-ffmpeg/obs-ffmpeg-output.h -index 99f4dcd13b44..72d89dfacc4c 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.h -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.h -@@ -2,6 +2,7 @@ - - #include <libavutil/opt.h> - #include <libavutil/pixdesc.h> -+#include <libavcodec/avcodec.h> - #include <libavformat/avformat.h> - #include <libswscale/swscale.h> - -From abf1d609d29196921df8f09ab6e07340b7cf9660 Mon Sep 17 00:00:00 2001 -From: Ryan Foster <RytoEX@gmail.com> -Date: Sat, 6 Nov 2021 18:58:05 -0400 -Subject: [PATCH] obs-ffmpeg: Include channel_layout.h - -avcodec.h stopped including channel_layout.h per FFmpeg commit -1be3d8a0cb77 [1]. avformat.h stopped including avcodec.h per FFmpeg -commit e67e02d15672 [2]. As a result, we need to explicitly include -avutil/channel_layout.h when needed. Fixes compilation error against -FFmpeg later than the two mentioned commits. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7 -[2]: https://github.com/FFmpeg/FFmpeg/commit/e67e02d15672a87da1b0566e197a1e19dc7e1e33 ---- - plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c -index 2e3899464362..cbcb9ac31bcb 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c -@@ -21,6 +21,7 @@ - #include <util/dstr.h> - #include <obs-module.h> - -+#include <libavutil/channel_layout.h> - #include <libavutil/opt.h> - #include <libavformat/avformat.h> - -From ce734366bc0b95ff91930f463e7ebe528cf8eabf Mon Sep 17 00:00:00 2001 -From: Ryan Foster <RytoEX@gmail.com> -Date: Sat, 6 Nov 2021 18:58:36 -0400 -Subject: [PATCH] obs-ffmpeg: Respect AVFormatContext and AVOutputFormat - constness - -AVFormatContext::oformat was made const on April 27, 2021 [1]. If we -respect the constness of AVOutputFormat and do not cast results from -FFmpeg functions to non-const, we cannot modify the results after the -fact. Our choices are either to cast them to non-const (and presumably -have them implicitly casted back to const on later function calls), or -only try to modify the results in versions of FFmpeg where these are not -expected to be const. - -Instead of relying on casts, we can set the encoder values in the -ffmpeg_cfg struct, which are later passed to new_stream. - -Also modifies deps/media-playback. Removes compiler warnings. -Some avformat functions return const AV(In/Out)putFormat per [1], so -ifdef as needed. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/56450a0ee4fdda160f4039fc2ae33edfd27765c9 - lavf 59.0.100 avformat.h - avformat: Constify the API wrt AV(In|Out)putFormat - - Also constify AVProbeData. ---- - deps/media-playback/media-playback/media.c | 4 ++++ - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 10 ++++++++++ - plugins/obs-ffmpeg/obs-ffmpeg-output.c | 19 ++++++++++++++++++- - 3 files changed, 32 insertions(+), 1 deletion(-) - -diff --git a/deps/media-playback/media-playback/media.c b/deps/media-playback/media-playback/media.c -index 9041b62e9cdd..a09b58ed5d10 100644 ---- a/deps/media-playback/media-playback/media.c -+++ b/deps/media-playback/media-playback/media.c -@@ -608,7 +608,11 @@ static int interrupt_callback(void *data) - - static bool init_avformat(mp_media_t *m) - { -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - AVInputFormat *format = NULL; -+#else -+ const AVInputFormat *format = NULL; -+#endif - - if (m->format_name && *m->format_name) { - format = av_find_input_format(m->format_name); -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -index e4c6cdb9fa2f..ffce3ee33eec 100644 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -@@ -565,7 +565,11 @@ static inline bool ffmpeg_mux_get_extra_data(struct ffmpeg_mux *ffm) - - static inline int open_output_file(struct ffmpeg_mux *ffm) - { -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - AVOutputFormat *format = ffm->output->oformat; -+#else -+ const AVOutputFormat *format = ffm->output->oformat; -+#endif - int ret; - - if ((format->flags & AVFMT_NOFILE) == 0) { -@@ -631,7 +635,11 @@ static bool ffmpeg_mux_is_network(struct ffmpeg_mux *ffm) - - static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm) - { -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - AVOutputFormat *output_format; -+#else -+ const AVOutputFormat *output_format; -+#endif - int ret; - bool is_http = false; - is_http = (strncmp(ffm->params.file, HTTP_PROTO, -@@ -665,8 +673,10 @@ static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm) - return FFM_ERROR; - } - -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - ffm->output->oformat->video_codec = AV_CODEC_ID_NONE; - ffm->output->oformat->audio_codec = AV_CODEC_ID_NONE; -+#endif - - if (!init_streams(ffm)) { - free_avformat(ffm); -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -index 6bc1637b1796..7447e952b9c2 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -@@ -543,6 +543,7 @@ static enum AVCodecID get_codec_id(const char *name, int id) - return codec->id; - } - -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - static void set_encoder_ids(struct ffmpeg_data *data) - { - data->output->oformat->video_codec = get_codec_id( -@@ -551,6 +552,7 @@ static void set_encoder_ids(struct ffmpeg_data *data) - data->output->oformat->audio_codec = get_codec_id( - data->config.audio_encoder, data->config.audio_encoder_id); - } -+#endif - - bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - { -@@ -570,7 +572,13 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - - is_rtmp = (astrcmpi_n(config->url, "rtmp://", 7) == 0); - -- AVOutputFormat *output_format = av_guess_format( -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) -+ AVOutputFormat *output_format; -+#else -+ const AVOutputFormat *output_format; -+#endif -+ -+ output_format = av_guess_format( - is_rtmp ? "flv" : data->config.format_name, data->config.url, - is_rtmp ? NULL : data->config.format_mime_type); - -@@ -596,6 +604,7 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - goto fail; - } - -+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(59, 0, 100) - if (is_rtmp) { - data->output->oformat->video_codec = AV_CODEC_ID_H264; - data->output->oformat->audio_codec = AV_CODEC_ID_AAC; -@@ -603,6 +612,14 @@ bool ffmpeg_data_init(struct ffmpeg_data *data, struct ffmpeg_cfg *config) - if (data->config.format_name) - set_encoder_ids(data); - } -+#else -+ if (is_rtmp) { -+ data->config.audio_encoder = "aac"; -+ data->config.audio_encoder_id = AV_CODEC_ID_AAC; -+ data->config.video_encoder = "libx264"; -+ data->config.video_encoder_id = AV_CODEC_ID_H264; -+ } -+#endif - - if (!init_streams(data)) - goto fail; - -From d78971b4db34d5fffbd11d2acabf37a65e11cd58 Mon Sep 17 00:00:00 2001 -From: pkv <pkv@obsproject.com> -Date: Fri, 17 Dec 2021 20:52:11 +0100 -Subject: [PATCH] obs-ffmpeg: Further FFmpeg deprecations fixes for FFmpeg 4.4+ - -avcodec.h stopped including channel_layout.h per FFmpeg commit -1be3d8a0cb77 [1]. Fixes compilation error on macOS against -FFmpeg later than the mentioned commit. -[1] https://github.com/FFmpeg/FFmpeg/commit/1be3d8a0cb77f8d34c1f39b47bf5328fe10c82d7 ---- - plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c | 1 + - plugins/obs-ffmpeg/obs-ffmpeg-output.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -index c07e22abe266..db26cb425ce5 100644 ---- a/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -+++ b/plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c -@@ -29,6 +29,7 @@ - #include <util/dstr.h> - #include <libavcodec/avcodec.h> - #include <libavformat/avformat.h> -+#include <libavutil/channel_layout.h> - - #define ANSI_COLOR_RED "\x1b[0;91m" - #define ANSI_COLOR_MAGENTA "\x1b[0;95m" -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -index d3637ebbb59b..7d1f12a60393 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c -@@ -25,6 +25,7 @@ - #include "obs-ffmpeg-output.h" - #include "obs-ffmpeg-formats.h" - #include "obs-ffmpeg-compat.h" -+#include <libavutil/channel_layout.h> - - struct ffmpeg_output { - obs_output_t *output; - -From c398ac9739a82bc95632eef9544dd0fb5bc5f0cf Mon Sep 17 00:00:00 2001 -From: pkv <pkv@obsproject.com> -Date: Sat, 6 Nov 2021 18:59:37 -0400 -Subject: [PATCH] obs-ffmpeg: Fix NVENC old codec naming removed in FFmpeg - -Per FFmpeg commit 337f777f378c [1], FFmpeg removed nvenc_h264_encoder -and nvenc_hevc_encoder after deprecation in FFmpeg commit 888a5c794778 -[2]. The names to be used are ff_h264_nvenc_encoder and -ff_hevc_nvenc_encoder. So we must allow alternative search of codec as -h264_nvenc or nvenc_h264 in obs-ffmpeg.c. - -[1]: https://github.com/FFmpeg/FFmpeg/commit/337f777f378cfcc0d6f0d01fb7125905e8b0da55 -[2]: https://github.com/FFmpeg/FFmpeg/commit/888a5c794778a2f2aad22e9b4a3952dff92b11fa ---- - plugins/obs-ffmpeg/obs-ffmpeg.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/plugins/obs-ffmpeg/obs-ffmpeg.c b/plugins/obs-ffmpeg/obs-ffmpeg.c -index 7330b2273544..399c5bfa64b6 100644 ---- a/plugins/obs-ffmpeg/obs-ffmpeg.c -+++ b/plugins/obs-ffmpeg/obs-ffmpeg.c -@@ -180,7 +180,9 @@ static bool nvenc_supported(void) - bool success = false; - - if (!nvenc) { -- goto cleanup; -+ nvenc = avcodec_find_encoder_by_name("h264_nvenc"); -+ if (!nvenc) -+ goto cleanup; - } - - #if defined(_WIN32) diff --git a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild b/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild deleted file mode 100644 index a018ce0e7966..000000000000 --- a/media-video/obs-studio/obs-studio-27.1.3-r2.ebuild +++ /dev/null @@ -1,214 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) -LUA_COMPAT=( luajit ) -PYTHON_COMPAT=( python3_{8..10} ) - -inherit cmake lua-single python-single-r1 xdg - -OBS_BROWSER_COMMIT="aee43000bd994022cd73e32dc50938ab777d4a06" -CEF_DIR="cef_binary_4280_linux64" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" - EGIT_SUBMODULES=( plugins/obs-browser ) -else - SRC_URI="https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - SRC_URI+=" browser? ( https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz )" - KEYWORDS="~amd64 ~ppc64 ~x86" -fi -SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}.tar.bz2 )" - -DESCRIPTION="Software for Recording and Streaming Live Video Content" -HOMEPAGE="https://obsproject.com" - -LICENSE="GPL-2" -SLOT="0" -IUSE=" - +alsa browser decklink fdk jack lua nvenc pipewire - pulseaudio python speex +ssl truetype v4l vlc wayland -" -REQUIRED_USE=" - browser? ( || ( alsa pulseaudio ) ) - lua? ( ${LUA_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -BDEPEND=" - lua? ( dev-lang/swig ) - python? ( dev-lang/swig ) -" -DEPEND=" - dev-libs/glib:2 - dev-libs/jansson:= - dev-qt/qtcore:5 - dev-qt/qtdeclarative:5 - dev-qt/qtgui:5[wayland?] - dev-qt/qtmultimedia:5 - dev-qt/qtnetwork:5 - dev-qt/qtquickcontrols:5 - dev-qt/qtsql:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - dev-qt/qtxml:5 - media-libs/libglvnd - media-libs/x264:= - media-video/ffmpeg:=[nvenc?,x264] - net-misc/curl - sys-apps/dbus - sys-libs/zlib:= - virtual/udev - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXfixes - x11-libs/libXinerama - x11-libs/libXrandr - x11-libs/libxcb:= - alsa? ( media-libs/alsa-lib ) - browser? ( - app-accessibility/at-spi2-atk - app-accessibility/at-spi2-core:2 - dev-libs/atk - dev-libs/expat - dev-libs/glib - dev-libs/nspr - dev-libs/nss - media-libs/alsa-lib - media-libs/fontconfig - media-libs/mesa[gbm(+)] - net-print/cups - x11-libs/libdrm - x11-libs/libXScrnSaver - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrender - x11-libs/libXtst - ) - fdk? ( media-libs/fdk-aac:= ) - jack? ( virtual/jack ) - lua? ( ${LUA_DEPS} ) - pipewire? ( media-video/pipewire:= ) - pulseaudio? ( media-sound/pulseaudio ) - python? ( ${PYTHON_DEPS} ) - speex? ( media-libs/speexdsp ) - ssl? ( net-libs/mbedtls:= ) - truetype? ( - media-libs/fontconfig - media-libs/freetype - ) - v4l? ( media-libs/libv4l ) - vlc? ( media-video/vlc:= ) - wayland? ( dev-libs/wayland ) -" -RDEPEND="${DEPEND}" - -QA_PREBUILT=" - usr/lib*/obs-plugins/chrome-sandbox - usr/lib*/obs-plugins/libEGL.so - usr/lib*/obs-plugins/libGLESv2.so - usr/lib*/obs-plugins/libcef.so - usr/lib*/obs-plugins/swiftshader/libEGL.so - usr/lib*/obs-plugins/swiftshader/libGLESv2.so -" - -PATCHES=( - "${FILESDIR}/${PN}-26.1.2-python-3.8.patch" - "${FILESDIR}/${PN}-27.1.3-ffmpeg-5.0.patch" -) - -pkg_setup() { - use lua && lua-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_unpack() { - default - - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - elif use browser; then - rm -d ${P}/plugins/obs-browser || die - mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die - fi -} - -src_configure() { - local libdir=$(get_libdir) - local mycmakeargs=( - $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR}) - -DBUILD_BROWSER=$(usex browser) - -DBUILD_VST=no - -DENABLE_WAYLAND=$(usex wayland) - -DDISABLE_ALSA=$(usex !alsa) - -DDISABLE_DECKLINK=$(usex !decklink) - -DDISABLE_FREETYPE=$(usex !truetype) - -DDISABLE_JACK=$(usex !jack) - -DDISABLE_LIBFDK=$(usex !fdk) - -DENABLE_PIPEWIRE=$(usex pipewire) - -DDISABLE_PULSEAUDIO=$(usex !pulseaudio) - $(cmake_use_find_package pulseaudio PulseAudio) - -DDISABLE_SPEEXDSP=$(usex !speex) - -DDISABLE_V4L2=$(usex !v4l) - -DDISABLE_VLC=$(usex !vlc) - -DOBS_MULTIARCH_SUFFIX=${libdir#lib} - -DUNIX_STRUCTURE=1 - -DWITH_RTMPS=$(usex ssl) - - # deprecated and currently cause issues - # https://github.com/obsproject/obs-studio/pull/4560#issuecomment-826345608 - -DLIBOBS_PREFER_IMAGEMAGICK=no - ) - - if [[ ${PV} != 9999 ]]; then - mycmakeargs+=( - -DOBS_VERSION_OVERRIDE=${PV} - ) - fi - - if use lua || use python; then - mycmakeargs+=( - -DDISABLE_LUA=$(usex !lua) - -DDISABLE_PYTHON=$(usex !python) - -DENABLE_SCRIPTING=yes - ) - else - mycmakeargs+=( -DENABLE_SCRIPTING=no ) - fi - - cmake_src_configure -} - -src_install() { - cmake_src_install - - # external plugins may need some things not installed by default, install them here - insinto /usr/include/obs/UI/obs-frontend-api - doins UI/obs-frontend-api/obs-frontend-api.h -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use alsa && ! use pulseaudio; then - elog - elog "For the audio capture features to be available," - elog "either the 'alsa' or the 'pulseaudio' USE-flag needs to" - elog "be enabled." - elog - fi - - if use python; then - ewarn "This ebuild applies a patch that is not yet accepted upstream," - ewarn "and while it fixes Python support at least to some extent, it" - ewarn "may cause other issues." - ewarn "" - ewarn "Please report any such issues to the Gentoo maintainer." - fi -} |