gentoo-ebuilds/media-plugins/gst-plugin-gtk4/gst-plugin-gtk4-0.13.4.ebuild
Arthur Zamarin ebeb51fa62
media-plugins/gst-plugin-gtk4: Stabilize 0.13.4 arm64, #956962
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2025-05-31 17:14:25 +03:00

220 lines
4.5 KiB
Bash

# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
android-tzdata@0.1.1
android_system_properties@0.1.5
async-channel@2.3.1
atomic_refcell@0.1.13
autocfg@1.4.0
bitflags@2.6.0
bumpalo@3.16.0
cairo-rs@0.20.7
cairo-sys-rs@0.20.7
cc@1.2.5
cfg-expr@0.17.2
cfg-if@1.0.0
chrono@0.4.39
concurrent-queue@2.5.0
core-foundation-sys@0.8.7
crossbeam-utils@0.8.21
either@1.13.0
equivalent@1.0.1
event-listener-strategy@0.5.3
event-listener@5.3.1
field-offset@0.3.6
futures-channel@0.3.31
futures-core@0.3.31
futures-executor@0.3.31
futures-io@0.3.31
futures-macro@0.3.31
futures-task@0.3.31
futures-util@0.3.31
gdk-pixbuf-sys@0.20.7
gdk-pixbuf@0.20.7
gdk4-sys@0.9.5
gdk4-wayland-sys@0.9.5
gdk4-wayland@0.9.5
gdk4-win32-sys@0.9.5
gdk4-win32@0.9.5
gdk4-x11-sys@0.9.5
gdk4-x11@0.9.5
gdk4@0.9.5
gio-sys@0.20.8
gio@0.20.7
glib-macros@0.20.7
glib-sys@0.20.7
glib@0.20.7
gobject-sys@0.20.7
graphene-rs@0.20.7
graphene-sys@0.20.7
gsk4-sys@0.9.5
gsk4@0.9.5
gst-plugin-version-helper@0.8.2
gstreamer-allocators-sys@0.23.4
gstreamer-allocators@0.23.4
gstreamer-base-sys@0.23.4
gstreamer-base@0.23.4
gstreamer-gl-egl-sys@0.23.4
gstreamer-gl-egl@0.23.4
gstreamer-gl-sys@0.23.4
gstreamer-gl-wayland-sys@0.23.4
gstreamer-gl-wayland@0.23.4
gstreamer-gl-x11-sys@0.23.4
gstreamer-gl-x11@0.23.4
gstreamer-gl@0.23.4
gstreamer-sys@0.23.4
gstreamer-video-sys@0.23.4
gstreamer-video@0.23.4
gstreamer@0.23.4
gtk4-macros@0.9.5
gtk4-sys@0.9.5
gtk4@0.9.5
hashbrown@0.15.2
heck@0.5.0
iana-time-zone-haiku@0.1.2
iana-time-zone@0.1.61
indexmap@2.7.0
itertools@0.13.0
js-sys@0.3.76
khronos-egl@6.0.0
libc@0.2.169
log@0.4.22
memchr@2.7.4
memoffset@0.9.1
muldiv@1.0.1
num-integer@0.1.46
num-rational@0.4.2
num-traits@0.2.19
once_cell@1.20.2
option-operations@0.5.0
pango-sys@0.20.7
pango@0.20.7
parking@2.2.1
paste@1.0.15
pin-project-lite@0.2.15
pin-utils@0.1.0
pkg-config@0.3.31
proc-macro-crate@3.2.0
proc-macro2@1.0.92
quote@1.0.37
rustc_version@0.4.1
semver@1.0.24
serde@1.0.216
serde_derive@1.0.216
serde_spanned@0.6.8
shlex@1.3.0
slab@0.4.9
smallvec@1.13.2
syn@2.0.91
system-deps@7.0.3
target-lexicon@0.12.16
thiserror-impl@2.0.9
thiserror@2.0.9
toml@0.8.19
toml_datetime@0.6.8
toml_edit@0.22.22
unicode-ident@1.0.14
version-compare@0.2.0
wasm-bindgen-backend@0.2.99
wasm-bindgen-macro-support@0.2.99
wasm-bindgen-macro@0.2.99
wasm-bindgen-shared@0.2.99
wasm-bindgen@0.2.99
windows-core@0.52.0
windows-sys@0.52.0
windows-targets@0.52.6
windows_aarch64_gnullvm@0.52.6
windows_aarch64_msvc@0.52.6
windows_i686_gnu@0.52.6
windows_i686_gnullvm@0.52.6
windows_i686_msvc@0.52.6
windows_x86_64_gnu@0.52.6
windows_x86_64_gnullvm@0.52.6
windows_x86_64_msvc@0.52.6
winnow@0.6.20
"
inherit cargo rust-toolchain toolchain-funcs
DESCRIPTION="GStreamer GTK 4 sink element"
HOMEPAGE="
https://lib.rs/crates/gst-plugin-gtk4
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/
"
SRC_URI="
https://crates.io/api/v1/crates/${PN}/${PV}/download
-> ${P}.crate
${CARGO_CRATE_URIS}
"
LICENSE="MPL-2.0"
# Dependent crate licenses
LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
SLOT="1.0"
KEYWORDS="amd64 arm64"
IUSE="+egl +gles2 opengl wayland +X" # Keep default IUSE mirrored with gst-plugins-base
DEPEND="
dev-libs/glib
>=gui-libs/gtk-4.16:4
>=media-libs/gstreamer-1.24:1.0
>=media-libs/gst-plugins-base-1.24:${SLOT}[egl=,gles2=,opengl=,wayland=,X=]
"
RDEPEND="
${DEPEND}
"
BDEPEND="
dev-util/cargo-c
"
QA_FLAGS_IGNORED="usr/lib.*/gstreamer-1.0/libgstgtk4.so"
src_configure() {
local myfeatures=(
# match that with gtk dep above, we don't really care to support
# older versions here
gtk_v4_16
)
# see https://github.com/GStreamer/gst-plugins-rs/blob/main/meson.build
local gl_winsys=$(
$(tc-getPKG_CONFIG) --variable=gl_winsys gstreamer-gl-1.0 || die
)
if has wayland ${gl_winsys}; then
myfeatures+=( waylandegl )
fi
if has x11 ${gl_winsys}; then
if has egl ${gl_winsys}; then
myfeatures+=( x11egl )
fi
if has glx ${gl_winsys}; then
myfeatures+=( x11glx )
fi
fi
CARGO_ARGS=(
--library-type=cdylib
--prefix="${EPREFIX}"/usr
--libdir="${EPREFIX}/usr/$(get_libdir)"
--target="$(rust_abi)"
$(usev !debug '--release')
)
cargo_src_configure
}
src_compile() {
cargo cbuild "${CARGO_ARGS[@]}" || die
}
src_test() {
# no tests, cargo [c]test just rebuilds everything for no gain
:
}
src_install() {
cargo cinstall "${CARGO_ARGS[@]}" --destdir="${D}" || die
}