PKGNAME=gst-plugins-rs
PKGSEC=libs
PKGDEP="glib gstreamer gtk-4 libsodium pango openssl cairo dav1d \
        libwebp"
BUILDDEP="rustc llvm cargo-c nasm"
PKGDES="GStreamer plugins and elements written in Rust"

ABTYPE=meson
USECLANG=1

# FIXME: ld.lld: error: ld-temp.o <inline asm>:1:21: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
NOLTO__RISCV64=1

MESON_AFTER=(
    '-Ddoc=disabled'
    '-Dexamples=disabled'
    '-Dtests=disabled'
)

# FIXME: skia-bindings missing fetch_gn support on loongarch64, loongson3,
# ppc64el, riscv64
# FIXME: gstreamer-validate-1.0 is not available on loongarch64, see gstreamer's
# defines file for more information
MESON_AFTER__LOONGARCH64=(
    "${MESON_AFTER[@]}"
    '-Dskia=disabled'
    '-Dvalidate=disabled'
)
MESON_AFTER__LOONGARCH64_NOSIMD=(
    "${MESON_AFTER__LOONGARCH64[@]}"
)
MESON_AFTER__LOONGSON3=(
    "${MESON_AFTER[@]}"
    '-Dskia=disabled'
)
MESON_AFTER__PPC64EL=(
    "${MESON_AFTER[@]}"
    '-Dskia=disabled'
)
# FIXME: libsodium-sys Invalid configuration `riscv64gc-unknown-linux-gnu':
# machine `riscv64gc-unknown' not recognized
MESON_AFTER__RISCV64=(
    "${MESON_AFTER[@]}"
    '-Dskia=disabled'
    '-Dsodium=disabled'
)

# FIXME: FTBFS on riscv64
# ggml/src/ggml-cpu/arch/riscv/quants.c:585:17: error: operand must be e[8|16|32|64],m[1|2|4|8|f2|f4|f8],[ta|tu],[ma|mu]
FAIL_ARCH="@(riscv64|retro)"
