From 9991465b0b90d77b2a8a2ae833b6ecd99e6b5101 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 8 Jan 2025 06:41:21 +0000 Subject: gentoo auto-resync : 08:01:2025 - 06:41:21 --- media-video/Manifest.gz | Bin 23214 -> 23227 bytes media-video/guvcview/Manifest | 6 +- ...guvcview-2.2.1-fix-desktop-file-for-cmake.patch | 86 +++++++ .../files/guvcview-2.2.1-set-metainfo-dir.patch | 11 + media-video/guvcview/guvcview-2.2.1.ebuild | 72 ++++++ media-video/guvcview/metadata.xml | 2 + media-video/obs-studio/Manifest | 6 +- media-video/obs-studio/obs-studio-30.2.3-r1.ebuild | 278 +++++++++++++++++++++ media-video/obs-studio/obs-studio-30.2.3.ebuild | 278 --------------------- media-video/obs-studio/obs-studio-31.0.0-r2.ebuild | 277 -------------------- media-video/obs-studio/obs-studio-31.0.0-r3.ebuild | 277 ++++++++++++++++++++ media-video/obs-studio/obs-studio-9999.ebuild | 4 +- 12 files changed, 736 insertions(+), 561 deletions(-) create mode 100644 media-video/guvcview/files/guvcview-2.2.1-fix-desktop-file-for-cmake.patch create mode 100644 media-video/guvcview/files/guvcview-2.2.1-set-metainfo-dir.patch create mode 100644 media-video/guvcview/guvcview-2.2.1.ebuild create mode 100644 media-video/obs-studio/obs-studio-30.2.3-r1.ebuild delete mode 100644 media-video/obs-studio/obs-studio-30.2.3.ebuild delete mode 100644 media-video/obs-studio/obs-studio-31.0.0-r2.ebuild create mode 100644 media-video/obs-studio/obs-studio-31.0.0-r3.ebuild (limited to 'media-video') diff --git a/media-video/Manifest.gz b/media-video/Manifest.gz index 22d8d7b462e2..cef8b4da8b3e 100644 Binary files a/media-video/Manifest.gz and b/media-video/Manifest.gz differ diff --git a/media-video/guvcview/Manifest b/media-video/guvcview/Manifest index 7eb58b4c3559..3978ef872f8c 100644 --- a/media-video/guvcview/Manifest +++ b/media-video/guvcview/Manifest @@ -1,3 +1,7 @@ +AUX guvcview-2.2.1-fix-desktop-file-for-cmake.patch 4049 BLAKE2B 29d55a995067a040455b501d3cf53900cb3742d7a843318abd5d55549788cf3aa1903024872ca68bc02985fd8f168609d8663598ef4a23cc42f74fd6036ed0cd SHA512 3cae1a8eb2e4bd3ad0039ab1607f212d4c098969173a7dcacaf288512302946c292486c8096c93ec3d04ded9a80e88eff28b8efa21fd132558bb2359926232b6 +AUX guvcview-2.2.1-set-metainfo-dir.patch 638 BLAKE2B 0086765d05e88b0cdfe6e91bea33b749c2a7d105477f66371a4356779e4dbadc9f36c0e87b9dee44ce902804f27b4dc22d7a93a1afd5bd43ec7573fa1d5cafaa SHA512 b7a040b46e5931a03c38c5a48a16ad735dd5072f08f8b0ed4711f738b1de34177465ea7322807fe645daca9818bf7de5c937bdbd4c038ba403a4453def1efc7e DIST guvcview-src-2.1.0.tar.bz2 775670 BLAKE2B e6f0fe87b1c44e00265228195b93bb5863170487fd1c3b9741667dc32295406bd920f44150efaecb42ab9396ec67897d3bef517e29ee788c2a6a8a6a95692f81 SHA512 f449e1b1623bb2a96847fc88c4e334ff5bde91f0f9779e37ccbd5777fb96ea4106c3df2c9c30f5d6cacf99e4da04815fc3b739387c2a8fb496c3080b1f99ab70 +DIST guvcview-src-2.2.1.tar.bz2 355747 BLAKE2B 57b1ea3a38ce4dbd68220b3a5caacf2f0b3e4b8cd880667988ea13bf50f495cb761249df2fc7ddf24fcdea19b6b4317b5ec1fc63202987bc7820d6095913233f SHA512 3757ff41306c6c02b3a0fcb7f9a4499e90271e47a2dd97f75a2a809caf32a0a0ceaf28c2475bf707017009f8bf9aa7fcef36cb4386b08311998b51d7122cefea EBUILD guvcview-2.1.0.ebuild 1553 BLAKE2B 4f4fdc3d02762f8744edd62edbad8c144a004438ae6050978b331b48a05427356b1a580f4736b63ac3dc77edc8f97050e5b385cb5171a9a4d4af24b94502e10a SHA512 918ba2f2730aa03802a136588d7986232728cd9fb0e210655aa6c17947e602be1d35283161064909a94ef14eab3e7b40d60afea881576edeea36d5f12da02df2 -MISC metadata.xml 381 BLAKE2B d720778a6b2eb8b44e4e14d00129463dfe9d1b00ae8f65df21e91dd5fd9a3a34a17fcd646227b8da5d38291d01b1cbc52050ec3f15e5ea983e6c4bc11268735d SHA512 28c16af3583e468277389a9a80a24b0e2a5b9515fcb5e3840edc399c20d57df669cea911d4f62461f4d75211c7396d5a12ef61d73554eeb0a8ea78ad7e6e7d1f +EBUILD guvcview-2.2.1.ebuild 1451 BLAKE2B 05a4ab2a7521e94f8170ada48c8bd83cf0fc0fe56114202661f45ac120f666707bae898fe864ff9f0e500d300375204dd75df35108301ec5ccf857f8fc156069 SHA512 a39eb49b791ff9214793c14e851b3f4fb14c57208e5da40a40428910c4ebdfbdaea4ebedf343c31f573524757c809ad9f378bb184d5b436fb5d3ce249c203cc1 +MISC metadata.xml 514 BLAKE2B 7098ae5e688744b3081170764afd81d98c7d723471ebe0fa978df82cf51f427d21a1fa3934c1b9d47b3dddc4d1c032d3549754f4a156d27e33e1a4c7ab2d6419 SHA512 64c680b563b88b0d1a2adc467c9da3ea6aef5234c6c96bf4b00d307c4296457fc8a4b2106f4f9d6c88abbf2dc20bbcc03678fd776e93c23e7f0f82e9f541617b diff --git a/media-video/guvcview/files/guvcview-2.2.1-fix-desktop-file-for-cmake.patch b/media-video/guvcview/files/guvcview-2.2.1-fix-desktop-file-for-cmake.patch new file mode 100644 index 000000000000..4748def9a922 --- /dev/null +++ b/media-video/guvcview/files/guvcview-2.2.1-fix-desktop-file-for-cmake.patch @@ -0,0 +1,86 @@ +https://sourceforge.net/p/guvcview/git-master/ci/39f76eda4d66ef7b2303ce795e701e43fafadff2 +From 39f76eda4d66ef7b2303ce795e701e43fafadff2 Mon Sep 17 00:00:00 2001 +From: Paulo Assis +Date: Mon, 2 Dec 2024 14:19:01 +0000 +Subject: [PATCH] Fix desktop file for cmake + +--- + data/guvcview.desktop.in | 64 +++++++++++++++++++++++++++++++++++++--- + 1 file changed, 60 insertions(+), 4 deletions(-) + +diff --git a/data/guvcview.desktop.in b/data/guvcview.desktop.in +index c086c21..ca02856 100644 +--- a/data/guvcview.desktop.in ++++ b/data/guvcview.desktop.in +@@ -1,8 +1,64 @@ + [Desktop Entry] +-_Name=guvcview +-_GenericName=GTK UVC video viewer +-_X-GNOME-FullName=GTK UVC video viewer +-_Comment=A video viewer and capturer for the linux uvc driver ++Name=guvcview ++Name[cs]=guvcview ++Name[de]=GUVCView ++Name[en_AU]=guvcview ++Name[es]=guvcview ++Name[fr]=guvcview ++Name[it]=guvcview ++Name[lv]=guvcview ++Name[nl]=guvcview ++Name[pt]=guvcview ++Name[pt_BR]=guvcview ++Name[ru]=guvcview ++Name[si]=guvcview ++Name[sr]=Камерица ++Name[tr]=guvcview ++GenericName=GTK UVC video viewer ++GenericName[cs]=Prohlížeč videa GTK UVC ++GenericName[de]=UVC-Video-Betrachter in GTK ++GenericName[en_AU]=GTK UVC video viewer ++GenericName[es]=Visualizador GTK de vídeo UVC ++GenericName[fr]=Logiciel GTK de visualisation de vidéo UVC ++GenericName[it]=GTK UVC visualizzatore video ++GenericName[lv]=GTK UVC video skatītājs ++GenericName[nl]=GTK UVC videokijker ++GenericName[pt]=Visualizador de vídeo GTK UVC ++GenericName[pt_BR]=Visualizador de vídeo GTK UVC ++GenericName[ru]=GTK UVC видео обозреватель ++GenericName[si]=GTK UVC වීඩියෝ දකින්නා ++GenericName[sr]=ГТК УВЦ видео приказивач ++GenericName[tr]=GTK UVC video görüntüleyici ++X-GNOME-FullName=GTK UVC video viewer ++X-GNOME-FullName[cs]=Prohlížeč videa GTK UVC ++X-GNOME-FullName[de]=UVC-Video-Betrachter in GTK ++X-GNOME-FullName[en_AU]=GTK UVC video viewer ++X-GNOME-FullName[es]=Visualizador GTK de vídeo UVC ++X-GNOME-FullName[fr]=Logiciel GTK de visualisation de vidéo UVC ++X-GNOME-FullName[it]=GTK UVC visualizzatore video ++X-GNOME-FullName[lv]=GTK UVC video skatītājs ++X-GNOME-FullName[nl]=GTK UVC videokijker ++X-GNOME-FullName[pt]=Visualizador de vídeo GTK UVC ++X-GNOME-FullName[pt_BR]=Visualizador de vídeo GTK UVC ++X-GNOME-FullName[ru]=GTK UVC видео обозреватель ++X-GNOME-FullName[si]=GTK UVC වීඩියෝ දකින්නා ++X-GNOME-FullName[sr]=ГТК УВЦ видео приказивач ++X-GNOME-FullName[tr]=GTK UVC video görüntüleyici ++Comment=A video viewer and capturer for the linux uvc driver ++Comment[cs]=Prohlížení a zachytávání videa z linuxových uvc ovladačů ++Comment[de]=Ein Video-Betrachter und Aufnahmewerkzeug für den Linux-UVC-Treiber ++Comment[en_AU]=A video viewer and capturer for the linux uvc driver ++Comment[es]=Un visualizador y capturador de vídeo para el controlador UVC de Linux ++Comment[fr]=Logiciel de visualisation et de capture vidéo pour le pilote uvc Linux ++Comment[it]=Un visualizzatore e catturatore video per il driver uvc di linux ++Comment[lv]=Video skatītājs un uzņēmējs Linux UVC draiverim ++Comment[nl]=Een programma voor het bekijken en opnemen van video, voor het Linuxstuurprogramma uvc ++Comment[pt]=Um visualizador e capturador de de vídeo para o controlador linux uvc ++Comment[pt_BR]=Um visualizador e capturador de de vídeo para o controlador linux uvc ++Comment[ru]=Программа просмотра и записи видео для драйвера Linux UVC ++Comment[si]=ලිනක්ස් uvc ඩ්‍රයිවරය සඳහා වීඩියෝ පෙන්වන්නා සහ ග්‍රහණය කරන්නා ++Comment[sr]=Приказивач и снимач видеа за линуксов увц управљачки програм ++Comment[tr]=Linux uvc sürücüsü için video görüntüleyici ve yakalayıcı + TryExec=guvcview + Exec=guvcview + Icon=@DATADIR@/pixmaps/guvcview.png +-- +2.45.2 + diff --git a/media-video/guvcview/files/guvcview-2.2.1-set-metainfo-dir.patch b/media-video/guvcview/files/guvcview-2.2.1-set-metainfo-dir.patch new file mode 100644 index 000000000000..dc0285fa7afa --- /dev/null +++ b/media-video/guvcview/files/guvcview-2.2.1-set-metainfo-dir.patch @@ -0,0 +1,11 @@ +--- a/data/CMakeLists.txt ++++ b/data/CMakeLists.txt +@@ -16,7 +16,7 @@ + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/guvcview DESTINATION ${DATADIR}/menu) + endif() + +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/guvcview.appdata.xml DESTINATION ${DATADIR}/appdata) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/guvcview.appdata.xml DESTINATION ${DATADIR}/metainfo) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/guvcview.desktop DESTINATION ${DATADIR}/applications) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/guvcview.1.gz DESTINATION ${DATADIR}/man/man1) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/guvcview.png DESTINATION ${DATADIR}/pixmaps) diff --git a/media-video/guvcview/guvcview-2.2.1.ebuild b/media-video/guvcview/guvcview-2.2.1.ebuild new file mode 100644 index 000000000000..3894905e46a1 --- /dev/null +++ b/media-video/guvcview/guvcview-2.2.1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Simple Qt6 or GTK+3 interface for capturing and viewing video from v4l2 devices" +HOMEPAGE="https://guvcview.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/project/${PN}/source/${PN}-src-${PV}.tar.bz2" +S="${WORKDIR}/${PN}-src-${PV}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gsl pulseaudio qt6 sfml" + +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig +" +RDEPEND=" + media-libs/libpng:= + media-libs/libv4l + media-libs/portaudio + media-video/ffmpeg:= + virtual/libusb:1 + virtual/udev + gsl? ( sci-libs/gsl:= ) + pulseaudio? ( media-libs/libpulse ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + !qt6? ( + dev-libs/glib:2 + x11-libs/gtk+:3 + ) + sfml? ( + media-libs/libglvnd + media-libs/libsfml:= + ) + !sfml? ( media-libs/libsdl2 ) +" +# linux-headers: bug 448260 +DEPEND=" + ${RDEPEND} + virtual/os-headers + !qt6? ( x11-base/xorg-proto ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.2.1-fix-desktop-file-for-cmake.patch + "${FILESDIR}"/${PN}-2.2.1-set-metainfo-dir.patch +) + +src_configure() { + local mycmakeargs=( + -DINSTALL_DEVKIT=ON + -DUSE_DEBIANMENU=OFF + -DUSE_PULSE=$(usex pulseaudio) + -DUSE_GTK3=$(usex !qt6) + -DUSE_QT6=$(usex qt6) + -DUSE_SDL2=$(usex !sfml) + -DUSE_SFML=$(usex sfml) + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + gunzip "${ED}"/usr/share/man/man1/guvcview.1.gz || die +} diff --git a/media-video/guvcview/metadata.xml b/media-video/guvcview/metadata.xml index b0fc701d591b..cd4de82a9cb8 100644 --- a/media-video/guvcview/metadata.xml +++ b/media-video/guvcview/metadata.xml @@ -9,5 +9,7 @@ Build with Qt5 interface instead Gtk+ + Build with Qt6 interface instead Gtk+ + Build with SFML X11-engine instead of sdl diff --git a/media-video/obs-studio/Manifest b/media-video/obs-studio/Manifest index a446c691beb3..0416be273f50 100644 --- a/media-video/obs-studio/Manifest +++ b/media-video/obs-studio/Manifest @@ -8,7 +8,7 @@ DIST obs-studio-30.2.3.tar.gz 16150339 BLAKE2B b3ed65060881a731bd2e48d8b490cde4a DIST obs-studio-31.0.0.tar.gz 16012774 BLAKE2B 1cc70a755845700c7a59d096ff3ee5e5af2b4b737745d60154e53a3f56505ecbdd0ae4f2f6b80747131667457f1549e64eb80f52d05c37ea3a70eb9d596d5db3 SHA512 e3d4e495b971d471f4742c0d3101c5b2f06995579516920d96d16a7a521f0bf688bc8b5c1243f5266e186297c368189b0ee24e25989f38647dcff2a145b9685f DIST obs-websocket-0548c7798a323fe5296c150e13b898a5ee62fc1e.tar.gz 250611 BLAKE2B fefeab4a637528138152d6e1bd374d6e3f08e4a4e20698665adf4dd925e7831df5bdb1068e402def71b6e12e239db823dac2944e6549c00e914abca175d16fc0 SHA512 f24f520c4a08ad2b80d97c5dfba14421fcd48661d3b0fb694af5d11e063c711e7bf49a4baa95d9de8aff07b6fbbd4b4681ce10a4074506d98cf25c793cc2844d DIST obs-websocket-eed8a49933786383d11f4868a4e5604a9ee303c6.tar.gz 250566 BLAKE2B 138041a2bdd5d7eb6b5c2636c17fe6ae8a30986ec55548556ce4a1762b2bcc3fee6e039840220d9d60d3314527647334bf7a408dc63e0ab3f0cc45f0e0e65a47 SHA512 21ff4a58465bcb8917f2e213b430dbcbfd56a1647e80c351f18479d7dd3ff2b4c64292132ca26b40054f2b994db9dd8d0a2cb97f32498cb5d59f2812272a6ec5 -EBUILD obs-studio-30.2.3.ebuild 6866 BLAKE2B 837ac56245cfc7a1f627a930b1bbbf4278357600b1ddd7f810948f4110fd45c060f173cafd156d022b5a9a2990a7660074a14118f3dce052fec6fee5802b7801 SHA512 dd621ec4cf061d89f47a78e911d6bdc6527b6f932cda248f4a36239eb2297314eeb2c63e00856a602508fd61ffe7fb1b552b8a3bc98e45e583b5aaa6baa1a5d8 -EBUILD obs-studio-31.0.0-r2.ebuild 6849 BLAKE2B 8fb76d14fe40b6ed60c67a9c155935a55eb5ff8f2e838ff2b4931fb5b1e9af1e9114bd608ff71fe2f9ffac5d15d778e916e3e7dd6bd5ef3b38d3eb92cfa64762 SHA512 61f7aa5a132bbd7864aa514692a25192d7d2fcce6edfc6424e429784f4bec1ee3a351ffb7ffee2fd3fbb4ed390b16fd697e732216cb323e62a07ec7ecaabfb9f -EBUILD obs-studio-9999.ebuild 6801 BLAKE2B 15454727e99c21540103764bbb2581a196dad617915b19ec08cb1c4b86fa92b70d4d540c4d50ee8bea93ba01df54e99d9160e00452b8d7c5dce6952702cc9b1d SHA512 6526ffb83d6ec9ceaf4bc8f4c56cb660be64da09d0c85d329ff5e37adce4449cbdb940d6cd932c74def661fbd7486eed5f6ba51113bd4fa911b4f9ba79f160fe +EBUILD obs-studio-30.2.3-r1.ebuild 6867 BLAKE2B a7c337e57b14866d9939ecb12a66da289184fb686121593a4be35c5d24672a4e1b57e0858e9bb74d9ab6b3dd9095894ffecb830c9070ec7ad6ceb28cfa9db56c SHA512 0f9f310475c45042517bedcca8269373f5cdcaa0fec83a927c6b45b01db536c0e1b63e1c14579747511c47fd3247f375e674e1296f4481f880125bc3f0f3047b +EBUILD obs-studio-31.0.0-r3.ebuild 6850 BLAKE2B e99f19fe1b1bf3ceeff2de30bcbcee8565196c7ddd961bfd50090b593b1e86a434393b1806503d3edd92b977c5a454fd6bb42dec76ddceadaacb0e912487a179 SHA512 fc02fabcf74a51ed78be9829cf15f475df9022af86786577fc3138396b589d480e9afeef7791a802761e746601bc0b21bc6868ab2ec7a3ac89521b4bd01eaf2b +EBUILD obs-studio-9999.ebuild 6802 BLAKE2B 1e7598abdf1197e9c65c191a53d07fc9f9416ae46def24b39acb86a5ea9b73e93d30bbe23716712c86d94446b77b41b846e9613c48779bb9da3c4f9c0d4e91db SHA512 6d8c366af91dd7817cfd00a753a9bffa3db8bd82c89db7217d1d2755cbfbf4e8b6dddf695ad30fb8fe346080a51750e30381a18cd4861a3d54651845bfdafa21 MISC metadata.xml 1533 BLAKE2B 7bc778d152d6854330f821d0712da81b54397a35118baf4ba61b3ce4eb7aff5a292d4e4c74c01992761c3cae15b367dcf85450080e920d35ffeb2ee06c74483b SHA512 3dbc5096e3203ec8350e75db78519a061270d52d441e159ab297147a729bda21016a26e15b5c0447dc4a835da59ee822da99265e4f8c3bea3a1e173b134c739c diff --git a/media-video/obs-studio/obs-studio-30.2.3-r1.ebuild b/media-video/obs-studio/obs-studio-30.2.3-r1.ebuild new file mode 100644 index 000000000000..81b7effe5cfc --- /dev/null +++ b/media-video/obs-studio/obs-studio-30.2.3-r1.ebuild @@ -0,0 +1,278 @@ +# Copyright 1999-2025 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_{9..12} ) + +inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg + +CEF_DIR="cef_binary_5060_linux_x86_64" +CEF_REVISION="_v3" +OBS_BROWSER_COMMIT="c710222ec9d7ef9aa5d7099e9019d636e2c89f00" +OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e" + +DESCRIPTION="Software for Recording and Streaming Live Video Content" +HOMEPAGE="https://obsproject.com" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" + EGIT_SUBMODULES=( + plugins/obs-browser + plugins/obs-websocket + ) +else + SRC_URI=" + https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz + https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz + " + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +fi + +SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )" + +LICENSE="Boost-1.0 GPL-2+ MIT Unlicense" +SLOT="0" +IUSE=" + +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio + python qsv speex +ssl test truetype v4l vlc wayland websocket +" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + browser? ( || ( alsa pulseaudio ) ) + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +BDEPEND=" + lua? ( dev-lang/swig ) + python? ( dev-lang/swig ) +" +# media-video/ffmpeg[opus] required due to bug 909566 +DEPEND=" + dev-cpp/nlohmann_json + dev-libs/glib:2 + dev-libs/jansson:= + dev-libs/uthash + dev-qt/qtbase:6[network,widgets,xml(+)] + dev-qt/qtsvg:6 + media-libs/libglvnd[X] + media-libs/libva + media-libs/rnnoise + media-libs/x264:= + media-video/ffmpeg:=[nvenc?,opus,x264] + net-misc/curl + sys-apps/dbus + sys-apps/pciutils + sys-apps/util-linux + sys-libs/zlib:= + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcomposite + x11-libs/libXfixes + x11-libs/libxkbcommon + alsa? ( media-libs/alsa-lib ) + browser? ( + || ( + >=app-accessibility/at-spi2-core-2.46.0:2 + ( app-accessibility/at-spi2-atk dev-libs/atk ) + ) + dev-libs/expat + dev-libs/glib + dev-libs/nspr + dev-libs/nss + dev-libs/wayland + media-libs/alsa-lib + media-libs/fontconfig + media-libs/mesa[gbm(+)] + net-print/cups + x11-libs/cairo + x11-libs/libdrm + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXi + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXScrnSaver + x11-libs/libxshmfence + x11-libs/libXtst + x11-libs/pango + ) + fdk? ( media-libs/fdk-aac:= ) + jack? ( virtual/jack ) + lua? ( ${LUA_DEPS} ) + mpegts? ( + net-libs/librist + net-libs/srt + ) + nvenc? ( >=media-libs/nv-codec-headers-12 ) + pipewire? ( media-video/pipewire:= ) + pulseaudio? ( media-libs/libpulse ) + python? ( ${PYTHON_DEPS} ) + qsv? ( media-libs/libvpl ) + speex? ( media-libs/speexdsp ) + ssl? ( net-libs/mbedtls:0= ) + test? ( dev-util/cmocka ) + truetype? ( + media-libs/fontconfig + media-libs/freetype + ) + v4l? ( + media-libs/libv4l + virtual/udev + ) + vlc? ( media-video/vlc:= ) + wayland? ( + dev-libs/wayland + x11-libs/libxkbcommon + ) + websocket? ( + dev-cpp/asio + dev-cpp/websocketpp + dev-libs/qr-code-generator + ) +" +RDEPEND="${DEPEND} + qsv? ( media-libs/intel-mediasdk ) +" + +QA_PREBUILT=" + usr/lib*/obs-plugins/chrome-sandbox + usr/lib*/obs-plugins/libcef.so + usr/lib*/obs-plugins/libEGL.so + usr/lib*/obs-plugins/libGLESv2.so + usr/lib*/obs-plugins/libvk_swiftshader.so + usr/lib*/obs-plugins/libvulkan.so.1 + usr/lib*/obs-plugins/swiftshader/libEGL.so + usr/lib*/obs-plugins/swiftshader/libGLESv2.so +" + +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 + else + rm -d ${P}/plugins/obs-browser || die + mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die + + rm -d ${P}/plugins/obs-websocket || die + mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die + fi +} + +src_prepare() { + default + + sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die + + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/867250 + # https://github.com/obsproject/obs-studio/issues/8988 + use wayland && filter-lto + + cmake_src_prepare + + pushd deps/json11 &> /dev/null || die + eapply "${FILESDIR}/json11-1.0.0-include-cstdint.patch" + popd &> /dev/null || die +} + +src_configure() { + local libdir=$(get_libdir) + local mycmakeargs=( + $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR}) + -DCALM_DEPRECATION=ON + -DCCACHE_SUPPORT=OFF + -DENABLE_ALSA=$(usex alsa) + -DENABLE_AJA=OFF + -DENABLE_BROWSER=$(usex browser) + -DENABLE_DECKLINK=$(usex decklink) + -DENABLE_FREETYPE=$(usex truetype) + -DENABLE_JACK=$(usex jack) + -DENABLE_LIBFDK=$(usex fdk) + -DENABLE_NATIVE_NVENC=OFF + -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts) + -DENABLE_PIPEWIRE=$(usex pipewire) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_QSV11=$(usex qsv) + -DENABLE_RNNOISE=ON + -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861 + -DENABLE_SPEEXDSP=$(usex speex) + -DENABLE_UNIT_TESTS=$(usex test) + -DENABLE_V4L2=$(usex v4l) + -DENABLE_VLC=$(usex vlc) + -DENABLE_VST=ON + -DENABLE_WAYLAND=$(usex wayland) + -DENABLE_WEBRTC=OFF # Requires libdatachannel. + -DENABLE_WEBSOCKET=$(usex websocket) + -DOBS_MULTIARCH_SUFFIX=${libdir#lib} + -DUNIX_STRUCTURE=1 + ) + + if [[ ${PV} != 9999 ]]; then + mycmakeargs+=( + -DOBS_VERSION_OVERRIDE=${PV} + ) + fi + + if use lua || use python; then + mycmakeargs+=( + -DENABLE_SCRIPTING_LUA=$(usex lua) + -DENABLE_SCRIPTING_PYTHON=$(usex python) + -DENABLE_SCRIPTING=ON + ) + else + mycmakeargs+=( -DENABLE_SCRIPTING=OFF ) + fi + + if use browser && use ssl; then + mycmakeargs+=( -DENABLE_WHATSNEW=ON ) + else + mycmakeargs+=( -DENABLE_WHATSNEW=OFF ) + 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 "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to" + elog "be enabled." + elog + fi + + if use v4l && has_version media-video/v4l2loopback; then + elog + elog "Depending on system configuration, the v4l2loopback kernel module" + elog "may need to be loaded manually, and needs to be re-built after" + elog "kernel changes." + elog + fi + + optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi] + optfeature "virtual camera support" media-video/v4l2loopback +} diff --git a/media-video/obs-studio/obs-studio-30.2.3.ebuild b/media-video/obs-studio/obs-studio-30.2.3.ebuild deleted file mode 100644 index 043f43465d42..000000000000 --- a/media-video/obs-studio/obs-studio-30.2.3.ebuild +++ /dev/null @@ -1,278 +0,0 @@ -# Copyright 1999-2024 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_{9..12} ) - -inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg - -CEF_DIR="cef_binary_5060_linux_x86_64" -CEF_REVISION="_v3" -OBS_BROWSER_COMMIT="c710222ec9d7ef9aa5d7099e9019d636e2c89f00" -OBS_WEBSOCKET_COMMIT="0548c7798a323fe5296c150e13b898a5ee62fc1e" - -DESCRIPTION="Software for Recording and Streaming Live Video Content" -HOMEPAGE="https://obsproject.com" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" - EGIT_SUBMODULES=( - plugins/obs-browser - plugins/obs-websocket - ) -else - SRC_URI=" - https://github.com/obsproject/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz - https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz - " - KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" -fi - -SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_DIR}${CEF_REVISION}.tar.xz )" - -LICENSE="Boost-1.0 GPL-2+ MIT Unlicense" -SLOT="0" -IUSE=" - +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio - python qsv speex +ssl test truetype v4l vlc wayland websocket -" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - browser? ( || ( alsa pulseaudio ) ) - lua? ( ${LUA_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -BDEPEND=" - lua? ( dev-lang/swig ) - python? ( dev-lang/swig ) -" -# media-video/ffmpeg[opus] required due to bug 909566 -DEPEND=" - dev-cpp/nlohmann_json - dev-libs/glib:2 - dev-libs/jansson:= - dev-libs/uthash - dev-qt/qtbase:6[network,widgets,xml(+)] - dev-qt/qtsvg:6 - media-libs/libglvnd[X] - media-libs/libva - media-libs/rnnoise - media-libs/x264:= - media-video/ffmpeg:=[nvenc?,opus,x264] - net-misc/curl - sys-apps/dbus - sys-apps/pciutils - sys-apps/util-linux - sys-libs/zlib:= - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcomposite - x11-libs/libXfixes - x11-libs/libxkbcommon - alsa? ( media-libs/alsa-lib ) - browser? ( - || ( - >=app-accessibility/at-spi2-core-2.46.0:2 - ( app-accessibility/at-spi2-atk dev-libs/atk ) - ) - dev-libs/expat - dev-libs/glib - dev-libs/nspr - dev-libs/nss - dev-libs/wayland - media-libs/alsa-lib - media-libs/fontconfig - media-libs/mesa[gbm(+)] - net-print/cups - x11-libs/cairo - x11-libs/libdrm - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXi - x11-libs/libxkbcommon - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXScrnSaver - x11-libs/libxshmfence - x11-libs/libXtst - x11-libs/pango - ) - fdk? ( media-libs/fdk-aac:= ) - jack? ( virtual/jack ) - lua? ( ${LUA_DEPS} ) - mpegts? ( - net-libs/librist - net-libs/srt - ) - nvenc? ( >=media-libs/nv-codec-headers-12 ) - pipewire? ( media-video/pipewire:= ) - pulseaudio? ( media-libs/libpulse ) - python? ( ${PYTHON_DEPS} ) - qsv? ( media-libs/libvpl ) - speex? ( media-libs/speexdsp ) - ssl? ( net-libs/mbedtls:= ) - test? ( dev-util/cmocka ) - truetype? ( - media-libs/fontconfig - media-libs/freetype - ) - v4l? ( - media-libs/libv4l - virtual/udev - ) - vlc? ( media-video/vlc:= ) - wayland? ( - dev-libs/wayland - x11-libs/libxkbcommon - ) - websocket? ( - dev-cpp/asio - dev-cpp/websocketpp - dev-libs/qr-code-generator - ) -" -RDEPEND="${DEPEND} - qsv? ( media-libs/intel-mediasdk ) -" - -QA_PREBUILT=" - usr/lib*/obs-plugins/chrome-sandbox - usr/lib*/obs-plugins/libcef.so - usr/lib*/obs-plugins/libEGL.so - usr/lib*/obs-plugins/libGLESv2.so - usr/lib*/obs-plugins/libvk_swiftshader.so - usr/lib*/obs-plugins/libvulkan.so.1 - usr/lib*/obs-plugins/swiftshader/libEGL.so - usr/lib*/obs-plugins/swiftshader/libGLESv2.so -" - -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 - else - rm -d ${P}/plugins/obs-browser || die - mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die - - rm -d ${P}/plugins/obs-websocket || die - mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die - fi -} - -src_prepare() { - default - - sed -i '/-Werror$/d' "${WORKDIR}"/${P}/cmake/Modules/CompilerConfig.cmake || die - - # -Werror=lto-type-mismatch - # https://bugs.gentoo.org/867250 - # https://github.com/obsproject/obs-studio/issues/8988 - use wayland && filter-lto - - cmake_src_prepare - - pushd deps/json11 &> /dev/null || die - eapply "${FILESDIR}/json11-1.0.0-include-cstdint.patch" - popd &> /dev/null || die -} - -src_configure() { - local libdir=$(get_libdir) - local mycmakeargs=( - $(usev browser -DCEF_ROOT_DIR=../${CEF_DIR}) - -DCALM_DEPRECATION=ON - -DCCACHE_SUPPORT=OFF - -DENABLE_ALSA=$(usex alsa) - -DENABLE_AJA=OFF - -DENABLE_BROWSER=$(usex browser) - -DENABLE_DECKLINK=$(usex decklink) - -DENABLE_FREETYPE=$(usex truetype) - -DENABLE_JACK=$(usex jack) - -DENABLE_LIBFDK=$(usex fdk) - -DENABLE_NATIVE_NVENC=OFF - -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts) - -DENABLE_PIPEWIRE=$(usex pipewire) - -DENABLE_PULSEAUDIO=$(usex pulseaudio) - -DENABLE_QSV11=$(usex qsv) - -DENABLE_RNNOISE=ON - -DENABLE_RTMPS=$(usex ssl ON OFF) # Needed for bug 880861 - -DENABLE_SPEEXDSP=$(usex speex) - -DENABLE_UNIT_TESTS=$(usex test) - -DENABLE_V4L2=$(usex v4l) - -DENABLE_VLC=$(usex vlc) - -DENABLE_VST=ON - -DENABLE_WAYLAND=$(usex wayland) - -DENABLE_WEBRTC=OFF # Requires libdatachannel. - -DENABLE_WEBSOCKET=$(usex websocket) - -DOBS_MULTIARCH_SUFFIX=${libdir#lib} - -DUNIX_STRUCTURE=1 - ) - - if [[ ${PV} != 9999 ]]; then - mycmakeargs+=( - -DOBS_VERSION_OVERRIDE=${PV} - ) - fi - - if use lua || use python; then - mycmakeargs+=( - -DENABLE_SCRIPTING_LUA=$(usex lua) - -DENABLE_SCRIPTING_PYTHON=$(usex python) - -DENABLE_SCRIPTING=ON - ) - else - mycmakeargs+=( -DENABLE_SCRIPTING=OFF ) - fi - - if use browser && use ssl; then - mycmakeargs+=( -DENABLE_WHATSNEW=ON ) - else - mycmakeargs+=( -DENABLE_WHATSNEW=OFF ) - 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 "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to" - elog "be enabled." - elog - fi - - if use v4l && has_version media-video/v4l2loopback; then - elog - elog "Depending on system configuration, the v4l2loopback kernel module" - elog "may need to be loaded manually, and needs to be re-built after" - elog "kernel changes." - elog - fi - - optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi] - optfeature "virtual camera support" media-video/v4l2loopback -} diff --git a/media-video/obs-studio/obs-studio-31.0.0-r2.ebuild b/media-video/obs-studio/obs-studio-31.0.0-r2.ebuild deleted file mode 100644 index 79bc62763bf4..000000000000 --- a/media-video/obs-studio/obs-studio-31.0.0-r2.ebuild +++ /dev/null @@ -1,277 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) -LUA_COMPAT=( luajit ) -# For the time being upstream supports up to Python 3.12 only. -# Any issues found with 3.13 should be reported as a Gentoo bug. -PYTHON_COMPAT=( python3_{10..13} ) - -inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg - -CEF_VERSION="cef_binary_6533_linux_x86_64" -OBS_BROWSER_COMMIT="a76b4d8810a0a33e91ac5b76a0b1af2f22bf8efd" -OBS_WEBSOCKET_COMMIT="eed8a49933786383d11f4868a4e5604a9ee303c6" - -DESCRIPTION="Software for Recording and Streaming Live Video Content" -HOMEPAGE="https://obsproject.com" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" - EGIT_SUBMODULES=( - plugins/obs-browser - plugins/obs-websocket - ) -else - SRC_URI=" - https://github.com/obsproject/${PN}/archive/${PV}.tar.gz - -> ${P}.tar.gz - https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz - -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz - https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz - -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz - " - KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" -fi - -SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_VERSION}.tar.xz )" - -LICENSE="Boost-1.0 GPL-2+ MIT Unlicense" -SLOT="0" -IUSE=" - +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio - python qsv sndio speex test-input truetype v4l vlc wayland websocket -" -REQUIRED_USE=" - browser? ( || ( alsa pulseaudio ) ) - lua? ( ${LUA_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -BDEPEND=" - lua? ( dev-lang/swig ) - python? ( dev-lang/swig ) -" -# media-video/ffmpeg[opus] required due to bug 909566 -DEPEND=" - dev-cpp/nlohmann_json - dev-libs/glib:2 - dev-libs/jansson:= - dev-libs/uthash - dev-qt/qtbase:6[network,widgets,xml(+)] - dev-qt/qtsvg:6 - media-libs/libglvnd[X] - media-libs/libva - media-libs/rnnoise - media-libs/x264:= - >=media-video/ffmpeg-6.1:=[nvenc?,opus,x264] - net-misc/curl - net-libs/mbedtls:= - sys-apps/dbus - sys-apps/pciutils - sys-apps/util-linux - sys-libs/zlib:= - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcomposite - x11-libs/libXfixes - x11-libs/libxkbcommon - alsa? ( media-libs/alsa-lib ) - browser? ( - || ( - >=app-accessibility/at-spi2-core-2.46.0:2 - ( app-accessibility/at-spi2-atk dev-libs/atk ) - ) - dev-libs/expat - dev-libs/glib - dev-libs/nspr - dev-libs/nss - dev-libs/wayland - media-libs/alsa-lib - media-libs/fontconfig - media-libs/mesa[gbm(+)] - net-print/cups - x11-libs/cairo - x11-libs/libdrm - x11-libs/libXcursor - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXi - x11-libs/libxkbcommon - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXScrnSaver - x11-libs/libxshmfence - x11-libs/libXtst - x11-libs/pango - ) - fdk? ( media-libs/fdk-aac:= ) - jack? ( virtual/jack ) - lua? ( ${LUA_DEPS} ) - mpegts? ( - net-libs/librist - net-libs/srt - ) - nvenc? ( >=media-libs/nv-codec-headers-12 ) - pipewire? ( media-video/pipewire:= ) - pulseaudio? ( media-libs/libpulse ) - python? ( ${PYTHON_DEPS} ) - qsv? ( media-libs/libvpl ) - sndio? ( media-sound/sndio ) - speex? ( media-libs/speexdsp ) - truetype? ( - media-libs/fontconfig - media-libs/freetype - ) - v4l? ( - media-libs/libv4l - virtual/udev - ) - vlc? ( media-video/vlc:= ) - wayland? ( - dev-libs/wayland - x11-libs/libxkbcommon - ) - websocket? ( - dev-cpp/asio - dev-cpp/websocketpp - dev-libs/qr-code-generator - ) -" -RDEPEND="${DEPEND} - qsv? ( media-libs/intel-mediasdk ) -" - -PATCHES=( "${FILESDIR}"/${PN}-31.0.0-libx11-link.patch ) - -QA_PREBUILT=" - usr/lib*/obs-plugins/chrome-sandbox - usr/lib*/obs-plugins/libcef.so - usr/lib*/obs-plugins/libEGL.so - usr/lib*/obs-plugins/libGLESv2.so - usr/lib*/obs-plugins/libvk_swiftshader.so - usr/lib*/obs-plugins/libvulkan.so.1 - usr/lib*/obs-plugins/swiftshader/libEGL.so - usr/lib*/obs-plugins/swiftshader/libGLESv2.so -" - -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 - else - rm -d ${P}/plugins/obs-browser || die - mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die - - rm -d ${P}/plugins/obs-websocket || die - mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die - fi -} - -src_prepare() { - # -Werror=lto-type-mismatch - # https://bugs.gentoo.org/867250 - # https://github.com/obsproject/obs-studio/issues/8988 - use wayland && filter-lto - - cmake_src_prepare - - pushd deps/json11 &> /dev/null || die - eapply "${FILESDIR}/json11-1.0.0-include-cstdint.patch" - popd &> /dev/null || die -} - -src_configure() { - local libdir=$(get_libdir) - local mycmakeargs=( - $(usev browser -DCEF_ROOT_DIR=../${CEF_VERSION}) - -DENABLE_ALSA=$(usex alsa) - -DENABLE_AJA=OFF - -DENABLE_BROWSER=$(usex browser) - -DENABLE_CCACHE=OFF - -DENABLE_DECKLINK=$(usex decklink) - -DENABLE_FFMPEG_NVENC=$(usex nvenc) - -DENABLE_FREETYPE=$(usex truetype) - -DENABLE_JACK=$(usex jack) - -DENABLE_LIBFDK=$(usex fdk) - -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts) - -DENABLE_NVENC=$(usex nvenc) - -DENABLE_PIPEWIRE=$(usex pipewire) - -DENABLE_PULSEAUDIO=$(usex pulseaudio) - -DENABLE_QSV11=$(usex qsv) - -DENABLE_RNNOISE=ON - -DENABLE_SNDIO=$(usex sndio) - -DENABLE_SPEEXDSP=$(usex speex) - -DENABLE_TEST_INPUT=$(usex test-input) - -DENABLE_V4L2=$(usex v4l) - -DENABLE_VLC=$(usex vlc) - -DENABLE_VST=ON - -DENABLE_WAYLAND=$(usex wayland) - -DENABLE_WEBRTC=OFF # Requires libdatachannel. - -DENABLE_WEBSOCKET=$(usex websocket) - ) - - if [[ ${PV} != 9999 ]]; then - mycmakeargs+=( - -DOBS_VERSION_OVERRIDE=${PV} - ) - fi - - if use lua || use python; then - mycmakeargs+=( - -DENABLE_SCRIPTING_LUA=$(usex lua) - -DENABLE_SCRIPTING_PYTHON=$(usex python) - -DENABLE_SCRIPTING=ON - ) - else - mycmakeargs+=( -DENABLE_SCRIPTING=OFF ) - fi - - if use browser; then - mycmakeargs+=( -DENABLE_WHATSNEW=ON ) - else - mycmakeargs+=( -DENABLE_WHATSNEW=OFF ) - 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 "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to" - elog "be enabled." - elog - fi - - if use v4l && has_version media-video/v4l2loopback; then - elog - elog "Depending on system configuration, the v4l2loopback kernel module" - elog "may need to be loaded manually, and needs to be re-built after" - elog "kernel changes." - elog - fi - - optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi] - optfeature "virtual camera support" media-video/v4l2loopback -} diff --git a/media-video/obs-studio/obs-studio-31.0.0-r3.ebuild b/media-video/obs-studio/obs-studio-31.0.0-r3.ebuild new file mode 100644 index 000000000000..7f7837436298 --- /dev/null +++ b/media-video/obs-studio/obs-studio-31.0.0-r3.ebuild @@ -0,0 +1,277 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_REMOVE_MODULES_LIST=( FindFreetype ) +LUA_COMPAT=( luajit ) +# For the time being upstream supports up to Python 3.12 only. +# Any issues found with 3.13 should be reported as a Gentoo bug. +PYTHON_COMPAT=( python3_{10..13} ) + +inherit cmake flag-o-matic lua-single optfeature python-single-r1 xdg + +CEF_VERSION="cef_binary_6533_linux_x86_64" +OBS_BROWSER_COMMIT="a76b4d8810a0a33e91ac5b76a0b1af2f22bf8efd" +OBS_WEBSOCKET_COMMIT="eed8a49933786383d11f4868a4e5604a9ee303c6" + +DESCRIPTION="Software for Recording and Streaming Live Video Content" +HOMEPAGE="https://obsproject.com" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/obsproject/obs-studio.git" + EGIT_SUBMODULES=( + plugins/obs-browser + plugins/obs-websocket + ) +else + SRC_URI=" + https://github.com/obsproject/${PN}/archive/${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/obsproject/obs-browser/archive/${OBS_BROWSER_COMMIT}.tar.gz + -> obs-browser-${OBS_BROWSER_COMMIT}.tar.gz + https://github.com/obsproject/obs-websocket/archive/${OBS_WEBSOCKET_COMMIT}.tar.gz + -> obs-websocket-${OBS_WEBSOCKET_COMMIT}.tar.gz + " + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +fi + +SRC_URI+=" browser? ( https://cdn-fastly.obsproject.com/downloads/${CEF_VERSION}.tar.xz )" + +LICENSE="Boost-1.0 GPL-2+ MIT Unlicense" +SLOT="0" +IUSE=" + +alsa browser decklink fdk jack lua mpegts nvenc pipewire pulseaudio + python qsv sndio speex test-input truetype v4l vlc wayland websocket +" +REQUIRED_USE=" + browser? ( || ( alsa pulseaudio ) ) + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) +" + +BDEPEND=" + lua? ( dev-lang/swig ) + python? ( dev-lang/swig ) +" +# media-video/ffmpeg[opus] required due to bug 909566 +DEPEND=" + dev-cpp/nlohmann_json + dev-libs/glib:2 + dev-libs/jansson:= + dev-libs/uthash + dev-qt/qtbase:6[network,widgets,xml(+)] + dev-qt/qtsvg:6 + media-libs/libglvnd[X] + media-libs/libva + media-libs/rnnoise + media-libs/x264:= + >=media-video/ffmpeg-6.1:=[nvenc?,opus,x264] + net-misc/curl + net-libs/mbedtls:0= + sys-apps/dbus + sys-apps/pciutils + sys-apps/util-linux + sys-libs/zlib:= + x11-libs/libX11 + x11-libs/libxcb:= + x11-libs/libXcomposite + x11-libs/libXfixes + x11-libs/libxkbcommon + alsa? ( media-libs/alsa-lib ) + browser? ( + || ( + >=app-accessibility/at-spi2-core-2.46.0:2 + ( app-accessibility/at-spi2-atk dev-libs/atk ) + ) + dev-libs/expat + dev-libs/glib + dev-libs/nspr + dev-libs/nss + dev-libs/wayland + media-libs/alsa-lib + media-libs/fontconfig + media-libs/mesa[gbm(+)] + net-print/cups + x11-libs/cairo + x11-libs/libdrm + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXi + x11-libs/libxkbcommon + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXScrnSaver + x11-libs/libxshmfence + x11-libs/libXtst + x11-libs/pango + ) + fdk? ( media-libs/fdk-aac:= ) + jack? ( virtual/jack ) + lua? ( ${LUA_DEPS} ) + mpegts? ( + net-libs/librist + net-libs/srt + ) + nvenc? ( >=media-libs/nv-codec-headers-12 ) + pipewire? ( media-video/pipewire:= ) + pulseaudio? ( media-libs/libpulse ) + python? ( ${PYTHON_DEPS} ) + qsv? ( media-libs/libvpl ) + sndio? ( media-sound/sndio ) + speex? ( media-libs/speexdsp ) + truetype? ( + media-libs/fontconfig + media-libs/freetype + ) + v4l? ( + media-libs/libv4l + virtual/udev + ) + vlc? ( media-video/vlc:= ) + wayland? ( + dev-libs/wayland + x11-libs/libxkbcommon + ) + websocket? ( + dev-cpp/asio + dev-cpp/websocketpp + dev-libs/qr-code-generator + ) +" +RDEPEND="${DEPEND} + qsv? ( media-libs/intel-mediasdk ) +" + +PATCHES=( "${FILESDIR}"/${PN}-31.0.0-libx11-link.patch ) + +QA_PREBUILT=" + usr/lib*/obs-plugins/chrome-sandbox + usr/lib*/obs-plugins/libcef.so + usr/lib*/obs-plugins/libEGL.so + usr/lib*/obs-plugins/libGLESv2.so + usr/lib*/obs-plugins/libvk_swiftshader.so + usr/lib*/obs-plugins/libvulkan.so.1 + usr/lib*/obs-plugins/swiftshader/libEGL.so + usr/lib*/obs-plugins/swiftshader/libGLESv2.so +" + +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 + else + rm -d ${P}/plugins/obs-browser || die + mv obs-browser-${OBS_BROWSER_COMMIT} ${P}/plugins/obs-browser || die + + rm -d ${P}/plugins/obs-websocket || die + mv obs-websocket-${OBS_WEBSOCKET_COMMIT} ${P}/plugins/obs-websocket || die + fi +} + +src_prepare() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/867250 + # https://github.com/obsproject/obs-studio/issues/8988 + use wayland && filter-lto + + cmake_src_prepare + + pushd deps/json11 &> /dev/null || die + eapply "${FILESDIR}/json11-1.0.0-include-cstdint.patch" + popd &> /dev/null || die +} + +src_configure() { + local libdir=$(get_libdir) + local mycmakeargs=( + $(usev browser -DCEF_ROOT_DIR=../${CEF_VERSION}) + -DENABLE_ALSA=$(usex alsa) + -DENABLE_AJA=OFF + -DENABLE_BROWSER=$(usex browser) + -DENABLE_CCACHE=OFF + -DENABLE_DECKLINK=$(usex decklink) + -DENABLE_FFMPEG_NVENC=$(usex nvenc) + -DENABLE_FREETYPE=$(usex truetype) + -DENABLE_JACK=$(usex jack) + -DENABLE_LIBFDK=$(usex fdk) + -DENABLE_NEW_MPEGTS_OUTPUT=$(usex mpegts) + -DENABLE_NVENC=$(usex nvenc) + -DENABLE_PIPEWIRE=$(usex pipewire) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_QSV11=$(usex qsv) + -DENABLE_RNNOISE=ON + -DENABLE_SNDIO=$(usex sndio) + -DENABLE_SPEEXDSP=$(usex speex) + -DENABLE_TEST_INPUT=$(usex test-input) + -DENABLE_V4L2=$(usex v4l) + -DENABLE_VLC=$(usex vlc) + -DENABLE_VST=ON + -DENABLE_WAYLAND=$(usex wayland) + -DENABLE_WEBRTC=OFF # Requires libdatachannel. + -DENABLE_WEBSOCKET=$(usex websocket) + ) + + if [[ ${PV} != 9999 ]]; then + mycmakeargs+=( + -DOBS_VERSION_OVERRIDE=${PV} + ) + fi + + if use lua || use python; then + mycmakeargs+=( + -DENABLE_SCRIPTING_LUA=$(usex lua) + -DENABLE_SCRIPTING_PYTHON=$(usex python) + -DENABLE_SCRIPTING=ON + ) + else + mycmakeargs+=( -DENABLE_SCRIPTING=OFF ) + fi + + if use browser; then + mycmakeargs+=( -DENABLE_WHATSNEW=ON ) + else + mycmakeargs+=( -DENABLE_WHATSNEW=OFF ) + 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 "at least one of the 'alsa' or 'pulseaudio' USE-flags needs to" + elog "be enabled." + elog + fi + + if use v4l && has_version media-video/v4l2loopback; then + elog + elog "Depending on system configuration, the v4l2loopback kernel module" + elog "may need to be loaded manually, and needs to be re-built after" + elog "kernel changes." + elog + fi + + optfeature "VA-API hardware encoding" media-video/ffmpeg[vaapi] + optfeature "virtual camera support" media-video/v4l2loopback +} diff --git a/media-video/obs-studio/obs-studio-9999.ebuild b/media-video/obs-studio/obs-studio-9999.ebuild index a7536b82f747..f190a7c6135c 100644 --- a/media-video/obs-studio/obs-studio-9999.ebuild +++ b/media-video/obs-studio/obs-studio-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -69,7 +69,7 @@ DEPEND=" media-libs/x264:= >=media-video/ffmpeg-6.1:=[nvenc?,opus,x264] net-misc/curl - net-libs/mbedtls:= + net-libs/mbedtls:0= sys-apps/dbus sys-apps/pciutils sys-apps/util-linux -- cgit v1.2.3