Add dev-qt from an older version of the gentoo repo
Qt5 has been removed, we restore it since we still use it.
This commit is contained in:
7
dev-qt/qtmultimedia/Manifest
Normal file
7
dev-qt/qtmultimedia/Manifest
Normal file
@ -0,0 +1,7 @@
|
||||
DIST qtmultimedia-5.15.16-gentoo-kde-1.tar.xz 1496 BLAKE2B 760f0ee32f353849c0e826622fea0e744ceb4e96d3ae3a6e903b32e7e5211d803e29761538c45797f61f0766ae726206fd799fc4d2fa094f46176ee0d6d5a0fb SHA512 97b161727450864643c0c2d395757d3f78503c02d26151017bdbebfd55e7ffeeffc63e530baecdba4a43dc364dad614dd893278eb84e89587c8ac51f89e14f87
|
||||
DIST qtmultimedia-5.15.17-gentoo-kde-1.tar.xz 1496 BLAKE2B dccdf66e3c1447ed50f492f8ddd8fc1464932c97b31564197f228baf6c279b51029e9244cd6c13d6a1bd313caea97a6fbe84dc5df5d98b6921ae72c3564b19e4 SHA512 4b124981981d7c9a40d549e89decaac9ae6b3b034f186697accc4fb44fd5851ec178d96789305f00b7be8de2b59198933d8b37f1ee18f051c66a11f81ba01220
|
||||
DIST qtmultimedia-everywhere-opensource-src-5.15.16.tar.xz 3824912 BLAKE2B d98fcc82164d36f2bc21769796ce69c4b0aff57295795004cc609662a10fa80ecf8709c39ed53f96576071fd9e1e2d6eaadcc4eeb97c3fa6406ca7e2f8dcafe7 SHA512 a848affbc38a532455a34bdf887948210ff9794dae312115be0622246993324902b81209c2cac89ca5db63e6fcc29690f47c1255b1b7c4de68bf6ad5a6ecc5e7
|
||||
DIST qtmultimedia-everywhere-opensource-src-5.15.17.tar.xz 3825964 BLAKE2B e1e24c2a93ebd75e20e7fe14256d1c8c40bd17767f0936256c8b3b926bfe4f3d5725ddc90c24af42274e4d2c0bb776981e746d8059cae4b874317c9ebcd826d4 SHA512 50679719d500abd32e66d957b1cede6f49de9b4170b4da527cc49715bae5048b68f6e9c0e4e83c01b63350816ef1b02b329233321dfed858ee5806fafb233a52
|
||||
DIST qtmultimedia-everywhere-src-6.8.2.tar.xz 9646120 BLAKE2B 14651f1f116e462449678c8c566aaac20356b61b73b023b3aa3e0199b1f44844fb76da82406d653c004a104abd48db6bf8d8d67a3a5216e33447f3505f2fbdfa SHA512 557017faec2596368a453adfee284d88cd83033e73e78b01a6d1918cdf86a283e0a8bfd8a211b31591a7d69fde130528b7a266213460ca37647b13f90b4e22f3
|
||||
DIST qtmultimedia-everywhere-src-6.8.3.tar.xz 9705340 BLAKE2B 2098bb150ab8be751e359762a42d1c1429fe49b619dc5d7ebc31d7f366c5880d5d5536c576e24d2a19b61ec08d6bbddf69268f72965599d520465e8b65dc6c41 SHA512 2f001888b44274583dcd5bc6f467cf18efbb1a711f29d6baf354071199772ee49d835922f2fa0e9770898d42decddf04b379d8f05d1dfd923c5f9d58e3c7fcd8
|
||||
DIST qtmultimedia-everywhere-src-6.9.0.tar.xz 9745024 BLAKE2B af9ae04218ad397406deb79d5c46f5a33a303c21ade2fb86420f75cb3d8bb02eb539e2aedb4dcaa678015bf690d3cb127bada9262c3891007ce392907ba93e6e SHA512 0fb5e1ae3286a903dce225aa81033a3036d5c6457e6704b4265cd9c3e3a47fca6c0ff8cdb004e5c563c5b2a5a91e217733299a8ed8dec951a0fb9c30a2edd52a
|
||||
@ -0,0 +1,152 @@
|
||||
Imported from dev-cpp/eigen to use with bundled's (ideally would
|
||||
unbundle but rather not w/ Qt unless there is an upstream-supported
|
||||
cmake switch, is likely broken w/ the upcoming eigen version too).
|
||||
|
||||
This is a backport from eigen upstream, so should no longer be needed
|
||||
whenever there is a bump (not in a release as of the writing of this)
|
||||
and it is updated here.
|
||||
|
||||
https://bugs.gentoo.org/943402
|
||||
https://bugs.gentoo.org/936107
|
||||
https://gitlab.com/libeigen/eigen/-/merge_requests/1028
|
||||
--- a/src/3rdparty/eigen/Eigen/Core
|
||||
+++ b/src/3rdparty/eigen/Eigen/Core
|
||||
@@ -348,3 +348,3 @@
|
||||
|
||||
-#if defined(EIGEN_VECTORIZE_ALTIVEC) || defined(EIGEN_VECTORIZE_VSX)
|
||||
+#if defined(EIGEN_VECTORIZE_VSX)
|
||||
#include "src/Core/arch/AltiVec/MatrixProduct.h"
|
||||
--- a/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/Complex.h
|
||||
+++ b/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/Complex.h
|
||||
@@ -102,2 +102,3 @@
|
||||
HasMax = 0,
|
||||
+ HasSqrt = 1,
|
||||
#ifdef __VSX__
|
||||
@@ -322,2 +323,3 @@
|
||||
HasMax = 0,
|
||||
+ HasSqrt = 1,
|
||||
HasSetLinear = 0
|
||||
--- a/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
|
||||
+++ b/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h
|
||||
@@ -42,2 +42,3 @@
|
||||
|
||||
+#ifdef __VSX__
|
||||
#ifndef EIGEN_COMP_CLANG
|
||||
@@ -48,6 +49,3 @@
|
||||
}
|
||||
-#endif
|
||||
|
||||
-#ifdef __VSX__
|
||||
-#ifndef EIGEN_COMP_CLANG
|
||||
template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED
|
||||
@@ -76,2 +74,22 @@
|
||||
}
|
||||
+
|
||||
+template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){
|
||||
+ BF16_TO_F32_UNARY_OP_WRAPPER(psqrt<Packet4f>, a);
|
||||
+}
|
||||
+
|
||||
+#ifndef EIGEN_COMP_CLANG
|
||||
+template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){
|
||||
+ BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a);
|
||||
+}
|
||||
+#endif
|
||||
+#else
|
||||
+template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
|
||||
+Packet4f psqrt<Packet4f>(const Packet4f& x)
|
||||
+{
|
||||
+ Packet4f a;
|
||||
+ for (Index i = 0; i < packet_traits<float>::size; i++) {
|
||||
+ a[i] = numext::sqrt(x[i]);
|
||||
+ }
|
||||
+ return a;
|
||||
+}
|
||||
#endif
|
||||
--- a/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
|
||||
+++ b/src/3rdparty/eigen/Eigen/src/Core/arch/AltiVec/PacketMath.h
|
||||
@@ -177,2 +177,5 @@
|
||||
#endif
|
||||
+ HasTanh = EIGEN_FAST_MATH,
|
||||
+ HasErf = EIGEN_FAST_MATH,
|
||||
+ HasRint = 1,
|
||||
#else
|
||||
@@ -180,4 +183,5 @@
|
||||
HasRsqrt = 0,
|
||||
- HasTanh = EIGEN_FAST_MATH,
|
||||
- HasErf = EIGEN_FAST_MATH,
|
||||
+ HasTanh = 0,
|
||||
+ HasErf = 0,
|
||||
+ HasRint = 0,
|
||||
#endif
|
||||
@@ -186,3 +190,2 @@
|
||||
HasCeil = 1,
|
||||
- HasRint = 1,
|
||||
HasNegate = 1,
|
||||
@@ -219,2 +222,3 @@
|
||||
#endif
|
||||
+ HasRint = 1,
|
||||
#else
|
||||
@@ -222,5 +226,6 @@
|
||||
HasRsqrt = 0,
|
||||
- HasTanh = EIGEN_FAST_MATH,
|
||||
- HasErf = EIGEN_FAST_MATH,
|
||||
+ HasRint = 0,
|
||||
#endif
|
||||
+ HasTanh = 0,
|
||||
+ HasErf = 0,
|
||||
HasRound = 1,
|
||||
@@ -228,3 +233,2 @@
|
||||
HasCeil = 1,
|
||||
- HasRint = 1,
|
||||
HasNegate = 1,
|
||||
@@ -874,15 +878,25 @@
|
||||
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet4i pcmp_le(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet4i pcmp_lt(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet4i pcmp_eq(const Packet4i& a, const Packet4i& b) { return reinterpret_cast<Packet4i>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet8s pcmp_le(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet8s pcmp_lt(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet8s pcmp_eq(const Packet8s& a, const Packet8s& b) { return reinterpret_cast<Packet8s>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet8us pcmp_le(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet8us pcmp_lt(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet8us pcmp_eq(const Packet8us& a, const Packet8us& b) { return reinterpret_cast<Packet8us>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet16c pcmp_le(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet16c pcmp_lt(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmplt(a,b)); }
|
||||
template<> EIGEN_STRONG_INLINE Packet16c pcmp_eq(const Packet16c& a, const Packet16c& b) { return reinterpret_cast<Packet16c>(vec_cmpeq(a,b)); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet16uc pcmp_le(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmple(a,b)); }
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet16uc pcmp_lt(const Packet16uc& a, const Packet16uc& b) { return reinterpret_cast<Packet16uc>(vec_cmplt(a,b)); }
|
||||
@@ -939,2 +953,3 @@
|
||||
template<> EIGEN_STRONG_INLINE Packet4f pfloor<Packet4f>(const Packet4f& a) { return vec_floor(a); }
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet4f print<Packet4f>(const Packet4f& a)
|
||||
@@ -949,2 +964,3 @@
|
||||
}
|
||||
+#endif
|
||||
|
||||
@@ -1343,8 +1359,2 @@
|
||||
|
||||
-template<> EIGEN_STRONG_INLINE Packet8bf psqrt<Packet8bf> (const Packet8bf& a){
|
||||
- BF16_TO_F32_UNARY_OP_WRAPPER(vec_sqrt, a);
|
||||
-}
|
||||
-template<> EIGEN_STRONG_INLINE Packet8bf prsqrt<Packet8bf> (const Packet8bf& a){
|
||||
- BF16_TO_F32_UNARY_OP_WRAPPER(prsqrt<Packet4f>, a);
|
||||
-}
|
||||
template<> EIGEN_STRONG_INLINE Packet8bf pexp<Packet8bf> (const Packet8bf& a){
|
||||
@@ -1392,2 +1402,3 @@
|
||||
}
|
||||
+#ifdef __VSX__
|
||||
template<> EIGEN_STRONG_INLINE Packet8bf print<Packet8bf> (const Packet8bf& a){
|
||||
@@ -1395,2 +1406,3 @@
|
||||
}
|
||||
+#endif
|
||||
template<> EIGEN_STRONG_INLINE Packet8bf pmadd(const Packet8bf& a, const Packet8bf& b, const Packet8bf& c) {
|
||||
@ -0,0 +1,8 @@
|
||||
https://bugs.gentoo.org/947606
|
||||
TODO: needs upstreaming
|
||||
--- a/src/plugins/multimedia/gstreamer/common/qgstreameraudiooutput.cpp
|
||||
+++ b/src/plugins/multimedia/gstreamer/common/qgstreameraudiooutput.cpp
|
||||
@@ -13,2 +13,3 @@
|
||||
#if QT_CONFIG(pulseaudio)
|
||||
+# include <QVersionNumber>
|
||||
# include <pulse/version.h>
|
||||
25
dev-qt/qtmultimedia/metadata.xml
Normal file
25
dev-qt/qtmultimedia/metadata.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>qt@gentoo.org</email>
|
||||
<name>Gentoo Qt Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="eglfs">Enable screen capture support with Qt's EGL Full Screen/Single Surface platform plugin</flag>
|
||||
<flag name="gstreamer">Enable <pkg>media-libs/gstreamer</pkg> support</flag>
|
||||
<flag name="pipewire">Enable <pkg>media-video/pipewire</pkg> support</flag>
|
||||
<flag name="qml">Build QML/QtQuick bindings and imports</flag>
|
||||
<flag name="widgets">Build the QtMultimediaWidgets module</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<bugs-to>https://bugreports.qt.io/</bugs-to>
|
||||
<doc>https://doc.qt.io/</doc>
|
||||
<remote-id type="github">qt/qtmultimedia</remote-id>
|
||||
</upstream>
|
||||
<slots>
|
||||
<subslots>
|
||||
Must only be used by packages that are known to use private parts of the Qt API.
|
||||
</subslots>
|
||||
</slots>
|
||||
</pkgmetadata>
|
||||
70
dev-qt/qtmultimedia/qtmultimedia-5.15.16.ebuild
Normal file
70
dev-qt/qtmultimedia/qtmultimedia-5.15.16.ebuild
Normal file
@ -0,0 +1,70 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
QT5_KDEPATCHSET_REV=1
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
inherit qt5-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt5 framework"
|
||||
|
||||
IUSE="alsa gles2-only gstreamer openal pulseaudio qml widgets"
|
||||
|
||||
RDEPEND="
|
||||
=dev-qt/qtcore-${QT5_PV}*
|
||||
=dev-qt/qtgui-${QT5_PV}*[gles2-only=]
|
||||
=dev-qt/qtnetwork-${QT5_PV}*
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse[glib] )
|
||||
qml? (
|
||||
=dev-qt/qtdeclarative-${QT5_PV}*
|
||||
gles2-only? ( =dev-qt/qtgui-${QT5_PV}*[egl] )
|
||||
openal? ( media-libs/openal )
|
||||
)
|
||||
widgets? (
|
||||
=dev-qt/qtwidgets-${QT5_PV}*[gles2-only=]
|
||||
media-libs/libglvnd
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
gstreamer? ( x11-base/xorg-proto )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
|
||||
src/multimedia/multimedia.pro || die
|
||||
|
||||
qt_use_disable_config openal openal \
|
||||
src/imports/imports.pro
|
||||
|
||||
qt_use_disable_mod qml quick \
|
||||
src/src.pro \
|
||||
src/plugins/plugins.pro
|
||||
|
||||
qt_use_disable_mod widgets widgets \
|
||||
src/src.pro \
|
||||
src/gsttools/gsttools.pro \
|
||||
src/plugins/gstreamer/common.pri
|
||||
|
||||
qt5-build_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myqmakeargs=(
|
||||
--
|
||||
$(qt_use alsa)
|
||||
$(qt_use gstreamer)
|
||||
$(qt_use pulseaudio)
|
||||
)
|
||||
qt5-build_src_configure
|
||||
}
|
||||
70
dev-qt/qtmultimedia/qtmultimedia-5.15.17.ebuild
Normal file
70
dev-qt/qtmultimedia/qtmultimedia-5.15.17.ebuild
Normal file
@ -0,0 +1,70 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
QT5_KDEPATCHSET_REV=1
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
inherit qt5-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt5 framework"
|
||||
|
||||
IUSE="alsa gles2-only gstreamer openal pulseaudio qml widgets"
|
||||
|
||||
RDEPEND="
|
||||
=dev-qt/qtcore-${QT5_PV}*
|
||||
=dev-qt/qtgui-${QT5_PV}*[gles2-only=]
|
||||
=dev-qt/qtnetwork-${QT5_PV}*
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse[glib] )
|
||||
qml? (
|
||||
=dev-qt/qtdeclarative-${QT5_PV}*
|
||||
gles2-only? ( =dev-qt/qtgui-${QT5_PV}*[egl] )
|
||||
openal? ( media-libs/openal )
|
||||
)
|
||||
widgets? (
|
||||
=dev-qt/qtwidgets-${QT5_PV}*[gles2-only=]
|
||||
media-libs/libglvnd
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
gstreamer? ( x11-base/xorg-proto )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
|
||||
src/multimedia/multimedia.pro || die
|
||||
|
||||
qt_use_disable_config openal openal \
|
||||
src/imports/imports.pro
|
||||
|
||||
qt_use_disable_mod qml quick \
|
||||
src/src.pro \
|
||||
src/plugins/plugins.pro
|
||||
|
||||
qt_use_disable_mod widgets widgets \
|
||||
src/src.pro \
|
||||
src/gsttools/gsttools.pro \
|
||||
src/plugins/gstreamer/common.pri
|
||||
|
||||
qt5-build_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myqmakeargs=(
|
||||
--
|
||||
$(qt_use alsa)
|
||||
$(qt_use gstreamer)
|
||||
$(qt_use pulseaudio)
|
||||
)
|
||||
qt5-build_src_configure
|
||||
}
|
||||
70
dev-qt/qtmultimedia/qtmultimedia-5.15.18.ebuild
Normal file
70
dev-qt/qtmultimedia/qtmultimedia-5.15.18.ebuild
Normal file
@ -0,0 +1,70 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
QT5_KDEPATCHSET_REV=1
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
inherit qt5-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt5 framework"
|
||||
|
||||
IUSE="alsa gles2-only gstreamer openal pulseaudio qml widgets"
|
||||
|
||||
RDEPEND="
|
||||
=dev-qt/qtcore-${QT5_PV}*
|
||||
=dev-qt/qtgui-${QT5_PV}*[gles2-only=]
|
||||
=dev-qt/qtnetwork-${QT5_PV}*
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse[glib] )
|
||||
qml? (
|
||||
=dev-qt/qtdeclarative-${QT5_PV}*
|
||||
gles2-only? ( =dev-qt/qtgui-${QT5_PV}*[egl] )
|
||||
openal? ( media-libs/openal )
|
||||
)
|
||||
widgets? (
|
||||
=dev-qt/qtwidgets-${QT5_PV}*[gles2-only=]
|
||||
media-libs/libglvnd
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
gstreamer? ( x11-base/xorg-proto )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/CONFIG\s*+=/ s/optimize_full//' \
|
||||
src/multimedia/multimedia.pro || die
|
||||
|
||||
qt_use_disable_config openal openal \
|
||||
src/imports/imports.pro
|
||||
|
||||
qt_use_disable_mod qml quick \
|
||||
src/src.pro \
|
||||
src/plugins/plugins.pro
|
||||
|
||||
qt_use_disable_mod widgets widgets \
|
||||
src/src.pro \
|
||||
src/gsttools/gsttools.pro \
|
||||
src/plugins/gstreamer/common.pri
|
||||
|
||||
qt5-build_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myqmakeargs=(
|
||||
--
|
||||
$(qt_use alsa)
|
||||
$(qt_use gstreamer)
|
||||
$(qt_use pulseaudio)
|
||||
)
|
||||
qt5-build_src_configure
|
||||
}
|
||||
153
dev-qt/qtmultimedia/qtmultimedia-6.10.3.ebuild
Normal file
153
dev-qt/qtmultimedia/qtmultimedia-6.10.3.ebuild
Normal file
@ -0,0 +1,153 @@
|
||||
# Copyright 2021-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
QT6_HAS_STATIC_LIBS=1
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml +v4l vaapi vulkan wayland
|
||||
"
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qcamerabackend #972689
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
qt6-build_src_prepare
|
||||
|
||||
# test expects GStreamer to report an exact bitrate value, but
|
||||
# this varies depending on version and Qt updates it only now
|
||||
# and then (disabling permanently with a sed to avoid rebases)
|
||||
sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \
|
||||
-i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
154
dev-qt/qtmultimedia/qtmultimedia-6.11.1.ebuild
Normal file
154
dev-qt/qtmultimedia/qtmultimedia-6.11.1.ebuild
Normal file
@ -0,0 +1,154 @@
|
||||
# Copyright 2021-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
QT6_HAS_STATIC_LIBS=1
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml +v4l vaapi vulkan wayland
|
||||
"
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
vaapi? ( media-libs/libva:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qcamerabackend #972689
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
qt6-build_src_prepare
|
||||
|
||||
# test expects GStreamer to report an exact bitrate value, but
|
||||
# this varies depending on version and Qt updates it only now
|
||||
# and then (disabling permanently with a sed to avoid rebases)
|
||||
sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \
|
||||
-i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
154
dev-qt/qtmultimedia/qtmultimedia-6.11.9999.ebuild
Normal file
154
dev-qt/qtmultimedia/qtmultimedia-6.11.9999.ebuild
Normal file
@ -0,0 +1,154 @@
|
||||
# Copyright 2021-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
QT6_HAS_STATIC_LIBS=1
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml +v4l vaapi vulkan wayland
|
||||
"
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
vaapi? ( media-libs/libva:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qcamerabackend #972689
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
qt6-build_src_prepare
|
||||
|
||||
# test expects GStreamer to report an exact bitrate value, but
|
||||
# this varies depending on version and Qt updates it only now
|
||||
# and then (disabling permanently with a sed to avoid rebases)
|
||||
sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \
|
||||
-i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
154
dev-qt/qtmultimedia/qtmultimedia-6.12.9999.ebuild
Normal file
154
dev-qt/qtmultimedia/qtmultimedia-6.12.9999.ebuild
Normal file
@ -0,0 +1,154 @@
|
||||
# Copyright 2021-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
QT6_HAS_STATIC_LIBS=1
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml +v4l vaapi vulkan wayland
|
||||
"
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[concurrent,gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
vaapi? ( media-libs/libva:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qcamerabackend #972689
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
qt6-build_src_prepare
|
||||
|
||||
# test expects GStreamer to report an exact bitrate value, but
|
||||
# this varies depending on version and Qt updates it only now
|
||||
# and then (disabling permanently with a sed to avoid rebases)
|
||||
sed -e '/bool validateBitRates = GST_CHECK_VERSION/s/= .*/= false;/' \
|
||||
-i tests/auto/unit/plugins/multimedia/gstreamer/gstreamer_backend/tst_gstreamer_backend.cpp || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
153
dev-qt/qtmultimedia/qtmultimedia-6.8.2.ebuild
Normal file
153
dev-qt/qtmultimedia/qtmultimedia-6.8.2.ebuild
Normal file
@ -0,0 +1,153 @@
|
||||
# Copyright 2021-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa eglfs +ffmpeg gstreamer opengl pulseaudio
|
||||
qml screencast v4l vaapi vulkan wayland
|
||||
"
|
||||
# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
screencast? ( ffmpeg )
|
||||
test? ( qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# gstreamer[X=] is to avoid broken gst detect if -X w/ gst[X] w/o xorg-proto
|
||||
# (*could* be removed if gst-plugins-base[X] RDEPENDs on xorg-proto)
|
||||
# := skipped on pipewire due to only being used through dbus
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0[X=]
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
screencast? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus]
|
||||
media-video/pipewire
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
"${FILESDIR}"/${PN}-6.8.1-qversionnumber.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature screencast pipewire)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
151
dev-qt/qtmultimedia/qtmultimedia-6.8.3.ebuild
Normal file
151
dev-qt/qtmultimedia/qtmultimedia-6.8.3.ebuild
Normal file
@ -0,0 +1,151 @@
|
||||
# Copyright 2021-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml v4l vaapi vulkan wayland
|
||||
"
|
||||
# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
test? ( qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
"${FILESDIR}"/${PN}-6.8.1-qversionnumber.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
151
dev-qt/qtmultimedia/qtmultimedia-6.9.0.ebuild
Normal file
151
dev-qt/qtmultimedia/qtmultimedia-6.9.0.ebuild
Normal file
@ -0,0 +1,151 @@
|
||||
# Copyright 2021-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml v4l vaapi vulkan wayland
|
||||
"
|
||||
# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
test? ( qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
"${FILESDIR}"/${PN}-6.8.1-qversionnumber.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
152
dev-qt/qtmultimedia/qtmultimedia-6.9.9999.ebuild
Normal file
152
dev-qt/qtmultimedia/qtmultimedia-6.9.9999.ebuild
Normal file
@ -0,0 +1,152 @@
|
||||
# Copyright 2021-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
QT6_HAS_STATIC_LIBS=1
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml v4l vaapi vulkan wayland
|
||||
"
|
||||
# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
test? ( qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
"${FILESDIR}"/${PN}-6.8.1-qversionnumber.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
152
dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
Normal file
152
dev-qt/qtmultimedia/qtmultimedia-6.9999.ebuild
Normal file
@ -0,0 +1,152 @@
|
||||
# Copyright 2021-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
QT6_HAS_STATIC_LIBS=1
|
||||
inherit flag-o-matic qt6-build
|
||||
|
||||
DESCRIPTION="Multimedia (audio, video, radio, camera) library for the Qt6 framework"
|
||||
|
||||
if [[ ${QT6_BUILD_TYPE} == release ]]; then
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
|
||||
fi
|
||||
|
||||
IUSE="
|
||||
+X alsa +dbus eglfs +ffmpeg gstreamer opengl pipewire pulseaudio
|
||||
qml v4l vaapi vulkan wayland
|
||||
"
|
||||
# tst_qmediaplayerbackend hard requires qml, review in case becomes optional
|
||||
REQUIRED_USE="
|
||||
|| ( ffmpeg gstreamer )
|
||||
eglfs? ( ffmpeg opengl qml )
|
||||
test? ( qml )
|
||||
vaapi? ( ffmpeg opengl )
|
||||
"
|
||||
|
||||
# dlopen/dbus: pipewire
|
||||
RDEPEND="
|
||||
~dev-qt/qtbase-${PV}:6[gui,network,opengl=,vulkan=,widgets]
|
||||
alsa? (
|
||||
!pulseaudio? ( media-libs/alsa-lib )
|
||||
)
|
||||
ffmpeg? (
|
||||
~dev-qt/qtbase-${PV}:6[X=,concurrent,eglfs=]
|
||||
media-video/ffmpeg:=[vaapi?]
|
||||
X? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXrandr
|
||||
)
|
||||
)
|
||||
gstreamer? (
|
||||
dev-libs/glib:2
|
||||
media-libs/gst-plugins-bad:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
media-libs/gstreamer:1.0
|
||||
opengl? (
|
||||
~dev-qt/qtbase-${PV}:6[X?,wayland?]
|
||||
media-libs/gst-plugins-base:1.0[X?,egl,opengl,wayland?]
|
||||
)
|
||||
)
|
||||
opengl? ( media-libs/libglvnd )
|
||||
pipewire? (
|
||||
~dev-qt/qtbase-${PV}:6[dbus?]
|
||||
media-video/pipewire:=
|
||||
)
|
||||
pulseaudio? ( media-libs/libpulse )
|
||||
qml? (
|
||||
~dev-qt/qtdeclarative-${PV}:6
|
||||
~dev-qt/qtquick3d-${PV}:6
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
X? ( x11-base/xorg-proto )
|
||||
v4l? ( sys-kernel/linux-headers )
|
||||
vulkan? ( dev-util/vulkan-headers )
|
||||
"
|
||||
BDEPEND="~dev-qt/qtshadertools-${PV}:6"
|
||||
|
||||
CMAKE_SKIP_TESTS=(
|
||||
# unimportant and expects all backends to be available (bug #928420)
|
||||
tst_backends
|
||||
# tries to use real alsa or pulseaudio and fails in sandbox
|
||||
tst_qaudiosink
|
||||
tst_qaudiosource
|
||||
tst_qmediacapture_gstreamer
|
||||
tst_qmediacapturesession
|
||||
tst_qmediaframeinputsbackend
|
||||
tst_qmediaplayer_gstreamer
|
||||
tst_qmediaplayerbackend
|
||||
tst_qsoundeffect
|
||||
# may try to use v4l2 or hardware acceleration depending on availability
|
||||
tst_qmediarecorderbackend
|
||||
tst_qscreencapture_integration
|
||||
tst_qscreencapturebackend
|
||||
tst_qvideoframebackend
|
||||
# seems flaky depending on what codecs system libraries support or not
|
||||
tst_qmediaformatbackend
|
||||
# fails with offscreen rendering
|
||||
tst_qvideoframecolormanagement
|
||||
tst_qwindowcapturebackend
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.7.3-eigen-ppc-no-vsx.patch
|
||||
"${FILESDIR}"/${PN}-6.8.1-qversionnumber.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
# eigen + ppc32 seems broken w/ -maltivec (forced by Qt, bug #943402)
|
||||
use ppc && append-cppflags -DEIGEN_DONT_VECTORIZE
|
||||
|
||||
# normally passed by the build system, but needed for 32-on-64 chroots
|
||||
use x86 && append-cppflags -DDISABLE_SIMD -DPFFFT_SIMD_DISABLE
|
||||
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package qml Qt6Qml)
|
||||
$(qt_feature ffmpeg)
|
||||
$(qt_feature gstreamer)
|
||||
$(usev gstreamer "
|
||||
$(qt_feature opengl gstreamer_gl)
|
||||
$(usev opengl "
|
||||
$(qt_feature X gstreamer_gl_x11)
|
||||
$(qt_feature wayland gstreamer_gl_wayland)
|
||||
")
|
||||
")
|
||||
$(qt_feature pipewire)
|
||||
$(usev pipewire $(qt_feature dbus pipewire_screencapture))
|
||||
$(qt_feature pulseaudio)
|
||||
$(qt_feature v4l linux_v4l)
|
||||
$(qt_feature vaapi)
|
||||
)
|
||||
|
||||
# ALSA backend is experimental off-by-default and can take priority
|
||||
# causing problems (bug #935146), disable if USE=pulseaudio is set
|
||||
# (also do not want unnecessary usage of ALSA plugins -> pulse)
|
||||
if use alsa && use pulseaudio; then
|
||||
# einfo should be enough given pure-ALSA users tend to disable pulse
|
||||
einfo "Warning: USE=alsa is ignored when USE=pulseaudio is set"
|
||||
mycmakeargs+=( -DQT_FEATURE_alsa=OFF )
|
||||
else
|
||||
mycmakeargs+=( $(qt_feature alsa) )
|
||||
fi
|
||||
|
||||
qt6-build_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
qt6-build_src_install
|
||||
|
||||
if use test; then
|
||||
local delete=( # sigh
|
||||
"${D}${QT6_LIBDIR}"/cmake/Qt6Multimedia/Qt6MockMultimediaPlugin*.cmake
|
||||
"${D}${QT6_MKSPECSDIR}"/modules/qt_plugin_mockmultimediaplugin.pri
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/libmockmultimediaplugin.*
|
||||
"${D}${QT6_PLUGINDIR}"/multimedia/objects-*
|
||||
)
|
||||
# using -f given not tracking which tests may be skipped or not
|
||||
rm -rf -- "${delete[@]}" || die
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user