aboutsummaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/README.md (renamed from meta-multimedia/README)6
-rw-r--r--meta-multimedia/classes/juce.bbclass4
-rw-r--r--meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc17
-rw-r--r--meta-multimedia/conf/layer.conf6
-rw-r--r--meta-multimedia/files/static-group-meta-multimedia2
-rw-r--r--meta-multimedia/files/static-passwd-meta-multimedia2
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.3.bb20
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gssdp_1.6.3.bb32
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc13
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch44
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb7
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.1.bb14
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna/move_vapigen.patch102
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb19
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.12.0.bb16
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch101
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb16
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.6.0.bb12
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb13
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.12.1.bb19
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.7.bb7
-rw-r--r--meta-multimedia/recipes-connectivity/gupnp/gupnp_1.6.6.bb (renamed from meta-multimedia/recipes-connectivity/gupnp/gupnp.inc)16
-rw-r--r--meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch42
-rw-r--r--meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb (renamed from meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb)3
-rw-r--r--meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb72
-rw-r--r--meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb92
-rw-r--r--meta-multimedia/recipes-dvb/oscam/oscam_svn.bb9
-rw-r--r--meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch16
-rw-r--r--meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb15
-rw-r--r--meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch57
-rw-r--r--meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch42
-rw-r--r--meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb59
-rw-r--r--meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb14
-rw-r--r--meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch28
-rw-r--r--meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb37
-rw-r--r--meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb16
-rw-r--r--meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb6
-rw-r--r--meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch109
-rw-r--r--meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb22
-rw-r--r--meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb27
-rw-r--r--meta-multimedia/recipes-multimedia/aravis/aravis_0.8.31.bb40
-rw-r--r--meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb66
-rw-r--r--meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch1
-rw-r--r--meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch3
-rw-r--r--meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch1
-rw-r--r--meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch1
-rw-r--r--meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch1
-rw-r--r--meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch5
-rw-r--r--meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch5
-rw-r--r--meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.1.bb17
-rw-r--r--meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb12
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb8
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb12
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb14
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb99
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb103
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch1
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch16
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch1
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch1
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch5
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch4
-rw-r--r--meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb8
-rw-r--r--meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb (renamed from meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb)4
-rw-r--r--meta-multimedia/recipes-multimedia/flite/flite_2.2.bb27
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb10
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc12
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch49
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb39
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb23
-rw-r--r--meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-include-optional-header.patch32
-rw-r--r--meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb31
-rw-r--r--meta-multimedia/recipes-multimedia/gerbera/gerbera_2.0.0.bb30
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark/0001-tracers-Fix-buffer-overflow.patch33
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb (renamed from meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb)29
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch20
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb31
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-all.bb (renamed from meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb)2
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb7
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb25
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb5
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb40
-rw-r--r--meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer.inc27
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer/0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch21
-rw-r--r--meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb12
-rw-r--r--meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb6
-rw-r--r--meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb16
-rw-r--r--meta-multimedia/recipes-multimedia/libavtp/libavtp/0001-provide-64bit-host-to-network-conversion-macros.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb16
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera.bb56
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch71
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-media_device-Add-bool-return-type-to-unlock.patch59
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch128
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb78
-rwxr-xr-xmeta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch5
-rwxr-xr-xmeta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.7.bb (renamed from meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb)7
-rw-r--r--meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb (renamed from meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb)10
-rw-r--r--meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb6
-rw-r--r--meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.3.bb (renamed from meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.0.bb)5
-rw-r--r--meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/libiec61883/libiec61883_1.2.0.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb14
-rw-r--r--meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb (renamed from meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.3.10.bb)48
-rw-r--r--meta-multimedia/recipes-multimedia/libsquish/libsquish/0001-Add-support-for-variable-libdir.patch70
-rw-r--r--meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb9
-rw-r--r--meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb (renamed from meta-multimedia/recipes-multimedia/libuvc/libuvc.bb)8
-rw-r--r--meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb10
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna.inc8
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Mark-setjmp_buffer-extern-declaration.patch29
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch19
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch37
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.0.bb (renamed from meta-multimedia/recipes-multimedia/minidlna/minidlna_1.2.1.bb)2
-rw-r--r--meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch50
-rw-r--r--meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb14
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch10
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch27
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch27
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch26
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb7
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.20.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.19.bb)6
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpc_0.34.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb)8
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd/0001-include-utility-for-std-forward.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch26
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/mpd_0.22.9.bb)32
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb)14
-rw-r--r--meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb29
-rw-r--r--meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers/0001-Makefile-add-clean-target.patch27
-rw-r--r--meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb17
-rw-r--r--meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch31
-rw-r--r--meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch29
-rw-r--r--meta-multimedia/recipes-multimedia/openal/openal-soft_1.20.1.bb24
-rw-r--r--meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb23
-rw-r--r--meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.6.bb (renamed from meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.3.bb)6
-rw-r--r--meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch103
-rw-r--r--meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb50
-rw-r--r--meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb55
-rw-r--r--meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb15
-rw-r--r--meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb65
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb21
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb26
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb285
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.5.bb388
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/schroedinger/schroedinger/0001-testsuite-Add-tmp-orc.c-for-missing-_orc_code_orc_de.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb5
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch4
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb9
-rw-r--r--meta-multimedia/recipes-multimedia/spandsp/spandsp/configure.patch56
-rw-r--r--meta-multimedia/recipes-multimedia/spandsp/spandsp/makefile.patch161
-rw-r--r--meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb50
-rw-r--r--meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch46
-rw-r--r--meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch69
-rw-r--r--meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb (renamed from meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb)9
-rw-r--r--meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb (renamed from meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.2.bb)5
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch8
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch44
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch50
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch10
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0003-fix-luaL-checkint.patch2
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch8
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch40
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch46
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch26
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch67
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb (renamed from meta-multimedia/recipes-multimedia/vlc/vlc_3.0.12.bb)37
-rw-r--r--meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch49
-rw-r--r--meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch27
-rw-r--r--meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch26
-rw-r--r--meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch32
-rw-r--r--meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb (renamed from meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb)9
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-Fix-return-type-errors.patch95
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-add-missing-header-for-musl.patch33
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb21
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua5
-rw-r--r--meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.1.bb145
-rw-r--r--meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb11
-rw-r--r--meta-multimedia/recipes-support/crossguid/crossguid/0001-include-missing-cstdint.patch31
-rw-r--r--meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb10
-rw-r--r--meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb19
-rw-r--r--meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb (renamed from meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.5.bb)7
-rw-r--r--meta-multimedia/recipes-support/libsrtp/libsrtp_2.3.0.bb20
-rw-r--r--meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb20
-rw-r--r--meta-multimedia/recipes-support/srt/srt/0001-core-Fix-build-with-GCC-11.-1806.patch26
-rw-r--r--meta-multimedia/recipes-support/srt/srt_1.4.4.bb (renamed from meta-multimedia/recipes-support/srt/srt_1.4.2.bb)9
-rw-r--r--meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr/0001-screencast-Fix-build-with-older-mesa.patch53
-rw-r--r--meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb31
199 files changed, 3746 insertions, 2189 deletions
diff --git a/meta-multimedia/README b/meta-multimedia/README.md
index 9c649ff87c..235c34331b 100644
--- a/meta-multimedia/README
+++ b/meta-multimedia/README.md
@@ -1,13 +1,11 @@
This layer depends on:
-URI: git://github.com/openembedded/oe-core.git
+URI: git://git.openembedded.org/openembedded-core
branch: master
-revision: HEAD
-URI: git://github.com/openembedded/meta-oe.git
+URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
branch: master
-revision: HEAD
Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-multimedia]' in the subject
diff --git a/meta-multimedia/classes/juce.bbclass b/meta-multimedia/classes/juce.bbclass
index 3927235ef1..e20a054b45 100644
--- a/meta-multimedia/classes/juce.bbclass
+++ b/meta-multimedia/classes/juce.bbclass
@@ -9,14 +9,14 @@ JUCE_MODULES ??= " \
"
JUCE_X11_DEPS = "libx11 libxext libxinerama libxrandr libxcursor"
-PACKAGECONFIG_prepend= "${JUCE_MODULES} "
+PACKAGECONFIG:prepend= "${JUCE_MODULES} "
PACKAGECONFIG[juce_core] = ",,curl,"
PACKAGECONFIG[juce_audio_devices] = ",,alsa-lib,"
PACKAGECONFIG[juce_graphics] = ",,${JUCE_X11_DEPS} freetype,"
PACKAGECONFIG[juce_gui_basics] = ",,${JUCE_X11_DEPS},"
PACKAGECONFIG[juce_opengl] = ",,virtual/libgl,"
-DEPENDS_prepend = "projucer-native "
+DEPENDS:prepend = "projucer-native "
export OE_JUCE_PROJUCER = "${STAGING_BINDIR_NATIVE}/Projucer"
diff --git a/meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc b/meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc
new file mode 100644
index 0000000000..e21ad5766b
--- /dev/null
+++ b/meta-multimedia/conf/include/ptest-packagelists-meta-multimedia.inc
@@ -0,0 +1,17 @@
+#
+# Lists of the ptest in meta-multimedia, sorted into two sets by the time they take
+# Please keep these sorted in alphabetical order
+#
+# A first pass at getting all meta-multimedia recipes which inherit ptest
+# meta_multimedia_ptest_recipes=$(bitbake-layers show-recipes --recipes-only --layer meta-multimedia --inherits ptest --bare | sed -e '1,/=== Matching recipes: ===/d')
+# ptests which take less than ~30s each
+
+PTESTS_FAST_META_MULTIMEDIA = "\
+"
+
+PTESTS_SLOW_META_MULTIMEDIA = "\
+"
+
+PTESTS_PROBLEMS_META_MULTIMEDIA = "\
+ libopenmpt \
+"
diff --git a/meta-multimedia/conf/layer.conf b/meta-multimedia/conf/layer.conf
index 6d3de7c118..82e6f3629f 100644
--- a/meta-multimedia/conf/layer.conf
+++ b/meta-multimedia/conf/layer.conf
@@ -23,12 +23,12 @@ LICENSE_PATH += "${LAYERDIR}/licenses"
# choosing carefully how this layer interacts with all of the
# other layers.
-BBFILE_PRIORITY_multimedia-layer = "6"
+BBFILE_PRIORITY_multimedia-layer = "5"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_multimedia-layer = "1"
-LAYERDEPENDS_multimedia-layer = "core meta-python"
+LAYERDEPENDS_multimedia-layer = "core openembedded-layer meta-python"
-LAYERSERIES_COMPAT_multimedia-layer = " hardknott"
+LAYERSERIES_COMPAT_multimedia-layer = "scarthgap"
diff --git a/meta-multimedia/files/static-group-meta-multimedia b/meta-multimedia/files/static-group-meta-multimedia
new file mode 100644
index 0000000000..c762331719
--- /dev/null
+++ b/meta-multimedia/files/static-group-meta-multimedia
@@ -0,0 +1,2 @@
+pipewire:x:660:
+mpd:x:665: \ No newline at end of file
diff --git a/meta-multimedia/files/static-passwd-meta-multimedia b/meta-multimedia/files/static-passwd-meta-multimedia
new file mode 100644
index 0000000000..94e1310ead
--- /dev/null
+++ b/meta-multimedia/files/static-passwd-meta-multimedia
@@ -0,0 +1,2 @@
+pipewire:x:660:660::/:/bin/nologin
+mpd:x:665:665::/:/bin/nologin \ No newline at end of file
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.3.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.3.bb
deleted file mode 100644
index 7d82c3e2e6..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.2.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Resource discovery and announcement over SSDP"
-DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP (Simpe Service Discovery Protocol)."
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-DEPENDS = "glib-2.0 libsoup-2.4"
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "ef3295a965c06ce0f683522391fbb910"
-SRC_URI[sha256sum] = "a263dcb6730e3b3dc4bbbff80cf3fab4cd364021981d419db6dd5a8e148aa7e8"
-
-GTKDOC_MESON_OPTION = 'gtk_doc'
-
-inherit meson pkgconfig gobject-introspection vala gtk-doc
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'sniffer', '', d)}"
-PACKAGECONFIG[sniffer] = "-Dsniffer=true,-Dsniffer=false,gtk+3,"
-
-PACKAGES =+ "gssdp-tools"
-
-FILES_gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.6.3.bb b/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.6.3.bb
new file mode 100644
index 0000000000..f2e27622cc
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gssdp_1.6.3.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Resource discovery and announcement over SSDP"
+DESCRIPTION = "GSSDP implements resource discovery and announcement over SSDP \
+ (Simpe Service Discovery Protocol)."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/gssdp/"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/gssdp/-/issues"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI[archive.sha256sum] = "2fedb5afdb22cf14d5498a39a773ca89788a250fcf70118783df821e1f3f3446"
+
+GTKDOC_MESON_OPTION = 'gtk_doc'
+
+DEPENDS = " \
+ glib-2.0 \
+ libsoup-3.0 \
+"
+
+inherit gnomebase pkgconfig gobject-introspection vala gi-docgen features_check
+
+# manpages require pandoc-native
+EXTRA_OEMESON += "-Dmanpages=false"
+
+SNIFFER = "${@bb.utils.contains("BBFILE_COLLECTIONS", "gnome-layer", "sniffer", "", d)}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', "${SNIFFER}", "", d)}"
+PACKAGECONFIG[sniffer] = "-Dsniffer=true,-Dsniffer=false,gtk4,"
+
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'sniffer', 'opengl', '', d)}"
+
+PACKAGES =+ "gssdp-tools"
+
+FILES:gssdp-tools = "${bindir}/gssdp* ${datadir}/gssdp/*.glade"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc
deleted file mode 100644
index 0544501569..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Helpers for AV applications using UPnP"
-DESCRIPTION = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP."
-LICENSE = "LGPLv2"
-DEPENDS = "gupnp"
-
-inherit autotools pkgconfig gobject-introspection vala
-
-# Copy vapigen.m4 so that it doesn't get removed by vala class
-# (normally this would be the right thing to do, but in gupnp-av the vapigen.m4 has only a custom macro)
-do_configure_prepend() {
- cp -f ${S}/m4/vapigen.m4 ${S}/m4/vapigen-custom.m4 || true
-}
-
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch
new file mode 100644
index 0000000000..92b52ad98a
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch
@@ -0,0 +1,44 @@
+From d99f71a4a52da7582d5e26992a1ab303b280d28a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Jun 2023 03:23:12 -0700
+Subject: [PATCH] Drop xmlRecoverMemory
+
+newer libxml has deprecated xmlRecoverMemory therefore replace it with xmlReadMemory
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gupnp/-/commit/80e68995b745a5900eaaa1d0c424d3a9d354e42d]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gupnp-didl-lite-parser.c | 2 +-
+ gupnp-feature-list-parser.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gupnp-didl-lite-parser.c b/gupnp-didl-lite-parser.c
+index 3a5727f..840d718 100644
+--- a/libgupnp-av/gupnp-didl-lite-parser.c
++++ b/libgupnp-av/gupnp-didl-lite-parser.c
+@@ -230,7 +230,7 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser,
+ GUPnPAVXMLDoc *xml_doc = NULL;
+ gboolean result;
+
+- doc = xmlRecoverMemory (didl, strlen (didl));
++ doc = xmlReadMemory (didl, strlen (didl), NULL, NULL, XML_PARSE_NONET | XML_PARSE_RECOVER);
+ if (doc == NULL) {
+ g_set_error (error,
+ G_MARKUP_ERROR,
+diff --git a/gupnp-feature-list-parser.c b/gupnp-feature-list-parser.c
+index 16208b5..f804fe7 100644
+--- a/libgupnp-av/gupnp-feature-list-parser.c
++++ b/libgupnp-av/gupnp-feature-list-parser.c
+@@ -114,7 +114,7 @@ gupnp_feature_list_parser_parse_text
+ xmlNode *element;
+ GList *feature_list = NULL;
+
+- doc = xmlRecoverMemory (text, strlen (text));
++ doc = xmlReadMemory (text, strlen (text), NULL, NULL, XML_PARSE_NONET | XML_PARSE_RECOVER);
+ if (doc == NULL) {
+ g_set_error (error,
+ G_MARKUP_ERROR,
+--
+2.41.0
+
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb
deleted file mode 100644
index 1881656b47..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.12.11.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require gupnp-av.inc
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/0.12/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "f09e99ae20271b0a8cadce806098ae8b"
-SRC_URI[sha256sum] = "689dcf1492ab8991daea291365a32548a77d1a2294d85b33622b55cca9ce6fdc"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp-av/gupnp-av.h;beginline=1;endline=22;md5=2b47b7b5f799d2ebabe62b895e848820"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.1.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.1.bb
new file mode 100644
index 0000000000..2a5c0808ee
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.1.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Helpers for AV applications using UPnP"
+DESCRIPTION = "GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP."
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "gupnp"
+
+inherit meson pkgconfig gobject-introspection vala
+
+SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz \
+ file://0001-all-Drop-xmlRecoverMemory.patch \
+ "
+SRC_URI[sha256sum] = "b79ce0cc4b0c66d9c54bc22183a10e5709a0011d2af272025948efcab33a3e4f"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna/move_vapigen.patch b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna/move_vapigen.patch
deleted file mode 100644
index 9bfc31b8eb..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna/move_vapigen.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-OE-Core's vala class known one type of vapigen.m4 and deletes it since its
-not cross compile friendly, but this is a different case here where its not
-same vapigen.m4 just name is same and it tends to inherit vala bbclass so
-save it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: gupnp-dlna-0.10.5/m4/vapigen-custom.m4
-===================================================================
---- /dev/null
-+++ gupnp-dlna-0.10.5/m4/vapigen-custom.m4
-@@ -0,0 +1,43 @@
-+
-+dnl vala.m4
-+dnl
-+dnl Copyright 2010 Marc-Andre Lureau
-+dnl Copyright 2011 Rodney Dawes <dobey.pwns@gmail.com>
-+dnl
-+dnl This library is free software; you can redistribute it and/or
-+dnl modify it under the terms of the GNU Lesser General Public
-+dnl License as published by the Free Software Foundation; either
-+dnl version 2.1 of the License, or (at your option) any later version.
-+dnl
-+dnl This library is distributed in the hope that it will be useful,
-+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+dnl Lesser General Public License for more details.
-+dnl
-+dnl You should have received a copy of the GNU Lesser General Public
-+dnl License along with this library; if not, write to the Free Software
-+dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+
-+dnl dropped everything but VALA_PROG_VAPIGEN - Jens Georg <mail@jensge.org>
-+
-+# Check whether the Vala API Generator exists in `PATH'. If it is found,
-+# the variable VAPIGEN is set. Optionally a minimum release number of the
-+# generator can be requested.
-+#
-+# VALA_PROG_VAPIGEN([MINIMUM-VERSION])
-+# ------------------------------------
-+AC_DEFUN([GUPNP_PROG_VAPIGEN],
-+[AC_PATH_PROG([VAPIGEN], [vapigen], [])
-+ AS_IF([test -z "$VAPIGEN"],
-+ [AC_MSG_WARN([No Vala API Generator found. You will not be able to generate .vapi files.])],
-+ [AS_IF([test -n "$1"],
-+ [AC_MSG_CHECKING([$VAPIGEN is at least version $1])
-+ am__vapigen_version=`$VAPIGEN --version | sed 's/Vala API Generator *//'`
-+ AS_VERSION_COMPARE([$1], ["$am__vapigen_version"],
-+ [AC_MSG_RESULT([yes])],
-+ [AC_MSG_RESULT([yes])],
-+ [AC_MSG_RESULT([no])
-+ AC_MSG_WARN([Vala API Generator $1 not found.])
-+ VAPIGEN=""
-+ ])])])
-+])
-Index: gupnp-dlna-0.10.5/m4/vapigen.m4
-===================================================================
---- gupnp-dlna-0.10.5.orig/m4/vapigen.m4
-+++ /dev/null
-@@ -1,43 +0,0 @@
--
--dnl vala.m4
--dnl
--dnl Copyright 2010 Marc-Andre Lureau
--dnl Copyright 2011 Rodney Dawes <dobey.pwns@gmail.com>
--dnl
--dnl This library is free software; you can redistribute it and/or
--dnl modify it under the terms of the GNU Lesser General Public
--dnl License as published by the Free Software Foundation; either
--dnl version 2.1 of the License, or (at your option) any later version.
--dnl
--dnl This library is distributed in the hope that it will be useful,
--dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
--dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
--dnl Lesser General Public License for more details.
--dnl
--dnl You should have received a copy of the GNU Lesser General Public
--dnl License along with this library; if not, write to the Free Software
--dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
--
--dnl dropped everything but VALA_PROG_VAPIGEN - Jens Georg <mail@jensge.org>
--
--# Check whether the Vala API Generator exists in `PATH'. If it is found,
--# the variable VAPIGEN is set. Optionally a minimum release number of the
--# generator can be requested.
--#
--# VALA_PROG_VAPIGEN([MINIMUM-VERSION])
--# ------------------------------------
--AC_DEFUN([GUPNP_PROG_VAPIGEN],
--[AC_PATH_PROG([VAPIGEN], [vapigen], [])
-- AS_IF([test -z "$VAPIGEN"],
-- [AC_MSG_WARN([No Vala API Generator found. You will not be able to generate .vapi files.])],
-- [AS_IF([test -n "$1"],
-- [AC_MSG_CHECKING([$VAPIGEN is at least version $1])
-- am__vapigen_version=`$VAPIGEN --version | sed 's/Vala API Generator *//'`
-- AS_VERSION_COMPARE([$1], ["$am__vapigen_version"],
-- [AC_MSG_RESULT([yes])],
-- [AC_MSG_RESULT([yes])],
-- [AC_MSG_RESULT([no])
-- AC_MSG_WARN([Vala API Generator $1 not found.])
-- VAPIGEN=""
-- ])])])
--])
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb
deleted file mode 100644
index 3cafd69764..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.10.5.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Helpers for AV applications using DLNA"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://libgupnp-dlna/gupnp-dlna-profile.h;beginline=1;endline=22;md5=1b85459f65cb1e73a885ca137aab6274"
-
-DEPENDS = "libxml2 glib-2.0"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.10/${BPN}-${PV}.tar.xz \
- file://move_vapigen.patch \
-"
-SRC_URI[md5sum] = "2d0dc1e4189d0243ac3838ece1e8fea0"
-SRC_URI[sha256sum] = "123e368227c11d5c17fc1aa76cbdaffa345355eb51d172cd39fc74a5b468ff6a"
-
-inherit autotools pkgconfig gobject-introspection vala
-
-PACKAGECONFIG ?= "gstreamer"
-PACKAGECONFIG[gstreamer] = "--enable-gstreamer-metadata-backend,--disable-gstreamer-metadata-backend,gstreamer1.0 gstreamer1.0-plugins-base"
-
-FILES_${PN} += "${datadir}/gupnp-dlna-2.0/dlna-profiles"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.12.0.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.12.0.bb
new file mode 100644
index 0000000000..8dc5fce199
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-dlna_0.12.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Helpers for AV applications using DLNA"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://libgupnp-dlna/gupnp-dlna-profile.h;beginline=1;endline=22;md5=1b85459f65cb1e73a885ca137aab6274"
+
+DEPENDS = "libxml2 glib-2.0"
+
+SRC_URI = "http://download.gnome.org/sources/${BPN}/0.12/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "3d53b96f85bc5628d33e367ec9bf2adb38ef2b34d7ad0434a6ba0cf4ad9048e6"
+
+inherit meson pkgconfig gobject-introspection vala
+
+PACKAGECONFIG ?= "gstreamer"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer_backend=enabled,-Dgstreamer_backend=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
+
+FILES:${PN} += "${datadir}/gupnp-dlna-2.0/dlna-profiles"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch
deleted file mode 100644
index ff5a6d9c6c..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd/0001-Swtich-to-new-GUPnP-API.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From 63531558a16ac2334a59f627b2fca5576dcfbb2e Mon Sep 17 00:00:00 2001
-From: Jens Georg <mail@jensge.org>
-Date: Sat, 1 Dec 2018 21:33:21 +0100
-Subject: [PATCH] Swtich to new GUPnP API
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gupnp-igd/commit/63531558a16ac2334a59f627b2fca5576dcfbb2e]
----
- configure.ac | 2 +-
- gupnp-igd-1.0-uninstalled.pc.in | 2 +-
- gupnp-igd-1.0.pc.in | 2 +-
- libgupnp-igd/Makefile.am | 2 +-
- tests/gtest/gupnp-simple-igd.c | 6 ++++--
- 5 files changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f03921f..aa7f0ca 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -11,7 +11,7 @@ AC_STDC_HEADERS
- AC_PROG_LIBTOOL
- AC_FUNC_MMAP
-
--PKG_CHECK_MODULES(LIBGUPNP, glib-2.0 >= 2.26 gobject-2.0 >= 2.26 gssdp-1.0 gupnp-1.0 >= 0.18 gthread-2.0)
-+PKG_CHECK_MODULES(LIBGUPNP, glib-2.0 >= 2.26 gobject-2.0 >= 2.26 gssdp-1.2 gupnp-1.2 >= 0.18 gthread-2.0)
-
- # glib-genmarshal
- GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
-diff --git a/gupnp-igd-1.0-uninstalled.pc.in b/gupnp-igd-1.0-uninstalled.pc.in
-index 483956f..6db3bee 100644
---- a/gupnp-igd-1.0-uninstalled.pc.in
-+++ b/gupnp-igd-1.0-uninstalled.pc.in
-@@ -5,7 +5,7 @@ includedir=${pcfiledir}/
-
- Name: gupnp-igd-1.0
- Description: GUPnP Simple IGD library
--Requires: gupnp-1.0
-+Requires: gupnp-1.2
- Version: @VERSION@
- Libs: ${libdir}/libgupnp-av-1.0.la
- Cflags: -I${includedir}
-diff --git a/gupnp-igd-1.0.pc.in b/gupnp-igd-1.0.pc.in
-index 6660d63..aa74ed3 100644
---- a/gupnp-igd-1.0.pc.in
-+++ b/gupnp-igd-1.0.pc.in
-@@ -5,7 +5,7 @@ includedir=@includedir@
-
- Name: gupnp-igd-1.0
- Description: GUPnP Simple IGD library
--Requires: gupnp-1.0
-+Requires: gupnp-1.2
- Version: @VERSION@
- Libs: -L${libdir} -lgupnp-igd-1.0
- Cflags: -I${includedir}/gupnp-igd-1.0
-diff --git a/libgupnp-igd/Makefile.am b/libgupnp-igd/Makefile.am
-index fe020b5..e10d857 100644
---- a/libgupnp-igd/Makefile.am
-+++ b/libgupnp-igd/Makefile.am
-@@ -60,7 +60,7 @@ GUPnPIgd_1_0_gir_VERSION = 1.0
- GUPnPIgd_1_0_gir_LIBS = $(lib_LTLIBRARIES)
- GUPnPIgd_1_0_gir_FILES = $(libgupnp_igd_1_0_la_SOURCES) $(libgupnp_igd_inc_HEADERS)
- GUPnPIgd_1_0_gir_INCLUDES=GObject-2.0
--GUPnPIgd_1_0_gir_PACKAGES=gupnp-1.0
-+GUPnPIgd_1_0_gir_PACKAGES=gupnp-1.2
- GUPnPIgd_1_0_gir_CFLAGS=-I$(srcdir) -I$(top_srcdir)
-
- if HAVE_INTROSPECTION
-diff --git a/tests/gtest/gupnp-simple-igd.c b/tests/gtest/gupnp-simple-igd.c
-index 9b32b2a..d051d13 100644
---- a/tests/gtest/gupnp-simple-igd.c
-+++ b/tests/gtest/gupnp-simple-igd.c
-@@ -273,13 +273,14 @@ run_gupnp_simple_igd_test (GMainContext *mainctx, GUPnPSimpleIgd *igd,
- GUPnPDeviceInfo *subdev1;
- GUPnPDeviceInfo *subdev2;
- const gchar *xml_path = ".";
-+ GError *error = NULL;
-
- g_signal_connect (igd, "context-available",
- G_CALLBACK (ignore_non_localhost), NULL);
-
- if (mainctx)
- g_main_context_push_thread_default (mainctx);
-- context = gupnp_context_new (NULL, "lo", 0, NULL);
-+ context = gupnp_context_new ("lo", 0, NULL);
- g_assert (context);
-
- if (g_getenv ("XML_PATH"))
-@@ -293,8 +294,9 @@ run_gupnp_simple_igd_test (GMainContext *mainctx, GUPnPSimpleIgd *igd,
- gupnp_context_host_path (context, "WANPPPConnection.xml", "/WANPPPConnection.xml");
- */
-
-- dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml", xml_path);
-+ dev = gupnp_root_device_new (context, "InternetGatewayDevice.xml", xml_path, &error);
- g_assert (dev);
-+ g_assert (error == NULL);
-
- subdev1 = gupnp_device_info_get_device (GUPNP_DEVICE_INFO (dev),
- "urn:schemas-upnp-org:device:WANDevice:1");
---
-2.25.1
-
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb
deleted file mode 100644
index 1a98ace80c..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_0.2.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
- file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
-
-DEPENDS = "glib-2.0 gssdp gupnp sqlite3"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.2/${BPN}-${PV}.tar.xz \
- file://0001-Swtich-to-new-GUPnP-API.patch \
- "
-SRC_URI[md5sum] = "d164e096d0f140bb1f5d9503727b424a"
-SRC_URI[sha256sum] = "8b4a1aa38bacbcac2c1755153147ead7ee9af7d4d1f544b6577cfc35e10e3b20"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-EXTRA_OECONF = "--disable-python"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.6.0.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.6.0.bb
new file mode 100644
index 0000000000..d8dbc262cd
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-igd_1.6.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Helpers for interacting with Internet Gateway Devices over UPnP"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
+ file://libgupnp-igd/gupnp-simple-igd.c;beginline=1;endline=21;md5=aa292c0d9390463a6e1055dc5fc68e80"
+
+DEPENDS = "glib-2.0 gssdp gupnp"
+
+inherit gnomebase pkgconfig gtk-doc gobject-introspection
+
+SRC_URI[archive.sha256sum] = "4099978339ab22126d4968f2a332b6d094fc44c78797860781f1fc2f11771b74"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb
deleted file mode 100644
index bf84e7b73c..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.10.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Tools for GUPnP"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://src/network-light/main.c;beginline=1;endline=21;md5=2c39b3a000495dabd4932f231c7efed8"
-DEPENDS = "gupnp gupnp-av gtk+3 glib-2.0-native intltool-native"
-RRECOMMENDS_${PN} = "adwaita-icon-theme"
-
-SRC_URI = "http://download.gnome.org/sources/${BPN}/0.10/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "8c66d4aca756478615761a26ed7c8dba"
-SRC_URI[sha256sum] = "41da7ff5ba8e2425adcb64ca5e04c81f57ca20ec6fdb84923939fdad42c6a18d"
-inherit features_check meson pkgconfig gettext gtk-icon-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.12.1.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.12.1.bb
new file mode 100644
index 0000000000..4f6ff3fb97
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp-tools_0.12.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Tools for GUPnP"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "gupnp gssdp gtk+3 libsoup-3.0 libxml2 glib-2.0 "
+
+inherit gnomebase features_check pkgconfig gettext gtk-icon-cache
+
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
+
+SRC_URI[archive.sha256sum] = "53cf93123f397e8f8f0b8e9e4364c86a7502a5334f4c0be2e054a824478bd5ba"
+
+PACKAGECONFIG ??= "av-tools"
+PACKAGECONFIG[av-tools] = "-Dav-tools=true,-Dav-tools=false,gupnp-av"
+PACKAGECONFIG[gtksourceview] = ",,gtksourceview4"
+
+CFLAGS += "-Wno-deprecated-declarations"
+
+RRECOMMENDS:${PN} = "adwaita-icon-theme"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.7.bb b/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.7.bb
deleted file mode 100644
index 7ad594f02e..0000000000
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.2.7.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require gupnp.inc
-
-SRC_URI = "${GNOME_MIRROR}/${BPN}/1.2/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "8441276f1afd0176e6f595026a3a507eed1809abfa04026bad3f21622b3523ec"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
- file://libgupnp/gupnp.h;beginline=1;endline=20;md5=d78a69d9b6e63ee2dc72e7b674d97520"
diff --git a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc b/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.6.6.bb
index 2920581c51..f1628d82ee 100644
--- a/meta-multimedia/recipes-connectivity/gupnp/gupnp.inc
+++ b/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.6.6.bb
@@ -1,15 +1,13 @@
SUMMARY = "UPnP framework"
DESCRIPTION = "GUPnP is an elegant, object-oriented open source framework for creating UPnP devices and control points, written in C using GObject and libsoup. The GUPnP API is intended to be easy to use, efficient and flexible. It provides the same set of features as libupnp, but shields the developer from most of UPnP's internals."
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "e2fsprogs gssdp libsoup-2.4 libxml2"
+DEPENDS = "e2fsprogs gssdp libsoup-3.0 libxml2"
-inherit meson pkgconfig vala gobject-introspection
+inherit gnomebase pkgconfig vala gobject-introspection
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_${PN}-dev += "${bindir}/gupnp-binding-tool*"
-
-RDEPENDS_${PN}-dev = "python3 python3-xml"
+SRC_URI[archive.sha256sum] = "c9dc50e8c78b3792d1b0e6c5c5f52c93e9345d3dae2891e311a993a574f5a04f"
SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess"
@@ -17,3 +15,7 @@ gupnp_sysroot_preprocess () {
install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
install -m 755 ${D}${bindir}/gupnp-binding-tool* ${SYSROOT_DESTDIR}${bindir_crossscripts}/
}
+
+FILES:${PN}-dev += "${bindir}/gupnp-binding-tool*"
+
+RDEPENDS:${PN}-dev += "python3-core python3-xml"
diff --git a/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch b/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch
deleted file mode 100644
index ee78196779..0000000000
--- a/meta-multimedia/recipes-connectivity/libupnp/libupnp/0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 343a3b724225d3c87af0b268da14d3acb7a5b9a1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 May 2021 15:38:43 -0700
-Subject: [PATCH] ithread: Use
- pthread_mutexattr_gettype/pthread_mutexattr_settype on linux
-
-_np variants are not recommended anymore, and glibc 2.34+ will have
-these removed
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- upnp/inc/ithread.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/upnp/inc/ithread.h b/upnp/inc/ithread.h
-index f6800ea9..1d0f9dba 100644
---- a/upnp/inc/ithread.h
-+++ b/upnp/inc/ithread.h
-@@ -304,7 +304,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void)
- * Returns EINVAL if the kind is not supported.
- * See man page for pthread_mutexattr_setkind_np
- *****************************************************************************/
--#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__)
-+#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \
-+ || defined (__linux__)
- #define ithread_mutexattr_setkind_np pthread_mutexattr_settype
- #else
- #define ithread_mutexattr_setkind_np pthread_mutexattr_setkind_np
-@@ -329,7 +330,8 @@ static UPNP_INLINE int ithread_cleanup_thread(void)
- * Always returns 0.
- * See man page for pthread_mutexattr_getkind_np
- *****************************************************************************/
--#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__)
-+#if defined(PTHREAD_MUTEX_RECURSIVE) || defined(__DragonFly__) \
-+ || defined (__linux__)
- #define ithread_mutexattr_getkind_np pthread_mutexattr_gettype
- #else
- #define ithread_mutexattr_getkind_np pthread_mutexattr_getkind_np
---
-2.31.1
-
diff --git a/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb b/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb
index 81b42da412..5b15d18096 100644
--- a/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.6.bb
+++ b/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb
@@ -8,9 +8,8 @@ HOMEPAGE = "http://pupnp.sourceforge.net/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=394a0f17b97f33426275571e15920434"
-SRCREV = "cef2b23fb36baac091b0c7d41136b4c1d9549c6d"
+SRCREV = "c540ce2431bdeac73359029d4592b45790e1d154"
SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x \
- file://0001-ithread-Use-pthread_mutexattr_gettype-pthread_mutexa.patch \
"
S="${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb b/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb
deleted file mode 100644
index 01705a8f71..0000000000
--- a/meta-multimedia/recipes-connectivity/rygel/rygel_0.38.3.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "A UPnP AV media server and renderer"
-DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
-allow you to easily share audio, video and pictures to other devices. \
-Additionally, media player software may use Rygel to become a MediaRenderer \
-that may be controlled remotely by a UPnP or DLNA Controller."
-HOMEPAGE = "http://live.gnome.org/Rygel"
-
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 gstreamer1.0-plugins-base libgee libsoup-2.4 libmediaart-2.0 libunistring sqlite3 intltool-native"
-RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
-RRECOMMENDS_${PN} = "rygel-plugin-media-export"
-
-inherit gnomebase vala gobject-introspection gettext systemd features_check
-
-# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-
-SRC_URI[archive.md5sum] = "7f95401903a3f855b464d5152b9d4c07"
-SRC_URI[archive.sha256sum] = "08c21a577f7bdad26446a75ffa32778b26842c3b1188165f0b19818559747d00"
-
-EXTRA_OECONF = "--disable-tracker-plugin --with-media-engine=gstreamer"
-
-PACKAGECONFIG ?= "external mpris ruih media-export gst-launch"
-
-PACKAGECONFIG_append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
-
-PACKAGECONFIG[external] = "--enable-external-plugin,--disable-external-plugin"
-PACKAGECONFIG[mpris] = "--enable-mpris-plugin,--disable-mpris-plugin"
-PACKAGECONFIG[ruih] = "--enable-ruih-plugin,--disable-ruih-plugin"
-PACKAGECONFIG[media-export] = "--enable-media-export-plugin,--disable-media-export-plugin"
-PACKAGECONFIG[gst-launch] = "--enable-gst-launch-plugin,--disable-gst-launch-plugin"
-PACKAGECONFIG[gtk+3] = ",--without-ui,gtk+3"
-PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin"
-
-LIBV = "2.6"
-
-do_install_append() {
- # Remove .la files for loadable modules
- rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
- rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
- if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then
- mkdir -p ${D}${systemd_unitdir}/system
- mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
- rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \
- ${D}${nonarch_libdir}/systemd \
- ${D}${nonarch_libdir}
- fi
-}
-
-FILES_${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
-FILES_${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
-
-PACKAGES += "${PN}-meta"
-ALLOW_EMPTY_${PN}-meta = "1"
-
-PACKAGES_DYNAMIC = "${PN}-plugin-*"
-
-SYSTEMD_SERVICE_${PN} = "rygel.service"
-
-python populate_packages_prepend () {
- rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
- postinst = d.getVar('plugin_postinst')
- pkgs = []
-
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), 'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
- pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), '(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
-
- metapkg = d.getVar('PN') + '-meta'
- d.setVar('RDEPENDS_' + metapkg, ' '.join(pkgs))
-}
diff --git a/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb b/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb
new file mode 100644
index 0000000000..4fbdce0867
--- /dev/null
+++ b/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.4.bb
@@ -0,0 +1,92 @@
+SUMMARY = "A UPnP AV media server and renderer"
+DESCRIPTION = "Rygel is a home media solution (UPnP AV MediaServer) that \
+allow you to easily share audio, video and pictures to other devices. \
+Additionally, media player software may use Rygel to become a MediaRenderer \
+that may be controlled remotely by a UPnP or DLNA Controller."
+HOMEPAGE = "http://live.gnome.org/Rygel"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libxml2 glib-2.0 gssdp gupnp gupnp-av gupnp-dlna gstreamer1.0 \
+ gstreamer1.0-plugins-base libgee libsoup libmediaart-2.0 \
+ libunistring sqlite3 intltool-native gst-editing-services"
+
+RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback shared-mime-info"
+RRECOMMENDS:${PN} = "rygel-plugin-media-export"
+
+inherit gnomebase features_check vala gobject-introspection gettext systemd
+
+# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data x11"
+
+SRC_URI[archive.sha256sum] = "6310dfaa2d332b66119b9b020fad6a4bd27d9bc61faf780ca5ca0b62813303f7"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+EXTRA_OEMESON = "-Dengines=gstreamer -Dplugins=${@strip_comma('${RYGEL_PLUGINS}')}"
+PACKAGECONFIG:append = "${@bb.utils.contains("DISTRO_FEATURES", "x11", " gtk+3", "", d)}"
+
+PACKAGECONFIG ?= "external mpris ruih gst-launch"
+
+PACKAGECONFIG[external] = ""
+PACKAGECONFIG[mpris] = ""
+PACKAGECONFIG[ruih] = ""
+PACKAGECONFIG[media-export] = ""
+PACKAGECONFIG[gst-launch] = ""
+PACKAGECONFIG[lms] = ""
+PACKAGECONFIG[tracker3] = ""
+PACKAGECONFIG[gtk+3] = ",-Dgtk=disabled,gtk+3"
+
+RYGEL_PLUGINS = ""
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'mpris', ',mpris', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'ruih', ',ruih', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gst-launch', ',gst-launch', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lms', ',lms', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'media-export', ',media-export', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'tracker3', ',tracker3', '', d)}"
+RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'playbin', ',playbin', '', d)}"
+
+LIBV = "2.8"
+
+CFLAGS:append:toolchain-clang = " -Wno-error=int-conversion"
+
+def strip_comma(s):
+ return s.strip(',')
+
+do_install:append() {
+ # Remove .la files for loadable modules
+ rm -f ${D}/${libdir}/rygel-${LIBV}/engines/*.la
+ rm -f ${D}/${libdir}/rygel-${LIBV}/plugins/*.la
+ if [ -e ${D}${nonarch_libdir}/systemd/user/rygel.service ]; then
+ mkdir -p ${D}${systemd_unitdir}/system
+ mv ${D}${nonarch_libdir}/systemd/user/rygel.service ${D}${systemd_unitdir}/system
+ rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/user \
+ ${D}${nonarch_libdir}/systemd \
+ ${D}${nonarch_libdir}
+ fi
+}
+
+FILES:${PN} += "${libdir}/rygel-${LIBV}/engines ${datadir}/dbus-1 ${datadir}/icons"
+FILES:${PN}-dbg += "${libdir}/rygel-${LIBV}/engines/.debug ${libdir}/rygel-${LIBV}/plugins/.debug"
+
+PACKAGES += "${PN}-meta"
+ALLOW_EMPTY:${PN}-meta = "1"
+
+PACKAGES_DYNAMIC = "${PN}-plugin-*"
+
+SYSTEMD_SERVICE:${PN} = "rygel.service"
+
+python populate_packages:prepend () {
+ rygel_libdir = d.expand('${libdir}/rygel-${LIBV}')
+ postinst = d.getVar('plugin_postinst')
+ pkgs = []
+
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'librygel-(.*)\.so$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+ pkgs += do_split_packages(d, oe.path.join(rygel_libdir, "plugins"), r'(.*)\.plugin$', d.expand('${PN}-plugin-%s'), 'Rygel plugin for %s', postinst=postinst, extra_depends=d.expand('${PN}'))
+
+ metapkg = d.getVar('PN') + '-meta'
+ d.setVar('RDEPENDS:' + metapkg, ' '.join(pkgs))
+}
diff --git a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
index 5acdd7ebc7..8fbf9ab2c8 100644
--- a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
+++ b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb
@@ -1,15 +1,15 @@
SUMMARY = "OSCam: Open Source Conditional Access Module"
HOMEPAGE = "http://www.streamboard.tv/oscam/"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "libusb1 openssl pcsc-lite"
SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http \
"
-SRCREV = "11491"
-PV = "1.10+${SRCPV}"
+SRCREV = "11718"
+PV = "1.10+"
S = "${WORKDIR}/trunk"
@@ -17,3 +17,6 @@ inherit cmake
EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir} -DCMAKE_BUILD_TYPE=Debug"
+do_configure:append() {
+ sed -i -e '1 s|${TOPDIR}|<TOPDIR>|g' ${B}/config.c
+}
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
index 59bd4ef08f..c6e20b75e8 100644
--- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend/0001-adjust-for-64bit-time_t.patch
@@ -33,12 +33,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
}
--- a/src/epggrab/module/psip.c
+++ b/src/epggrab/module/psip.c
-@@ -383,14 +383,14 @@ _psip_eit_callback_channel
+@@ -223,14 +223,14 @@ _psip_eit_callback_channel
- tvhtrace(LS_PSIP, " %03d: [%s] eventid 0x%04x at %"PRItime_t", duration %d, title: '%s' (%d bytes)",
+ tvhtrace(LS_PSIP, " %03d: [%s] eventid 0x%04x at %"PRItime_t", duration %d, etmlocation %x, title: '%s' (%d bytes)",
i, ch ? channel_get_name(ch, channel_blank_name) : "(null)",
-- eventid, start, length,
-+ eventid, (intmax_t)start, length,
+- eventid, start, length, etmlocation,
++ eventid, (intmax_t)start, length, etmlocation,
lang_str_get(title, NULL), titlelen);
save2 = changes2 = 0;
@@ -146,12 +146,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
/* Failed */
--- a/src/epggrab/module/opentv.c
+++ b/src/epggrab/module/opentv.c
-@@ -486,7 +486,7 @@ opentv_parse_event_section_one
+@@ -497,7 +497,7 @@ opentv_parse_event_section_one
1, &save, &changes);
tvhdebug(LS_OPENTV, "find by time start %"PRItime_t " stop "
- "%"PRItime_t " eid %d = %p",
-- ev.start, ev.stop, ev.eid, ebc);
-+ (intmax_t)ev.start, (intmax_t)ev.stop, ev.eid, ebc);
+ "%"PRItime_t " ch %"PRId64" eid %d = %p",
+- ev.start, ev.stop, ch->ch_number, ev.eid, ebc);
++ (intmax_t)ev.start, (intmax_t)ev.stop, ch->ch_number, ev.eid, ebc);
save |= epg_broadcast_set_dvb_eid(ebc, ev.eid, &changes);
} else {
ebc = epg_broadcast_find_by_eid(ch, ev.eid);
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
index 82c2cbe086..2d79777001 100644
--- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -5,15 +5,15 @@ inherit autotools-brokensep gettext gitpkgv pkgconfig
DEPENDS = "avahi cmake-native dvb-apps libdvbcsa libpcre2 openssl uriparser zlib"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9cae5acac2e9ee2fc3aec01ac88ce5db"
-SRC_URI = "git://github.com/tvheadend/tvheadend.git \
+SRC_URI = "git://github.com/tvheadend/tvheadend.git;branch=master;protocol=https \
file://0001-adjust-for-64bit-time_t.patch \
"
-SRCREV = "ce09077056f9c6558c188d135cec3be85cc9c200"
-PV = "4.3+git${SRCPV}"
+SRCREV = "cc602833684953fc3e6f1c89d4f08f6dfef179e3"
+PV = "4.3+git"
PKGV = "4.3+git${GITPKGV}"
S = "${WORKDIR}/git"
@@ -23,7 +23,14 @@ EXTRA_OECONF += "--arch=${TARGET_ARCH} \
--disable-ffmpeg_static \
--disable-libav \
--python=python3 \
+ --disable-dvbscan \
"
+EXTRA_OECONF:append:libc-musl = " --disable-execinfo"
+
+EXTRA_OEMAKE = "CFLAGS_NO_WERROR=yes"
CLEANBROKEN = "1"
+do_configure:append() {
+ sed -i -e "s|${WORKDIR}|<TOPDIR>|g" ${B}/build.linux/build.c
+}
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch b/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
deleted file mode 100644
index a01c7544b6..0000000000
--- a/meta-multimedia/recipes-mkv/libebml/libebml/ldflags.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Use LD and obey LDFLAGS
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Upstream-Status: Pending
-
-diff --git a/make/linux/Makefile b/make/linux/Makefile
-index 391b6e3..a2ac13e 100644
---- a/make/linux/Makefile
-+++ b/make/linux/Makefile
-@@ -64,6 +64,7 @@ objects_so:=$(patsubst %$(EXTENSION),%.lo,$(sources))
- WARNINGFLAGS=-Wall -Wextra -Wno-unknown-pragmas -ansi -fno-gnu-keywords -Wshadow
- COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
- DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
-+LINKFLAGS=$(LDFLAGS)
-
- ifeq (Darwin,$(shell uname -s))
- all: staticlib
-@@ -91,7 +92,7 @@ $(LIBRARY): $(objects)
- $(RANLIB) $@
-
- $(LIBRARY_SO): $(objects_so)
-- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
-+ $(LD) $(LINKFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so)
- rm -f $(LIBRARY_SO)
- ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
-
-diff --git a/make/mingw32/Makefile b/make/mingw32/Makefile
-index e5986ef..6ca16aa 100644
---- a/make/mingw32/Makefile
-+++ b/make/mingw32/Makefile
-@@ -18,6 +18,7 @@ DEBUGFLAGS=-g -DDEBUG
- endif
- CROSS =
- CXX = $(CROSS)g++
-+LD = $(CXX)
- CC = $(CROSS)gcc
- WINDRES = $(CROSS)windres
- RANLIB = $(CROSS)ranlib
-@@ -33,6 +34,7 @@ LIBS = libebml.a
- endif
- INCS = -I"$(shell pwd)/../.."
- COMPILEFLAGS = $(DEBUGFLAGS) $(INCS) $(DLLFLAGS) $(CXXFLAGS)
-+LINKFLAGS = $(LDFLAGS)
-
- .PHONY: all all-before all-after clean clean-custom
-
-@@ -54,7 +56,7 @@ libebml.a: $(OBJ)
- $(RANLIB) $@
-
- libebml.dll: $(OBJ)
-- $(CXX) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
-+ $(LD) $(LINKFLAGS) -shared -Wl,--export-all -Wl,--out-implib=$@.a -o $@ $(OBJ)
-
- depend:
- @echo Calculating dependecies:
---
-2.8.0
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch b/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
deleted file mode 100644
index 57eb3450d6..0000000000
--- a/meta-multimedia/recipes-mkv/libebml/libebml/override-uname.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Allow override of the 'uname -s' for cross-compilation
-
-Signed-off-by: Christopher Larson <chris_larson@mentor.com>
-Upstream-Status: Pending
-
-diff --git a/make/linux/Makefile b/make/linux/Makefile
-index a2ac13e..4188bee 100644
---- a/make/linux/Makefile
-+++ b/make/linux/Makefile
-@@ -9,9 +9,11 @@
- # 'make DEBUG=yes'.
- #
-
-+TARGET_OS ?= $(shell uname -s)
-+
- # Paths
- # BeOS wants the libs and headers in /boot/home/config
--ifeq (BeOS,$(shell uname -s))
-+ifeq (BeOS,$(TARGET_OS))
- prefix=/boot/home/config
- else
- prefix=/usr/local
-@@ -66,7 +68,7 @@ COMPILEFLAGS=$(WARNINGFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEBUGFLAGS) $(INCLUDE)
- DEPENDFLAGS = $(CXXFLAGS) $(INCLUDE)
- LINKFLAGS=$(LDFLAGS)
-
--ifeq (Darwin,$(shell uname -s))
-+ifeq (Darwin,$(TARGET_OS))
- all: staticlib
- else
- all: staticlib sharedlib
-@@ -116,7 +118,7 @@ depend:
- $(CXX) $(DEPENDFLAGS) -MM -MT $$o $$i >> .depend ; \
- done
-
--ifeq (Darwin,$(shell uname -s))
-+ifeq (Darwin,$(TARGET_OS))
- install: install_staticlib install_headers
- else
- install: install_staticlib install_sharedlib install_headers
---
-2.8.0
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
deleted file mode 100644
index 16e17e9abe..0000000000
--- a/meta-multimedia/recipes-mkv/libebml/libebml_1.3.0.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "libebml is a C++ libary to parse EBML files"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-SRC_URI = "\
- http://dl.matroska.org/downloads/libebml/libebml-${PV}.tar.bz2 \
- file://ldflags.patch \
- file://override-uname.patch \
-"
-SRC_URI[md5sum] = "efec729bf5a51e649e1d9d1f61c0ae7a"
-SRC_URI[sha256sum] = "83b074d6b62715aa0080406ea84d33df2e44b5d874096640233a4db49b8096de"
-
-inherit dos2unix
-
-LIBEBML_OS = "Unknown"
-LIBEBML_OS_linux = "Linux"
-LIBEBML_OS_darwin = "Darwin"
-LIBEBML_OS_mingw32 = "Windows"
-
-EXTRA_OEMAKE = "\
- 'TARGET_OS=${LIBEBML_OS}' \
- \
- 'CXX=${CXX}' \
- 'LD=${CXX}' \
- 'AR=${AR}' \
- 'RANLIB=${RANLIB}' \
- \
- 'DEBUGFLAGS=' \
- 'CPPFLAGS=${CPPFLAGS}' \
- 'CXXFLAGS=${CXXFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
- \
- 'prefix=${prefix}' \
- 'libdir=${libdir}' \
- 'includedir=${includedir}/ebml' \
-"
-
-do_compile () {
- oe_runmake -C make/linux
-}
-
-do_install() {
- cd ${S}/make/linux
-
- install -d ${D}${libdir}
- install -m 0644 libebml.a ${D}${libdir}
- install -m 0755 libebml.so.* ${D}${libdir}
- cp -R --no-dereference --preserve=mode,links -v libebml.so ${D}${libdir}
-
- install -d ${D}${includedir}/ebml
- for i in ../../ebml/*.h; do
- install -m 0644 $i ${D}${includedir}/ebml
- done
-
- install -d ${D}${includedir}/ebml/c
- for i in ../../ebml/c/*.h; do
- install -m 0644 $i ${D}${includedir}/ebml/c
- done
-}
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb
new file mode 100644
index 0000000000..6803806063
--- /dev/null
+++ b/meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb
@@ -0,0 +1,14 @@
+SUMMARY = "C++ library to parse EBML files"
+HOMEPAGE = "https://github.com/Matroska-Org/libebml"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/Matroska-Org/libebml.git;branch=v1.x;protocol=https"
+SRCREV = "1878e784321673561039a6a37076b2736f4dc98f"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake dos2unix
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
+
diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch b/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch
deleted file mode 100644
index 90e997561a..0000000000
--- a/meta-multimedia/recipes-mkv/libmatroska/libmatroska/0001-Makefile-Use-LINKFLAGS-during-link-step.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f0c879097c331d1dabe6ee92b583a8badb62ea6d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 18 Mar 2017 08:26:35 -0700
-Subject: [PATCH] Makefile: Use LINKFLAGS during link step
-
-Adds much needed GNU_HASH section into the .so
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- make/linux/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/make/linux/Makefile b/make/linux/Makefile
-index 3ca7b0f..b5c9645 100644
---- a/make/linux/Makefile
-+++ b/make/linux/Makefile
-@@ -104,7 +104,7 @@ $(LIBRARY): $(objects)
- $(RANLIB) $@
-
- $(LIBRARY_SO): $(objects_so)
-- $(CXX) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -lebml
-+ $(CXX) $(LINKFLAGS) -shared -Wl,-soname,$(LIBRARY_SO_VER) -o $(LIBRARY_SO_VER) $(objects_so) -lebml
- rm -f $(LIBRARY_SO)
- ln -s $(LIBRARY_SO_VER) $(LIBRARY_SO)
-
---
-2.12.0
-
diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
deleted file mode 100644
index fdffa41ec5..0000000000
--- a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.4.1.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "libebml"
-
-SRC_URI = "http://dl.matroska.org/downloads/${BPN}/${BPN}-${PV}.tar.bz2 \
- file://0001-Makefile-Use-LINKFLAGS-during-link-step.patch \
- "
-SRC_URI[md5sum] = "f61b2e5086f4bb9d24a43cc8af43a719"
-SRC_URI[sha256sum] = "086f21873e925679babdabf793c3bb85c353d0cd79423543a3355e08e8a4efb7"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-do_compile() {
- cd ${S}/make/linux
- oe_runmake CROSS="${TARGET_PREFIX}"
-}
-
-do_install() {
- cd ${S}/make/linux
-
- install -d ${D}${libdir}
- install -m 0644 libmatroska.a ${D}${libdir}
- install -m 0755 libmatroska.so.* ${D}${libdir}
- cp -R --no-dereference --preserve=mode,links -v libmatroska.so ${D}${libdir}
-
- install -d ${D}${includedir}/matroska
- for i in ../../matroska/*.h; do
- install -m 0644 $i ${D}${includedir}/matroska
- done
-
- install -d ${D}${includedir}/matroska/c
- for i in ../../matroska/c/*.h; do
- install -m 0644 $i ${D}${includedir}/matroska/c
- done
-}
diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb
new file mode 100644
index 0000000000..16862e690e
--- /dev/null
+++ b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "C++ library to parse and create Matroska files(.mkv and .mka)"
+HOMEPAGE = "https://github.com/Matroska-Org/libmatroska"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libebml"
+
+SRC_URI = "git://github.com/Matroska-Org/libmatroska.git;branch=v1.x;protocol=https"
+SRCREV = "f5315fddda2d434e47035c038549a808d8b8eac7"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake
+
+#Static library enabled by default. It has been added in case you want to use it dynamically.
+#EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
diff --git a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
index 3bed70e1a1..b5c8ddca11 100644
--- a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
+++ b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "A real-time adjustable equalizer plugin for ALSA"
HOMEPAGE = "https://web.archive.org/web/20161105202833/http://thedigitalmachine.net/alsaequal.html"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
DEPENDS = "alsa-lib"
@@ -36,9 +36,9 @@ do_install() {
install -Dm 0644 libasound_module_pcm_equal.so ${D}${libdir}/alsa-lib/libasound_module_pcm_equal.so
}
-RDEPENDS_${PN} += " \
+RDEPENDS:${PN} += " \
alsa-utils \
caps \
"
-FILES_${PN} = "${libdir}/alsa-lib/"
+FILES:${PN} = "${libdir}/alsa-lib/"
diff --git a/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch b/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch
new file mode 100644
index 0000000000..8a8350ec57
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch
@@ -0,0 +1,109 @@
+From 35c1ed84a158354c37e329bad0e236b156836ac7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 May 2023 14:59:26 -0700
+Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing
+ functions
+
+Fixes build with clang-15
+aom_dsp/arm/subpel_variance_neon.c:121:10: error: call to undeclared function 'aom_variance8x8_neon'; ISO C99 and later do not support implicit function dec
+larations [-Wimplicit-function-declaration]
+| return aom_variance8x8_neon(temp2, 8, dst, dst_stride, sse);
+| ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ aom_dsp/arm/subpel_variance_neon.c | 76 ++++++++++++++++++++++++++++++
+ 1 file changed, 76 insertions(+)
+
+diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c
+index a05886066c4..ea6bada224d 100644
+--- a/aom_dsp/arm/subpel_variance_neon.c
++++ b/aom_dsp/arm/subpel_variance_neon.c
+@@ -20,6 +20,82 @@
+ #include "aom_dsp/variance.h"
+ #include "aom_dsp/arm/mem_neon.h"
+
++extern unsigned int aom_variance8x8_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance16x16_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance16x32_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance16x64_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance32x8_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance32x16_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance32x32_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance32x64_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance32x128_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance64x8_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance64x16_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance64x32_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance64x64_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance64x128_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance128x8_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance128x16_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance128x32_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance128x64_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
++extern unsigned int aom_variance128x128_neon(const uint8_t *a, int a_stride,
++ const uint8_t *b, int b_stride,
++ unsigned int *sse);
++
+ static void var_filter_block2d_bil_w4(const uint8_t *src_ptr, uint8_t *dst_ptr,
+ int src_stride, int pixel_step,
+ int dst_height, int filter_offset) {
+--
+2.40.1
+
diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb
deleted file mode 100644
index f5a42fb860..0000000000
--- a/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Alliance for Open Media - AV1 Codec Library"
-DESCRIPTION = "Alliance for Open Media AV1 codec library"
-
-LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
- file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \
- "
-
-SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https"
-
-SRCREV = "307ce06ed82d93885ee8ed53e152c9268ac0d98d"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-DEPENDS = " yasm-native"
-
-EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
- -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \
- "
-
-EXTRA_OECMAKE_append_arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}"
diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb
new file mode 100644
index 0000000000..776dfa8783
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Alliance for Open Media - AV1 Codec Library"
+DESCRIPTION = "Alliance for Open Media AV1 codec library"
+
+LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
+ file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \
+ "
+SRCREV = "6054fae218eda6e53e1e3b4f7ef0fff4877c7bf1"
+SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \
+ file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+DEPENDS = " nasm-native"
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
+ -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \
+ "
+CMAKE_VERBOSE = "VERBOSE=1"
+CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
+EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF"
+
+do_generate_toolchain_file:append() {
+ echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake
+}
diff --git a/meta-multimedia/recipes-multimedia/aravis/aravis_0.8.31.bb b/meta-multimedia/recipes-multimedia/aravis/aravis_0.8.31.bb
new file mode 100644
index 0000000000..b5d7772e79
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/aravis/aravis_0.8.31.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A vision library for genicam based cameras"
+DESCRIPTION = "\
+ Aravis is a glib/gobject based library for video acquisition using Genicam cameras.\
+ It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras.\
+ It also provides a basic ethernet camera simulator and a simple video viewer.\
+"
+AUTHOR = "Emmanuel Pacaud"
+HOMEPAGE = "https://github.com/AravisProject/aravis"
+LICENSE = "LGPL-2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS += "\
+ glib-2.0 \
+ glib-2.0-native \
+ libxml2 \
+ zlib \
+"
+
+SRC_URI = "https://github.com/AravisProject/aravis/releases/download/${PV}/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "9c4ebe6273ed3abe466cb6ed8fa5c132bdd7e9a9298ca43fa0212c4311a084da"
+
+EXTRA_OEMESON += "-Dtests=false"
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GIDOCGEN_MESON_OPTION = "documentation"
+GIDOCGEN_MESON_ENABLE_FLAG = "enabled"
+GIDOCGEN_MESON_DISABLE_FLAG = "disabled"
+
+inherit meson pkgconfig gi-docgen gobject-introspection
+
+PACKAGECONFIG ?= "gstreamer usb viewer"
+PACKAGECONFIG[gstreamer] = "-Dgst-plugin=enabled, -Dgst-plugin=disabled,gstreamer1.0 gstreamer1.0-plugins-base,"
+PACKAGECONFIG[usb] = "-Dusb=enabled, -Dusb=disabled, libusb1,"
+PACKAGECONFIG[viewer] = "-Dviewer=enabled, -Dviewer=disabled, gtk+3 gstreamer1.0-plugins-base,"
+
+FILES:${PN} += "\
+ ${datadir} \
+ ${libdir}/gstreamer-1.0/libgstaravis.0.8.so \
+"
diff --git a/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
new file mode 100644
index 0000000000..5007c88fff
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
@@ -0,0 +1,66 @@
+SUMMARY = "Bluetooth Audio ALSA Backend"
+HOMEPAGE = "https://github.com/Arkq/bluez-alsa"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8449a4f133a93f6254b496d4fb476e83"
+
+SRC_URI = "git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master"
+
+SRCREV = "dd05a1baa261b94da9ba977b5e3392c8b4dc7a5e"
+PV = "4.0.0+git"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "alsa-lib bluez5 dbus glib-2.0 sbc"
+
+PACKAGECONFIG ??= "aplay cli hcitop ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[a2dpconf] = "--enable-a2dpconf,--disable-a2dpconf"
+PACKAGECONFIG[aac] = "--enable-aac,--disable-aac,fdk-aac"
+PACKAGECONFIG[aplay] = "--enable-aplay,--disable-aplay"
+PACKAGECONFIG[cli] = "--enable-cli,--disable-cli"
+PACKAGECONFIG[coverage] = "--with-coverage,--without-coverage,lcov-native"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
+PACKAGECONFIG[debug-time] = "--enable-debug-time,--disable-debug-time"
+PACKAGECONFIG[faststream] = "--enable-faststream,--disable-faststream"
+PACKAGECONFIG[hcitop] = "--enable-hcitop,--disable-hcitop,libbsd ncurses"
+PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
+PACKAGECONFIG[mp3lame] = "--enable-mp3lame,--disable-mp3lame,lame"
+PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123,mpg123"
+PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono,ofono"
+PACKAGECONFIG[payloadcheck] = "--enable-payloadcheck,--disable-payloadcheck"
+PACKAGECONFIG[rfcomm] = "--enable-rfcomm,--disable-rfcomm"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir} \
+ --with-systemdbluealsaargs='${SYSTEMD_BLUEALSA_ARGS}' --with-systemdbluealsaaplayargs='${SYSTEMD_BLUEALSA_APLAY_ARGS}',--disable-systemd,systemd"
+PACKAGECONFIG[test] = "--enable-test,--disable-test,libcheck libsndfile1"
+PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,,upower"
+
+inherit autotools pkgconfig systemd
+
+EXTRA_OECONF = " \
+ --disable-aptx \
+ --disable-lc3plus \
+ --disable-ldac \
+ --disable-manpages \
+"
+
+PACKAGE_BEFORE_PN = "${PN}-aplay"
+RRECOMMENDS:${PN} = "${PN}-aplay"
+
+FILES:${PN}-aplay = "${bindir}/bluealsa-aplay"
+FILES:${PN} += "${libdir}/alsa-lib/*"
+
+SYSTEMD_PACKAGES += "${PN}-aplay"
+SYSTEMD_SERVICE:${PN} = "bluealsa.service"
+SYSTEMD_SERVICE:${PN}-aplay = "bluealsa-aplay.service"
+
+SYSTEMD_AUTO_ENABLE:${PN}-aplay = "disable"
+
+# Choose bluez-alsa arguments to be used in bluealsa systemd service
+# Usually could choose profiles with it: a2dp-source a2dp-sink hfp-hf hfp-ag hsp-hs hsp-ag hfp-ofono
+# Enable bluez-alsa arguments by default:
+SYSTEMD_BLUEALSA_ARGS ?= "-p a2dp-source -p a2dp-sink"
+
+# Choose bluealsa-aplay arguments to be used in bluealsa-aplay systemd service
+# Defaults to be empty:
+SYSTEMD_BLUEALSA_APLAY_ARGS ?= ""
diff --git a/meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch b/meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch
index 1087b0e79c..528bd153dd 100644
--- a/meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch
+++ b/meta-multimedia/recipes-multimedia/caps/caps/0001-basic.h-Use-c99-supported-stdint-types.patch
@@ -5,6 +5,7 @@ Subject: [PATCH] basic.h: Use c99 supported stdint types
include stdint.h for getting the definitions for int types
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
basics.h | 17 +++++++++--------
diff --git a/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch b/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch
index 3abd381891..6e34a8a984 100644
--- a/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch
+++ b/meta-multimedia/recipes-multimedia/caps/caps/append_ldflags.patch
@@ -1,7 +1,8 @@
Change the order of linker flags such that -shared is appearig after -pie/-fpie
this helps in building the package when secuiry flags are enabled
--Khem
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: caps-0.9.24/Makefile
===================================================================
diff --git a/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb b/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb
index 46bcf6c6a5..f33d7ad582 100644
--- a/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb
+++ b/meta-multimedia/recipes-multimedia/caps/caps_0.9.26.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "The CAPS Audio Plugin Suite - LADSPA plugin suite"
HOMEPAGE = "http://quitte.de/dsp/caps.html"
-LICENSE = "GPL-3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "http://quitte.de/dsp/${BPN}_${PV}.tar.bz2 \
@@ -24,4 +24,4 @@ do_install() {
install -Dm 0644 caps.so ${D}${libdir}/ladspa/caps.so
}
-FILES_${PN} = "${libdir}/ladspa/"
+FILES:${PN} = "${libdir}/ladspa/"
diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
index 27fa0e5855..0b844ee7d3 100644
--- a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
+++ b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
@@ -4,7 +4,7 @@ error corrections, hence the name paranoia."
HOMEPAGE = "https://www.xiph.org/"
SECTION = "multimedia"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING-LGPL;md5=d370feaa1c9edcdbd29ca27ea3d2304d"
SRC_URI = "http://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${PV}.src.tgz \
diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch
index 682cf6e033..0451a453a3 100644
--- a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch
+++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-check-for-null-buffer-before-trying-a-byteswap.patch
@@ -8,6 +8,7 @@ Author: Monty <paranoia@xiph.org>
Patch from debian
http://sources.debian.net/src/cdparanoia/3.10.2%2Bdebian-11/debian/patches/04-endian.patch
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
interface/interface.c | 2 +-
diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch
index 7699017f77..b364a3b2a7 100644
--- a/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch
+++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0001-utils-Use-c99-compiler-independent-types.patch
@@ -5,6 +5,7 @@ Subject: [PATCH] utils: Use c99 compiler independent types
Make it portable across different platforms
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
utils.h | 13 +++++++------
diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch
index 024479ca7d..ea30559384 100644
--- a/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch
+++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/0002-Fix-printf-format-errors.patch
@@ -5,6 +5,7 @@ Subject: [PATCH 2/2] Fix printf format errors
error: format not a string literal and no format arguments
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
main.c | 4 ++--
diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch
index 9b268b7ed6..2738ba70e8 100644
--- a/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch
+++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/dont-use-internal-configs.patch
@@ -1,3 +1,8 @@
+Fix build on aarch64
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
Index: cdparanoia-III-10.2/configure.in
===================================================================
--- cdparanoia-III-10.2.orig/configure.in
diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch b/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch
index 06ee82099d..96c5dda31c 100644
--- a/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch
+++ b/meta-multimedia/recipes-multimedia/cdparanoia/files/out-of-tree-build.patch
@@ -1,3 +1,8 @@
+Fix build out of tree builds
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
Index: cdparanoia-III-10.2/Makefile.in
===================================================================
--- cdparanoia-III-10.2.orig/Makefile.in
diff --git a/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.1.bb b/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.1.bb
new file mode 100644
index 0000000000..08607acd85
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "dav1d AV1 decoder"
+DESCRIPTION = "Targeted to be small, portable and fast."
+HOMEPAGE = "https://code.videolan.org/videolan/dav1d"
+SECTION = "multimedia"
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8055cfe7548dfdaa3a6dc45d8793669"
+
+SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;branch=master"
+SRCREV = "872e470ebf3e65b0b956f3a70329e885a2df1c2a"
+
+S = "${WORKDIR}/git"
+
+DEPENDS:append:x86 = " nasm-native"
+DEPENDS:append:x86-64 = " nasm-native"
+
+inherit meson pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb b/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
index 1a51abc360..ddd4c26efe 100644
--- a/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
+++ b/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
@@ -1,10 +1,10 @@
SUMMARY = "DTS Coherent Acoustics decoder with support for HD extensions"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c"
SRCREV = "b93deed1a231dd6dd7e39b9fe7d2abe05aa00158"
-SRC_URI = "git://github.com/foo86/dcadec.git;protocol=https \
+SRC_URI = "git://github.com/foo86/dcadec.git;protocol=https;branch=master \
file://0001-define-BASELIB-make-variable.patch \
"
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
index f23bc6ca81..bed5af9bf3 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
@@ -1,18 +1,20 @@
SUMMARY = "D-Bus connector for dLeyna libraries"
HOMEPAGE = "https://01.org/dleyna/"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://src/connector-dbus.c;endline=21;md5=0a1695cef53beefc36651de439f643b5"
DEPENDS = "glib-2.0 dbus dleyna-core"
-SRC_URI = "git://github.com/01org/${BPN}.git"
+SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https"
SRCREV = "de913c35e5c936e2d40ddbd276ee902cd802bd3a"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-FILES_${PN} += "${libdir}/dleyna-1.0/connectors/*.so"
-FILES_${PN}-dev += "${libdir}/dleyna-1.0/connectors/*.la"
-FILES_${PN}-dbg += "${libdir}/dleyna-1.0/connectors/.debug/*.so"
+FILES:${PN} += "${libdir}/dleyna-1.0/connectors/*.so"
+FILES:${PN}-dev += "${libdir}/dleyna-1.0/connectors/*.la"
+FILES:${PN}-dbg += "${libdir}/dleyna-1.0/connectors/.debug/*.so"
+
+SKIP_RECIPE[dleyna-connector-dbus] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
index 8939cd36e2..8aaab7893e 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
@@ -5,16 +5,18 @@ e.g., dleyna-server. In brief, it provides APIs for logging, error, settings \
and task management and an IPC asbstraction API."
HOMEPAGE = "https://01.org/dleyna/"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://libdleyna/core/core.c;endline=21;md5=68602998351825b0844aae34c684c54e"
DEPENDS = "glib-2.0 gupnp"
-PV .= "+git${SRCPV}"
+PV .= "+git"
-SRC_URI = "git://github.com/01org/${BPN}.git"
+SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https"
SRCREV = "1c6853f5bc697dc0a8774fd70dbc915c4dbe7c5b"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
+
+SKIP_RECIPE[dleyna-core] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
index 642f21bd53..a385a50de7 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
@@ -4,14 +4,14 @@ that allow clients to discover and manipulate Digital Media Renderers. \
An implementation of such a service for linux is also included."
HOMEPAGE = "https://01.org/dleyna/"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://libdleyna/renderer/server.c;endline=21;md5=f51acd4757fb6a779a87122c43cf1346"
DEPENDS = "glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4 dleyna-core"
-RDEPENDS_${PN} = "dleyna-connector-dbus"
+RDEPENDS:${PN} = "dleyna-connector-dbus"
-SRC_URI = "git://github.com/01org/${BPN}.git \
+SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https \
file://0001-add-gupnp-1.2-API-support.patch \
"
SRCREV = "50fd1ec9d51328e7dea98874129dc8d6fe3ea1dd"
@@ -21,5 +21,7 @@ inherit autotools pkgconfig
CFLAGS += " -I${S}"
-FILES_${PN} += "${datadir}/dbus-1"
-FILES_${PN}-dev += "${libdir}/${PN}/*.so"
+FILES:${PN} += "${datadir}/dbus-1"
+FILES:${PN}-dev += "${libdir}/${BPN}/*.so"
+
+SKIP_RECIPE[dleyna-renderer] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
index e31b7aea2a..b0a347f252 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
@@ -4,19 +4,21 @@ allow clients to discover, browse and manipulate Digital Media Servers. \
An implementation of such a service for linux is also included."
HOMEPAGE = "https://01.org/dleyna/"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://libdleyna/server/server.c;endline=22;md5=437455d8aeff69ebd0996a76c67397bb"
DEPENDS = "glib-2.0 gssdp gupnp gupnp-av gupnp-dlna libsoup-2.4 libxml2 dleyna-core"
-RDEPENDS_${PN} = "dleyna-connector-dbus"
+RDEPENDS:${PN} = "dleyna-connector-dbus"
-PV .= "+git${SRCPV}"
-SRC_URI = "git://github.com/01org/${BPN}.git"
+PV .= "+git"
+SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https"
SRCREV = "eb895ae82715e9889a948ffa810c0f828b4f4c76"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-FILES_${PN} += "${datadir}/dbus-1"
-FILES_${PN}-dev += "${libdir}/${PN}/*.so"
+FILES:${PN} += "${datadir}/dbus-1"
+FILES:${PN}-dev += "${libdir}/${BPN}/*.so"
+
+SKIP_RECIPE[dleyna-server] ?= "Upstream is dead moreover needs porting to work with latest gupnp >= 1.2"
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb
new file mode 100644
index 0000000000..542ad3487b
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb
@@ -0,0 +1,99 @@
+SUMMARY = "Linux DVB API applications and utilities"
+HOMEPAGE = "http://www.linuxtv.org"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://www.linuxtv.org/hg/dvb-apps/archive/3d43b280298c.tar.bz2;downloadfilename=${BPN}-3d43b280298c.tar.bz2 \
+ file://dvb-scan-table \
+ file://0001-Fix-generate-keynames.patch \
+ file://0003-handle-static-shared-only-build.patch \
+ file://0004-Makefile-remove-test.patch \
+ file://0005-libucsi-optimization-removal.patch \
+ file://0006-CA_SET_PID.patch \
+ file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \
+ "
+SRC_URI[sha256sum] = "f39e2f0ebed7e32bce83522062ad4d414f67fccd5df1b647618524497e15e057"
+S = "${WORKDIR}/${BPN}-3d43b280298c"
+
+inherit perlnative
+
+export enable_static="no"
+
+export PERL_USE_UNSAFE_INC = "1"
+
+do_configure() {
+ sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh
+}
+do_install() {
+ make DESTDIR=${D} install
+ install -d ${D}/${bindir}
+ install -d ${D}/${docdir}/dvb-apps
+ install -d ${D}/${docdir}/dvb-apps/scan
+ install -d ${D}/${docdir}/dvb-apps/szap
+ chmod a+rx ${D}/${libdir}/*.so*
+ cp -R --no-dereference --preserve=mode,links ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/
+ cp -R --no-dereference --preserve=mode,links ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/
+ cp -R --no-dereference --preserve=mode,links ${WORKDIR}/dvb-scan-table/* ${D}/usr/share/dvb
+}
+
+PACKAGES =+ "dvb-evtest dvb-evtest-dbg \
+ dvbapp-tests dvbapp-tests-dbg \
+ dvbdate dvbdate-dbg \
+ dvbtraffic dvbtraffic-dbg \
+ dvbnet dvbnet-dbg \
+ dvb-scan dvb-scan-dbg dvb-scan-data \
+ dvb-azap dvb-azap-dbg \
+ dvb-czap dvb-czap-dbg \
+ dvb-szap dvb-szap-dbg \
+ dvb-tzap dvb-tzap-dbg \
+ dvb-femon dvb-femon-dbg \
+ dvb-zap-data"
+PACKAGES =+ "libdvbapi libdvbcfg libdvben50221 \
+ libesg libucsi libdvbsec"
+
+RDEPENDS:dvbdate =+ "libdvbapi libucsi"
+RDEPENDS:dvbtraffic =+ "libdvbapi"
+RDEPENDS:dvb-scan =+ "libdvbapi libdvbcfg libdvbsec"
+RDEPENDS:dvb-apps =+ "libdvbapi libdvbcfg libdvbsec libdvben50221 libucsi"
+RDEPENDS:dvb-femon =+ "libdvbapi"
+RDEPENDS:dvbnet =+ "libdvbapi"
+
+RCONFLICTS:dvb-evtest = "evtest"
+
+FILES:${PN} = "${bindir} ${datadir}/dvb"
+FILES:${PN}-doc = ""
+FILES:${PN}-dev = "${includedir}"
+FILES:dvb-evtest = "${bindir}/evtest"
+FILES:dvb-evtest-dbg = "${bindir}/.debug/evtest"
+FILES:dvbapp-tests = "${bindir}/*test* "
+FILES:dvbapp-tests-dbg = "${bindir}/.debug/*test*"
+FILES:dvbdate = "${bindir}/dvbdate"
+FILES:dvbdate-dbg = "${bindir}/.debug/dvbdate"
+FILES:dvbtraffic = "${bindir}/dvbtraffic"
+FILES:dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic"
+FILES:dvbnet = "${bindir}/dvbnet"
+FILES:dvbnet-dbg = "${bindir}/.debug/dvbnet"
+FILES:dvb-scan = "${bindir}/*scan "
+FILES:dvb-scan-dbg = "${bindir}/.debug/*scan"
+FILES:dvb-scan-data = "${docdir}/dvb-apps/scan"
+FILES:dvb-azap = "${bindir}/azap"
+FILES:dvb-azap-dbg = "${bindir}/.debug/azap"
+FILES:dvb-czap = "${bindir}/czap"
+FILES:dvb-czap-dbg = "${bindir}/.debug/czap"
+FILES:dvb-szap = "${bindir}/szap"
+FILES:dvb-szap-dbg = "${bindir}/.debug/szap"
+FILES:dvb-tzap = "${bindir}/tzap"
+FILES:dvb-tzap-dbg = "${bindir}/.debug/tzap"
+FILES:dvb-femon = "${bindir}/femon"
+FILES:dvb-femon-dbg = "${bindir}/.debug/femon"
+FILES:dvb-zap-data = "${docdir}/dvb-apps/szap"
+
+python populate_packages:prepend () {
+ dvb_libdir = bb.data.expand('${libdir}', d)
+ do_split_packages(d, dvb_libdir, r'^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True)
+ do_split_packages(d, dvb_libdir, r'^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, dvb_libdir, r'^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, dvb_libdir, r'^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True)
+}
+
+TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
deleted file mode 100644
index 977a9e7922..0000000000
--- a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb
+++ /dev/null
@@ -1,103 +0,0 @@
-SUMMARY = "Linux DVB API applications and utilities"
-HOMEPAGE = "http://www.linuxtv.org"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRCREV = "3d43b280298c39a67d1d889e01e173f52c12da35"
-
-SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \
- file://dvb-scan-table \
- file://0001-Fix-generate-keynames.patch \
- file://0003-handle-static-shared-only-build.patch \
- file://0004-Makefile-remove-test.patch \
- file://0005-libucsi-optimization-removal.patch \
- file://0006-CA_SET_PID.patch \
- file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \
- "
-
-S = "${WORKDIR}/${BPN}"
-
-inherit perlnative
-
-export enable_static="no"
-
-export PERL_USE_UNSAFE_INC = "1"
-
-do_configure() {
- sed -i -e s:/usr/include:${STAGING_INCDIR}:g util/av7110_loadkeys/generate-keynames.sh
-}
-do_install() {
- make DESTDIR=${D} install
- install -d ${D}/${bindir}
- install -d ${D}/${docdir}/dvb-apps
- install -d ${D}/${docdir}/dvb-apps/scan
- install -d ${D}/${docdir}/dvb-apps/szap
- chmod a+rx ${D}/${libdir}/*.so*
- cp -R --no-dereference --preserve=mode,links ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/
- cp -R --no-dereference --preserve=mode,links ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/
- cp -R --no-dereference --preserve=mode,links ${WORKDIR}/dvb-scan-table/* ${D}/usr/share/dvb
-}
-
-PACKAGES =+ "dvb-evtest dvb-evtest-dbg \
- dvbapp-tests dvbapp-tests-dbg \
- dvbdate dvbdate-dbg \
- dvbtraffic dvbtraffic-dbg \
- dvbnet dvbnet-dbg \
- dvb-scan dvb-scan-dbg dvb-scan-data \
- dvb-azap dvb-azap-dbg \
- dvb-czap dvb-czap-dbg \
- dvb-szap dvb-szap-dbg \
- dvb-tzap dvb-tzap-dbg \
- dvb-femon dvb-femon-dbg \
- dvb-zap-data"
-PACKAGES =+ "libdvbapi libdvbcfg libdvben50221 \
- libesg libucsi libdvbsec"
-
-RDEPENDS_dvbdate =+ "libdvbapi libucsi"
-RDEPENDS_dvbtraffic =+ "libdvbapi"
-RDEPENDS_dvb-scan =+ "libdvbapi libdvbcfg libdvbsec"
-RDEPENDS_dvb-apps =+ "libdvbapi libdvbcfg libdvbsec libdvben50221 libucsi"
-RDEPENDS_dvb-femon =+ "libdvbapi"
-RDEPENDS_dvbnet =+ "libdvbapi"
-
-RCONFLICTS_dvb-evtest = "evtest"
-
-FILES_${PN} = "${bindir} ${datadir}/dvb"
-FILES_${PN}-doc = ""
-FILES_${PN}-dev = "${includedir}"
-FILES_dvb-evtest = "${bindir}/evtest"
-FILES_dvb-evtest-dbg = "${bindir}/.debug/evtest"
-FILES_dvbapp-tests = "${bindir}/*test* "
-FILES_dvbapp-tests-dbg = "${bindir}/.debug/*test*"
-FILES_dvbdate = "${bindir}/dvbdate"
-FILES_dvbdate-dbg = "${bindir}/.debug/dvbdate"
-FILES_dvbtraffic = "${bindir}/dvbtraffic"
-FILES_dvbtraffic-dbg = "${bindir}/.debug/dvbtraffic"
-FILES_dvbnet = "${bindir}/dvbnet"
-FILES_dvbnet-dbg = "${bindir}/.debug/dvbnet"
-FILES_dvb-scan = "${bindir}/*scan "
-FILES_dvb-scan-dbg = "${bindir}/.debug/*scan"
-FILES_dvb-scan-data = "${docdir}/dvb-apps/scan"
-FILES_dvb-azap = "${bindir}/azap"
-FILES_dvb-azap-dbg = "${bindir}/.debug/azap"
-FILES_dvb-czap = "${bindir}/czap"
-FILES_dvb-czap-dbg = "${bindir}/.debug/czap"
-FILES_dvb-szap = "${bindir}/szap"
-FILES_dvb-szap-dbg = "${bindir}/.debug/szap"
-FILES_dvb-tzap = "${bindir}/tzap"
-FILES_dvb-tzap-dbg = "${bindir}/.debug/tzap"
-FILES_dvb-femon = "${bindir}/femon"
-FILES_dvb-femon-dbg = "${bindir}/.debug/femon"
-FILES_dvb-zap-data = "${docdir}/dvb-apps/szap"
-
-python populate_packages_prepend () {
- dvb_libdir = bb.data.expand('${libdir}', d)
- do_split_packages(d, dvb_libdir, '^lib(.*)\.so$', 'lib%s', 'DVB %s package', extra_depends='', allow_links=True)
- do_split_packages(d, dvb_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, dvb_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'DVB %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, dvb_libdir, '^lib(.*)\.so\.*', 'lib%s', 'DVB %s library', extra_depends='', allow_links=True)
-}
-
-INSANE_SKIP_${PN} = "ldflags"
-INSANE_SKIP_${PN}-dev = "ldflags"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch b/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch
index 498607d97d..f3d14354b4 100644
--- a/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-Fix-generate-keynames.patch
@@ -5,6 +5,7 @@ symbols. However, when cross-compiling, the include path points
somewhere else. Allow the user to pass CROSS_ROOT to point to the
root of the cross-compilation environment.
+Upstream-Status: Inappropriate [Cross-compile specific]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
diff -rup dvb-apps-83c746462ccb.orig/util/av7110_loadkeys/generate-keynames.sh dvb-apps-83c746462ccb/util/av7110_loadkeys/generate-keynames.sh
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch b/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
index 9035b56f4a..8ff1e029b0 100644
--- a/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch
@@ -6,27 +6,23 @@ Subject: [PATCH] dvbdate: Remove Obsoleted stime API calls
stime() has been deprecated in glibc 2.31+ its recommended to
replaced with clock_settime()
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
util/dvbdate/dvbdate.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/util/dvbdate/dvbdate.c b/util/dvbdate/dvbdate.c
-index f0df437..492ed79 100644
--- a/util/dvbdate/dvbdate.c
+++ b/util/dvbdate/dvbdate.c
-@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsigned int to)
+@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsi
*/
int set_time(time_t * new_time)
{
- if (stime(new_time)) {
-+ struct timespec ts;
-+ ts.tv_sec = &new_time;
-+ ts.tv_nsec = 0;
-+ if (clock_settime(CLOCK_REALTIME, &ts)) {
++ struct timespec s = {0};
++ s.tv_sec = *new_time;
++
++ if (clock_settime(CLOCK_REALTIME, &s)) {
perror("Unable to set time");
return -1;
}
---
-2.24.1
-
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch b/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch
index 4dc7c68ac2..ce51084c97 100644
--- a/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/files/0003-handle-static-shared-only-build.patch
@@ -6,6 +6,7 @@ Subject: [PATCH] Make.rules: Handle static/shared only build
Do not build .a library when enable_static is set to "no"
Do not build .so library when enable_shared is set to "no"
+Upstream-Status: Pending
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
Make.rules | 10 ++++++++--
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch b/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch
index 45bfad914c..6ec5b08ccc 100644
--- a/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/files/0004-Makefile-remove-test.patch
@@ -5,6 +5,7 @@ Subject: [PATCH] Makefile: remove test
Tests needs static libraries, remove them for shared only build.
+Upstream-Status: Inappropriate [Cross-compile specific]
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
Makefile | 1 -
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch b/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch
index f12d35bc7e..dbb848c72c 100644
--- a/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/files/0005-libucsi-optimization-removal.patch
@@ -1,3 +1,8 @@
+Use -O1 with gcc > 6
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
diff -r 3d43b280298c lib/libucsi/endianops.h
--- a/lib/libucsi/endianops.h Fri Mar 21 20:26:36 2014 +0100
+++ b/lib/libucsi/endianops.h Fri Jan 19 06:56:15 2018 +0000
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch b/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch
index e100c659e7..59abd32a01 100644
--- a/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/files/0006-CA_SET_PID.patch
@@ -1,3 +1,7 @@
+Fix build with newer than 4.14 kernels
+
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
Index: dvb-apps/util/dst-utils/dst_test.c
===================================================================
--- dvb-apps.orig/util/dst-utils/dst_test.c
diff --git a/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb b/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb
index 278bda9ff5..1663548b22 100644
--- a/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb
+++ b/meta-multimedia/recipes-multimedia/faac/faac_1.29.9.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "Freeware Advanced Audio Coder (MPEG2-AAC, MPEG4-AAC)"
SECTION = "libs"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.0-or-later"
HOMEPAGE = "http://www.audiocoding.com/faac.html"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://libfaac/coder.h;beginline=5;endline=17;md5=fa1fd6a5fa8cdc877d63a12530d273e0"
@@ -18,9 +18,9 @@ SRC_URI[sha256sum] = "d45f209d837c49dae6deebcdd87b8cc3b04ea290880358faecf5e77377
PACKAGES =+ "lib${BPN} lib${BPN}-dev"
-FILES_${PN} = " ${bindir}/faac "
-FILES_lib${BPN} = " ${libdir}/*.so.*"
-FILES_lib${BPN}-dev = " \
+FILES:${PN} = " ${bindir}/faac "
+FILES:lib${BPN} = " ${libdir}/*.so.*"
+FILES:lib${BPN}-dev = " \
${includedir} \
${libdir}/*.so \
${libdir}/*.la \
diff --git a/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb b/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb
index d7911681c7..55475b40f1 100644
--- a/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.1.bb
+++ b/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb
@@ -11,8 +11,8 @@ LICENSE = "Fraunhofer_FDK_AAC_Codec_Library_for_Android"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://NOTICE;md5=5985e1e12f4afa710d64ed7bfd291875"
-SRC_URI = "git://github.com/mstorsjo/fdk-aac.git;protocol=git;branch=master"
-SRCREV = "d387d3b6ed79ff9a82c60440bdd86e6e5e324bec"
+SRC_URI = "git://github.com/mstorsjo/fdk-aac.git;protocol=https;branch=master"
+SRCREV = "801f67f671929311e0c9952c5f92d6e147c7b003"
S = "${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb b/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
new file mode 100644
index 0000000000..0a7680a8c4
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Flite: a small run-time speech synthesis engine"
+HOMEPAGE = "http://cmuflite.org"
+SECTION = "libs/multimedia"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b3b732d1349633a53e69356607fd2d6c"
+
+inherit autotools-brokensep
+
+DEPENDS += "alsa-lib chrpath-replacement-native"
+
+SRC_URI = "git://github.com/festvox/flite.git;protocol=https;branch=master"
+
+SRCREV = "e9e2e37c329dbe98bfeb27a1828ef9a71fa84f88"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--enable-shared"
+
+do_configure:append() {
+ sed -i '/$(INSTALL) -m 755 $(BINDIR)\/flite_time $(DESTDIR)$(INSTALLBINDIR)/d' ${S}/main/Makefile
+}
+
+do_install:append() {
+ chown -R root:root ${D}${libdir}/*
+}
+# | make[1]: *** No rule to make target 'flite_voice_list.c', needed by 'all'. Stop.
+PARALLEL_MAKE = ""
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb
deleted file mode 100644
index a95c4c42a8..0000000000
--- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require ${BPN}.inc
-
-inherit native
-
-OECMAKE_SOURCEPATH = "${S}/src/gentables"
-
-do_install() {
- install -d ${D}/${bindir}
- install -m 755 ${B}/make_tables.exe ${D}/${bindir}/
-}
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
deleted file mode 100644
index 51101e8e6d..0000000000
--- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Fluidsynth is a software synthesizer"
-HOMEPAGE = "http://www.fluidsynth.org/"
-SECTION = "libs/multimedia"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
-
-SRC_URI = "git://github.com/FluidSynth/fluidsynth.git"
-SRCREV = "fc21d284dc7fcacdbc456f30228110a55e6e79f6"
-S = "${WORKDIR}/git"
-PV = "2.2.2"
-
-inherit cmake pkgconfig lib_package
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch
deleted file mode 100644
index cc73bdb1d9..0000000000
--- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 81ea820b155e887b13ea5986c3407cf93b2737f6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Wed, 2 Jan 2019 18:42:46 +0100
-Subject: [PATCH] Do not build gentables helper - we have to use native variant
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- src/CMakeLists.txt | 23 +----------------------
- 1 file changed, 1 insertion(+), 22 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 356bb734..58ff7635 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -399,25 +399,4 @@ else ( MACOSX_FRAMEWORK )
- install ( FILES ${public_main_HEADER} DESTINATION ${INCLUDE_INSTALL_DIR} )
- endif ( MACOSX_FRAMEWORK )
-
--# ******* Auto Generated Lookup Tables ******
--
--include(ExternalProject)
--
--set (GENTAB_SDIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables)
--set (GENTAB_BDIR ${CMAKE_CURRENT_BINARY_DIR}/gentables)
--
--# Use external project to ensure that cmake uses the host compiler when building make_tables.exe
--# To fix cross-compiling fluidsynth from Win32 to ARM (using vcpkg), we need to pass the current generator
--# on to the external project, otherwise (for some unknown reason) the target compiler will be used rather
--# than the host compiler.
--ExternalProject_Add(gentables
-- DOWNLOAD_COMMAND ""
-- SOURCE_DIR ${GENTAB_SDIR}
-- BINARY_DIR ${GENTAB_BDIR}
-- CONFIGURE_COMMAND
-- "${CMAKE_COMMAND}" -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE} -G "${CMAKE_GENERATOR}" -B "${GENTAB_BDIR}" "${GENTAB_SDIR}"
-- BUILD_COMMAND
-- "${CMAKE_COMMAND}" --build "${GENTAB_BDIR}"
-- INSTALL_COMMAND ${GENTAB_BDIR}/make_tables.exe "${CMAKE_BINARY_DIR}/"
--)
--add_dependencies(libfluidsynth-OBJ gentables)
-+
---
-2.21.1
-
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb
new file mode 100644
index 0000000000..dc05832e80
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Fluidsynth is a software synthesizer"
+HOMEPAGE = "http://www.fluidsynth.org/"
+SECTION = "libs/multimedia"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594"
+
+DEPENDS = "glib-2.0"
+
+SRC_URI = " \
+ git://github.com/FluidSynth/fluidsynth.git;branch=master;protocol=https \
+ file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \
+ file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
+"
+SRCREV = "5ecdc4568e45123216c6888892caad07918ef127"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig lib_package
+
+EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/pkgconfig/fluidsynth.pc
+ sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/fluidsynth/FluidSynthTargets.cmake
+}
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio pipewire systemd alsa dbus', d)}"
+PACKAGECONFIG[alsa] = "-Denable-alsa=ON,-Denable-alsa=OFF,alsa-lib"
+PACKAGECONFIG[dbus] = "-Denable-dbus=ON,-Denable-dbus=OFF,dbus"
+PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack"
+PACKAGECONFIG[oss] = "-Denable-oss=ON,-Denable-oss=OFF"
+PACKAGECONFIG[pipewire] = "-Denable-pipewire=ON,-Denable-pipewire=OFF,pipewire"
+PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
+PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF"
+PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
+PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline"
+PACKAGECONFIG[sdl] = "-Denable-sdl2=ON,-Denable-sdl2=OFF,libsdl2"
+PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1"
+PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd"
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
deleted file mode 100644
index ba1ef6b1fc..0000000000
--- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require ${BPN}.inc
-
-DEPENDS = "${BPN}-native alsa-lib ncurses glib-2.0"
-
-SRC_URI += " \
- file://0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch \
- file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \
- file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
-"
-
-EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
-
-do_configure_append() {
- make_tables.exe ${B}/
-}
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
-PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1"
-PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack"
-PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
-PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19"
-PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF"
-PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline"
diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-include-optional-header.patch b/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-include-optional-header.patch
deleted file mode 100644
index f3197f937b..0000000000
--- a/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-include-optional-header.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5719ed8ce9ba60beb9c1670b49296b1c66430dc2 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Mar 2021 12:57:37 -0800
-Subject: [PATCH] include <optional> header
-
-Fixes build with gcc11
-/src/util/tools.h:165:6: error: 'optional' in na
-mespace 'std' does not name a template type
-| 165 | std::optional<std::vector<std::byte>> readBinaryFile(const fs::path& path);
-| | ^~~~~~~~
-
-Upstream-Status: Submitted [https://github.com/gerbera/gerbera/pull/1273]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/util/tools.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/util/tools.h b/src/util/tools.h
-index 3a4064e9..e5142966 100644
---- a/src/util/tools.h
-+++ b/src/util/tools.h
-@@ -37,6 +37,7 @@
- #include <sstream>
- #include <string>
- #include <unordered_set>
-+#include <optional>
- #include <vector>
- namespace fs = std::filesystem;
-
---
-2.30.1
-
diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb b/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb
deleted file mode 100644
index d4242aa062..0000000000
--- a/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.7.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-Description = "Gerbera - An UPnP media server"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8"
-
-SRC_URI = "git://github.com/v00d00/gerbera.git;protocol=https \
- file://0001-include-optional-header.patch \
- "
-
-SRCREV = "7bc33b98994411e1748d3b3fa9a8424c49e236d6"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "expat fmt spdlog pugixml libebml libmatroska zlib curl libupnp e2fsprogs sqlite3 libnsl2"
-
-SYSTEMD_SERVICE_${PN} = "gerbera.service"
-
-inherit cmake systemd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd"
-PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib"
-EXTRA_OECMAKE = "-DWITH_JS=FALSE -DWITH_MAGIC=FALSE -DWITH_EXIF=FALSE -DLIBUUID_INCLUDE_DIRS=${STAGING_INCDIR} -DLIBUUID_LIBRARIES=-luuid"
-
-do_install_append() {
- install -d ${D}/root/.config/
-}
-
-FILES_${PN} += "/root/.config/"
-
-SECURITY_CFLAGS_riscv64 = "${SECURITY_NOPIE_CFLAGS}"
diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera_2.0.0.bb b/meta-multimedia/recipes-multimedia/gerbera/gerbera_2.0.0.bb
new file mode 100644
index 0000000000..fea14fd840
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/gerbera/gerbera_2.0.0.bb
@@ -0,0 +1,30 @@
+Description = "Gerbera is a UPnP media server which allows you to stream your digital media through your home network and consume it on a variety of UPnP compatible devices."
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8"
+
+SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master"
+SRCREV = "2f26e656b16fb86132f27d1f8d47c6055041430d"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "pugixml sqlite3 zlib fmt spdlog util-linux-libuuid libupnp libnsl2"
+
+SYSTEMD_SERVICE:${PN} = "gerbera.service"
+
+inherit cmake pkgconfig systemd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} curl taglib inotify exif matroska magic js"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=TRUE,-DWITH_SYSTEMD=FALSE,systemd"
+PACKAGECONFIG[taglib] = "-DWITH_TAGLIB=TRUE,-DWITH_TAGLIB=FALSE,taglib"
+PACKAGECONFIG[curl] = "-DWITH_CURL=TRUE,-DWITH_CURL=FALSE,curl"
+PACKAGECONFIG[inotify] = "-DWITH_INOTIFY=TRUE,-DWITH_INOTIFY=FALSE,inotify-tools"
+PACKAGECONFIG[avcodec] = "-DWITH_AVCODEC=TRUE,-DWITH_AVCODEC=FALSE,ffmpeg"
+PACKAGECONFIG[wavpack] = "-DWITH_WAVPACK=TRUE,-DWITH_WAVPACK=FALSE,wavpack"
+PACKAGECONFIG[exif] = "-DWITH_EXIF=TRUE,-DWITH_EXIF=FALSE,libexif"
+PACKAGECONFIG[exiv2] = "-DWITH_EXIV2=TRUE,-DWITH_EXIV2=FALSE,exiv2"
+PACKAGECONFIG[matroska] = "-DWITH_MATROSKA=TRUE,-DWITH_MATROSKA=FALSE,libebml libmatroska"
+PACKAGECONFIG[magic] = "-DWITH_MAGIC=TRUE,-DWITH_MAGIC=FALSE,file"
+PACKAGECONFIG[js] = "-DWITH_JS=TRUE,-DWITH_JS=FALSE,duktape"
+
+SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}"
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark/0001-tracers-Fix-buffer-overflow.patch b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark/0001-tracers-Fix-buffer-overflow.patch
new file mode 100644
index 0000000000..1d85e51d6b
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark/0001-tracers-Fix-buffer-overflow.patch
@@ -0,0 +1,33 @@
+From d84807ec6d6f8511e4ec939a745d4d7bb35c3cfb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Feb 2022 09:22:48 -0800
+Subject: [PATCH] tracers: Fix buffer overflow
+
+Fixes
+| ../../../git/plugins/tracers/gstcpuusagecompute.c:106:9: error: 'fscanf' may overflow; destination buffer in argument 3 has size 8, but the corresponding specifier may require size 9 [-Werror,-Wfortify-sour
+ce]
+| cpu_name, &user[0], &nice[0], &system[0], &idle[0], &iowait, &irq,
+| ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/tracers/gstcpuusagecompute.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/tracers/gstcpuusagecompute.c b/plugins/tracers/gstcpuusagecompute.c
+index 39255fb..00bae66 100644
+--- a/plugins/tracers/gstcpuusagecompute.c
++++ b/plugins/tracers/gstcpuusagecompute.c
+@@ -69,7 +69,7 @@ gst_cpu_usage_compute (GstCPUUsage * cpu_usage)
+ gint *idle;
+ gint *idle_aux;
+
+- gchar cpu_name[CPU_NAME_MAX_SIZE];
++ gchar cpu_name[CPU_NAME_MAX_SIZE+1];
+ gint iowait; /* Time waiting for I/O to complete */
+ gint irq; /* Time servicing interrupts */
+ gint softirq; /* Time servicing softirqs */
+--
+2.35.1
+
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
index 94d05def3e..dc43bed63b 100644
--- a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_git.bb
+++ b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
@@ -2,34 +2,33 @@ SUMMARY = "Gst-Shark Tracers"
DESCRIPTION = "Benchmarks and profiling tools for GStreamer"
HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=GstShark"
SECTION = "multimedia"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=e1caa368743492879002ad032445fa97"
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad "
SRCBRANCH ?= "master"
-PV = "0.7.2"
-
-SRCREV_base = "50e3dbd3b131de2a39d3917576e8f834631ec46b"
-SRCREV_common = "88e512ca7197a45c4114f7fa993108f23245bf50"
-
+SRCREV = "09ba05865dacd2824b5b40ab75a4b9545fcc1366"
+SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
+SRCREV_FORMAT = "default_common"
SRC_URI = " \
- git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH};name=base \
- git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;destsuffix=git/common;name=common; \
- "
+ git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH} \
+ git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;branch=master;destsuffix=git/common;name=common \
+ file://0001-tracers-Fix-buffer-overflow.patch \
+"
S = "${WORKDIR}/git"
EXTRA_OECONF += " \
- --disable-graphviz \
- --enable-gtk-doc=no \
+ --disable-graphviz \
+ --enable-gtk-doc=no \
"
-FILES_${PN} += "\
- ${libdir}/gstreamer-1.0/libgstsharktracers.so \
- ${libdir}/gstreamer-1.0/libgstsharktracers.la \
+FILES:${PN} += "\
+ ${libdir}/gstreamer-1.0/libgstsharktracers.so \
+ ${libdir}/gstreamer-1.0/libgstsharktracers.la \
"
-inherit autotools gettext
+inherit autotools gettext pkgconfig gtk-doc
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
deleted file mode 100644
index c1c88999a5..0000000000
--- a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-yocto-compatibility.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From eaf51d6420c63713f62025583681007c3502d387 Mon Sep 17 00:00:00 2001
-From: Carlos <carlos.rodriguez@ridgerun.com>
-Date: Fri, 15 Dec 2017 10:14:05 -0600
-Subject: [PATCH] gstd:yocto compatibility
-
----
- gstd/Makefile.am | 2 +-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
---- a/gstd/Makefile.am
-+++ b/gstd/Makefile.am
-@@ -74,7 +74,7 @@ gstd_CFLAGS = $(GST_CFLAGS) \
- -DGSTD_LOG_STATE_DIR=\"$(gstdlogstatedir)\" \
- -DGSTD_RUN_STATE_DIR=\"$(gstdrunstatedir)\"
-
--gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS) -Wl,-rpath -Wl,$(libdir)
-+gstd_LDFLAGS = $(GST_LIBS) $(GIO_LIBS) $(GIO_UNIX_LIBS) $(GJSON_LIBS) $(LIBD_LIBS)
- gstd_LDADD = libgstd-core.la
-
- gstdincludedir = $(includedir)/gstd
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
index 1834a83661..87792491ae 100644
--- a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
+++ b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
@@ -2,32 +2,39 @@ DESCRIPTION = "Gstreamer Daemon"
SUMMARY = "GStreamer framework for controlling audio and video streaming using TCP connection messages"
HOMEPAGE = "https://developer.ridgerun.com/wiki/index.php?title=Gstd-1.0"
SECTION = "multimedia"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c71b653a0f608a58cdc5693ae57126bc"
-DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon jansson"
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon libsoup-2.4 jansson"
SRCBRANCH ?= "master"
-SRCREV = "a6621a5778b234651aa2adbbe304d906a3fa64d1"
-SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \
- file://0001-gstd-yocto-compatibility.patch \
- "
+SRCREV = "a011affa67f240cbc7aaff5b00fdfd6124bdaece"
+SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
# Remove the +really when upstream version is > 1.0
-PV = "1.0+really0.8.0"
+PV = "1.0+really0.15.0"
-inherit autotools pkgconfig gettext gtk-doc
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
-do_install_append() {
- rm -fr ${D}${localstatedir}/run ${D}/run ${D}${bindir}/gst-client ${D}${bindir}/gstd-client
+inherit meson pkgconfig gettext gtk-doc python3native python3-dir python3targetconfig
+
+do_install:append() {
+ rmdir ${D}${exec_prefix}${localstatedir}/run/${BPN} ${D}${exec_prefix}${localstatedir}/run \
+ ${D}${exec_prefix}${localstatedir}/log/${BPN} ${D}${exec_prefix}${localstatedir}/log \
+ ${D}${exec_prefix}${localstatedir}
+ rm -f ${D}${bindir}/gst-client ${D}${bindir}/gstd-client
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/tmpfiles.d
echo "d /run/${BPN} - - - -" \
> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
- echo "d /${localstatedir}/log/${BPN} 0755 root root -" \
+ echo "d ${localstatedir}/log/${BPN} 0755 root root -" \
>> ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf
fi
ln -sf gst-client-1.0 ${D}${bindir}/gst-client
ln -sf gst-client-1.0 ${D}${bindir}/gstd-client
}
+PACKAGES =+ "${PN}-python"
+
+FILES:${PN} += "${systemd_user_unitdir}"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-all.bb
index 9f2fda9fef..dc76265a9b 100644
--- a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image.bb
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-all.bb
@@ -1,3 +1,3 @@
-require meta-multimedia-image-base.bb
+require recipes-core/images/core-image-base.bb
IMAGE_INSTALL += "packagegroup-meta-multimedia"
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb
deleted file mode 100644
index 249f989a4b..0000000000
--- a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-multimedia build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb
new file mode 100644
index 0000000000..8accba1bff
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Recipe to trigger execution of all meta-multimedia ptest images."
+HOMEPAGE = "https://www.openembedded.org/"
+
+LICENSE = "MIT"
+
+inherit features_check nopackages
+REQUIRED_DISTRO_FEATURES = "ptest"
+
+require conf/include/ptest-packagelists-meta-multimedia.inc
+
+# Include the full set of ptests
+PTESTS_META_MULTIMEDIA = "${PTESTS_FAST_META_MULTIMEDIA} ${PTESTS_SLOW_META_MULTIMEDIA} ${PTESTS_PROBLEMS_META_MULTIMEDIA}"
+
+do_testimage[noexec] = "1"
+do_testimage[depends] = "${@' '.join(['meta-multimedia-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}"
+
+do_build[depends] = "${@' '.join(['meta-multimedia-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}"
+
+# normally image.bbclass would do this
+EXCLUDE_FROM_WORLD = "1"
+
+python () {
+ if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d):
+ bb.build.addtask("do_testimage", "", "", d)
+}
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb
new file mode 100644
index 0000000000..6abd1a9ea3
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-fast.bb
@@ -0,0 +1,5 @@
+require meta-multimedia-image-ptest-all.bb
+
+DESCRIPTION = "Recipe to trigger execution of all fast meta-multimedia ptest images."
+
+PTESTS_META_MULTIMEDIA = "${PTESTS_FAST_META_MULTIMEDIA}"
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb
new file mode 100644
index 0000000000..887396d4cc
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest.bb
@@ -0,0 +1,40 @@
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "ptest"
+
+require recipes-core/images/core-image-minimal.bb
+require conf/include/ptest-packagelists-meta-multimedia.inc
+
+SUMMARY = "meta-multimedia ptest test image"
+
+DESCRIPTION += "Also including the ${MCNAME} ptest package."
+HOMEPAGE = "https://www.openembedded.org/"
+
+PTESTS_META_MULTIMEDIA = "${PTESTS_SLOW_META_MULTIMEDIA} ${PTESTS_FAST_META_MULTIMEDIA} ${PTESTS_PROBLEMS_META_MULTIMEDIA}"
+
+IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
+
+BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}"
+
+# The image can be sufficiently large (~1.8GB) that we need to be careful that it fits in a live
+# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
+# box) and explicitly add up to 1500MB.
+IMAGE_OVERHEAD_FACTOR = "1.0"
+IMAGE_ROOTFS_EXTRA_SPACE = "324288"
+# If a particular ptest needs more space, it can be customized:
+#IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288"
+
+# ptests need more memory than standard to avoid the OOM killer
+QB_MEM = "-m 1024"
+# If a particular ptest needs more memroy, it can be customized:
+#QB_MEM:virtclass-mcextend-<pn> = "-m 4096"
+
+TEST_SUITES = "ping ssh parselogs ptest"
+
+# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
+PTEST_EXPECT_FAILURE = "1"
+
+python () {
+ if not d.getVar("MCNAME"):
+ raise bb.parse.SkipRecipe("No class extension set")
+}
+
diff --git a/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb b/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
index 04501e97c9..bc2e858b42 100644
--- a/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
+++ b/meta-multimedia/recipes-multimedia/images/multimedia-libcamera-image.bb
@@ -4,14 +4,14 @@
DESCRIPTION = "libcamera image"
LICENSE = "MIT"
-require meta-multimedia-image.bb
+require meta-multimedia-image-all.bb
IMAGE_INSTALL += " \
kernel-modules \
xkeyboard-config \
"
-IMAGE_INSTALL_append = "\
+IMAGE_INSTALL:append = "\
libcamera \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-base \
diff --git a/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-multimedia/recipes-multimedia/juce/projucer.inc
index 9f03cbd80f..b60cba1dd6 100644
--- a/meta-multimedia/recipes-multimedia/juce/projucer.inc
+++ b/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -3,23 +3,26 @@ DESCRIPTION = "Projucer is used to build and generate support files and build in
JUCE supported platforms, including Linux and Embedded Linux."
SECTION = "utils"
HOMEPAGE = "http://juce.com/"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=12e9c2db7897c0349a4cc1c6d2a8c5d5"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eff9da77cdb81a803f8cbca6c16801d8"
+
+LICENSE_FLAGS = "commercial"
inherit pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "libx11 libxext libxinerama libxrandr libxcursor freetype alsa-lib curl bzip2 libpng harfbuzz glib-2.0 libpcre"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
-SRCREV = "90e8da0cfb54ac593cdbed74c3d0c9b09bad3a9f"
+SRCREV = "2f980209cc4091a4490bb1bafc5d530f16834e58"
BRANCH = "master"
SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \
-"
+ file://0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch \
+ "
S = "${WORKDIR}/git"
-PV = "6.0.8"
+PV = "6.1.6"
JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds"
JUCE_PROJUCER_MAKEFILE_PATH = "${JUCE_PROJUCER_BUILD_PATH}/LinuxMakefile"
@@ -30,11 +33,11 @@ JUCE_PROJUCER = "${JUCE_PROJUCER_MAKEFILE_PATH}/build/Projucer"
# not work on cross builds
EXTRA_OEMAKE = "V=1 JUCE_ARCH_LABEL=${TARGET_ARCH} TARGET_ARCH='-g'"
-LDFLAGS_append_mipsarcho32 = " -latomic"
-LDFLAGS_append_powerpc = " -latomic"
-LDFLAGS_append_riscv64 = " -latomic"
-LDFLAGS_append_riscv32 = " -latomic"
-LDFLAGS_append_armv5 = " -latomic"
+LDFLAGS:append:mipsarcho32 = " -latomic"
+LDFLAGS:append:powerpc = " -latomic"
+LDFLAGS:append:riscv64 = " -latomic"
+LDFLAGS:append:riscv32 = " -latomic"
+LDFLAGS:append:armv5 = " -latomic"
do_configure() {
cd ${JUCE_PROJUCER_MAKEFILE_PATH}
@@ -51,4 +54,4 @@ do_install() {
install -m 0755 ${JUCE_PROJUCER} ${D}${bindir}
}
# error: '_NL_IDENTIFICATION_LANGUAGE' was not declared in this scope
-COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST:libc-musl = "null"
diff --git a/meta-multimedia/recipes-multimedia/juce/projucer/0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch b/meta-multimedia/recipes-multimedia/juce/projucer/0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch
new file mode 100644
index 0000000000..3efef247ae
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/juce/projucer/0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch
@@ -0,0 +1,21 @@
+From 85822fcb87dd531d5e8ed1c8230c67bddb56f66d Mon Sep 17 00:00:00 2001
+From: reuk <reuk@users.noreply.github.com>
+Date: Wed, 6 Apr 2022 15:43:09 +0100
+Subject: [PATCH] StandardHeader: Include <utility> for GCC 12 compatibility
+
+Upstream-Status: Backport [https://github.com/juce-framework/JUCE/commit/ce8aff22c31c4d932a8414bc6f6185381dc970db]
+Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
+---
+ modules/juce_core/system/juce_StandardHeader.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/modules/juce_core/system/juce_StandardHeader.h
++++ b/modules/juce_core/system/juce_StandardHeader.h
+@@ -64,6 +64,7 @@
+ #include <typeindex>
+ #include <unordered_map>
+ #include <unordered_set>
++#include <utility>
+ #include <vector>
+ #include <set>
+
diff --git a/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb b/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
index 05134614a5..b30f398e87 100644
--- a/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
+++ b/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "Libao is a cross-platform audio library that allows programs to \
SECTION = "multimedia"
HOMEPAGE = "https://www.xiph.org/ao/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI="http://downloads.xiph.org/releases/ao/${BP}.tar.gz"
@@ -16,18 +16,18 @@ inherit autotools
PACKAGES += "${BPN}-ckport"
PACKAGES_DYNAMIC += "^${BPN}-plugin-.*"
-do_install_append () {
+do_install:append () {
find "${D}" -name '*.la' -exec rm -f {} +
}
-python populate_packages_prepend () {
+python populate_packages:prepend () {
rootdir = bb.data.expand('${libdir}/ao/plugins-4', d)
rootdir_dbg = bb.data.expand('${libdir}/ao/plugins-4/.debug', d)
- do_split_packages(d, rootdir, '^(.*)\.so$', output_pattern='${BPN}-plugin-%s', description='AO %s plugin')
- do_split_packages(d, rootdir_dbg, '^(.*)\.so$', output_pattern='${BPN}-plugin-%s-dbg', description='AO %s plugin debug data')
+ do_split_packages(d, rootdir, r'^(.*)\.so$', output_pattern='${BPN}-plugin-%s', description='AO %s plugin')
+ do_split_packages(d, rootdir_dbg, r'^(.*)\.so$', output_pattern='${BPN}-plugin-%s-dbg', description='AO %s plugin debug data')
}
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
-FILES_${BPN}-ckport = "${libdir}/ckport"
+FILES:${BPN}-ckport = "${libdir}/ckport"
diff --git a/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb b/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb
index f5b0d48c46..02a90c547d 100644
--- a/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb
+++ b/meta-multimedia/recipes-multimedia/libavc1394/libavc1394_0.5.4.bb
@@ -4,9 +4,9 @@ HOMEPAGE = "http://sourceforge.net/projects/libavc1394/"
SECTION = "libs/multimedia"
DEPENDS = "libraw1394"
-DEPENDS_append_libc-musl = " argp-standalone"
+DEPENDS:append:libc-musl = " argp-standalone"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
@@ -15,4 +15,4 @@ SRC_URI[sha256sum] = "7cb1ff09506ae911ca9860bef4af08c2403f3e131f6c913a2cbd6ddca4
inherit autotools pkgconfig
-LDFLAGS_append_libc-musl = " -largp"
+LDFLAGS:append:libc-musl = " -largp"
diff --git a/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb b/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb
new file mode 100644
index 0000000000..885758b6a4
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "This library aims to be a friendly, portable C implementation of the AV1 Image File Format"
+HOMEPAGE = "https://github.com/AOMediaCodec/libavif"
+SECTION = "libs"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c528b75b07425b5c1d2e34de98c397b5"
+
+SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=v1.0.x"
+
+S = "${WORKDIR}/git"
+SRCREV = "d1c26facaf5a8a97919ceee06814d05d10e25622"
+
+DEPENDS = "dav1d"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DAVIF_CODEC_DAV1D=ON"
diff --git a/meta-multimedia/recipes-multimedia/libavtp/libavtp/0001-provide-64bit-host-to-network-conversion-macros.patch b/meta-multimedia/recipes-multimedia/libavtp/libavtp/0001-provide-64bit-host-to-network-conversion-macros.patch
new file mode 100644
index 0000000000..e432ccca42
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libavtp/libavtp/0001-provide-64bit-host-to-network-conversion-macros.patch
@@ -0,0 +1,43 @@
+From cdbbe227594665145e9309a9ecb7d90aad070aab Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Wed, 1 Jun 2022 15:53:55 +0000
+Subject: [PATCH] provide 64bit host to network conversion macros
+
+musl dosn't include the macros which convert 64-bit integers
+between host and network endianness from arpa/inet.h as glibc does.
+
+Use this patch to include endian.h in util.h if compiling for musl.
+
+Prevents:
+| [2/8] aarch64-tdx-linux-musl-gcc ... -o libavtp.so.0.2.0.p/src_avtp_stream.c.o -c ../git/src/avtp_stream.c
+| ../git/src/avtp_stream.c: In function 'avtp_stream_pdu_get':
+| ../git/src/avtp_stream.c:116:24: warning: implicit declaration of function 'be64toh' [-Wimplicit-function-declaration]
+| 116 | *val = be64toh(pdu->stream_id);
+| | ^~~~~~~
+| ../git/src/avtp_stream.c: In function 'avtp_stream_pdu_set':
+| ../git/src/avtp_stream.c:199:34: warning: implicit declaration of function 'htobe64' [-Wimplicit-function-declaration]
+| 199 | pdu->stream_id = htobe64(value);
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
+---
+ src/util.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/util.h b/src/util.h
+index 8b50625..e6fd2ef 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -27,6 +27,8 @@
+
+ #pragma once
+
++#include <endian.h>
++
+ #define BIT(n) (1ULL << n)
+
+ #define BITMASK(len) (BIT(len) - 1)
+--
+2.20.1
+
diff --git a/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb b/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb
new file mode 100644
index 0000000000..98f8e5b84d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Implements Audio Video Transport Protocol (AVTP)"
+DESCRIPTION = "Open source implementation of Audio Video Transport Protocol (AVTP) \
+ specified in IEEE 1722-2016 spec."
+HOMEPAGE = "https://github.com/Avnu/libavtp"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7fcb4331e23e45e171cd5693c1ff7d3e"
+
+SRC_URI = "git://github.com/Avnu/libavtp.git;branch=master;protocol=https"
+SRC_URI:append:libc-musl = " file://0001-provide-64bit-host-to-network-conversion-macros.patch"
+SRCREV = "3599a5bf2d18fc3ae89b64f208d8380e6ee3a866"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = "-Dtests=disabled"
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
deleted file mode 100644
index 30dab1d928..0000000000
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Linux libcamera framework"
-SECTION = "libs"
-
-LICENSE = "GPL-2.0+ & LGPL-2.1+"
-
-LIC_FILES_CHKSUM = "\
- file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c \
- file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 \
-"
-
-SRC_URI = " \
- git://linuxtv.org/libcamera.git;protocol=git \
-"
-
-SRCREV = "193ca8c353a42334f65ddfc988a105a47bca3547"
-
-PV = "202105+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls boost chrpath-native"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}"
-
-PACKAGES =+ "${PN}-gst"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
-
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}"
-
-inherit meson pkgconfig python3native
-
-do_configure_prepend() {
- sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
-}
-
-do_install_append() {
- chrpath -d ${D}${libdir}/libcamera.so
-}
-
-addtask do_recalculate_ipa_signatures_package after do_package before do_packagedata
-do_recalculate_ipa_signatures_package() {
- local modules
- for module in $(find ${PKGD}/usr/lib/libcamera -name "*.so.sign"); do
- module="${module%.sign}"
- if [ -f "${module}" ] ; then
- modules="${modules} ${module}"
- fi
- done
-
- ${S}/src/ipa/ipa-sign-install.sh ${B}/src/ipa-priv-key.pem "${modules}"
-}
-
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
-FILES_${PN} += " ${libdir}/libcamera.so"
-FILES_${PN}-gst = "${libdir}/gstreamer-1.0/libgstlibcamera.so"
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch
new file mode 100644
index 0000000000..9e4adf3d8d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch
@@ -0,0 +1,71 @@
+From 35d2acc61b1b27c0810a80cd21de65f29dc79df7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Mar 2024 11:27:21 -0700
+Subject: [PATCH] ipu3: Use posix basename
+
+musl does not implement GNU basename extention and with latest musl
+the prototype from string.h is also removed [1] which now results in
+compile errors e.g.
+
+../git/utils/ipu3/ipu3-pack.c:21:47: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+
+These utilities are using this function in usage() which is used just
+before program exit. Always use the basename APIs from libgen.h which is
+posix implementation
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2024-March/041180.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/ipu3/ipu3-pack.c | 4 ++--
+ utils/ipu3/ipu3-unpack.c | 3 ++-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/utils/ipu3/ipu3-pack.c b/utils/ipu3/ipu3-pack.c
+index decbfc6c..23d2db8b 100644
+--- a/utils/ipu3/ipu3-pack.c
++++ b/utils/ipu3/ipu3-pack.c
+@@ -8,6 +8,7 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -15,9 +16,8 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
+-static void usage(const char *argv0)
++static void usage(char *argv0)
+ {
+-
+ printf("Usage: %s input-file output-file\n", basename(argv0));
+ printf("Convert unpacked RAW10 Bayer data to the IPU3 packed Bayer formats\n");
+ printf("If the output-file '-', output data will be written to standard output\n");
+diff --git a/utils/ipu3/ipu3-unpack.c b/utils/ipu3/ipu3-unpack.c
+index 9d2c1200..1505a970 100644
+--- a/utils/ipu3/ipu3-unpack.c
++++ b/utils/ipu3/ipu3-unpack.c
+@@ -8,6 +8,7 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -15,7 +16,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
+-static void usage(const char *argv0)
++static void usage(char *argv0)
+ {
+ printf("Usage: %s input-file output-file\n", basename(argv0));
+ printf("Unpack the IPU3 raw Bayer format to 16-bit Bayer\n");
+--
+2.44.0
+
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-media_device-Add-bool-return-type-to-unlock.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-media_device-Add-bool-return-type-to-unlock.patch
new file mode 100644
index 0000000000..12f034effd
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-media_device-Add-bool-return-type-to-unlock.patch
@@ -0,0 +1,59 @@
+From 6914c4fd3d53c0c6ea304123bf57429bb64ec16f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Jan 2024 21:01:27 -0800
+Subject: [PATCH 1/2] media_device: Add bool return type to unlock()
+
+unlock uses lockf which is marked with __attribute__
+((warn_unused_result)) and compilers warn about it and some treat
+-Wunused-result as error with -Werror turned on, It would be good to
+check if lockf failed or succeeded, however, that piece is not changed
+with this, this fixes build with clang++ 18
+
+ ../git/src/libcamera/media_device.cpp:167:2: error: ignoring return value of function declared with 'warn_unused_result' attribute [-Werror,-Wunused-result]
+ 167 | lockf(fd_.get(), F_ULOCK, 0);
+ | ^~~~~ ~~~~~~~~~~~~~~~~~~~~~
+ 1 error generated.
+
+Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2024-February/040380.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/libcamera/internal/media_device.h | 2 +-
+ src/libcamera/media_device.cpp | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/include/libcamera/internal/media_device.h b/include/libcamera/internal/media_device.h
+index eb8cfde4..b09dfd16 100644
+--- a/include/libcamera/internal/media_device.h
++++ b/include/libcamera/internal/media_device.h
+@@ -33,7 +33,7 @@ public:
+ bool busy() const { return acquired_; }
+
+ bool lock();
+- void unlock();
++ bool unlock();
+
+ int populate();
+ bool isValid() const { return valid_; }
+diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp
+index 2949816b..eaa2fdb0 100644
+--- a/src/libcamera/media_device.cpp
++++ b/src/libcamera/media_device.cpp
+@@ -159,12 +159,12 @@ bool MediaDevice::lock()
+ *
+ * \sa lock()
+ */
+-void MediaDevice::unlock()
++bool MediaDevice::unlock()
+ {
+ if (!fd_.isValid())
+- return;
++ return false;
+
+- lockf(fd_.get(), F_ULOCK, 0);
++ return lockf(fd_.get(), F_ULOCK, 0) == 0;
+ }
+
+ /**
+--
+2.43.0
+
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch
new file mode 100644
index 0000000000..c336e92548
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch
@@ -0,0 +1,43 @@
+From 11cc6dbd45f0880beea64cdc514f57484b90bc39 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 20 Feb 2024 18:44:23 -0800
+Subject: [PATCH] rpi: Use malloc instead of variable length arrays
+
+Clang-18+ diagnoses this as error
+
+| ../git/src/ipa/rpi/controller/rpi/alsc.cpp:499:10: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension] | 499 | int xLo[X], xHi[X];
+| | ^
+
+Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2024-February/040529.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+s
+---
+ src/ipa/rpi/controller/rpi/alsc.cpp | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/src/ipa/rpi/controller/rpi/alsc.cpp b/src/ipa/rpi/controller/rpi/alsc.cpp
+index 8a205c60..a7d42614 100644
+--- a/src/ipa/rpi/controller/rpi/alsc.cpp
++++ b/src/ipa/rpi/controller/rpi/alsc.cpp
+@@ -496,8 +496,8 @@ void resampleCalTable(const Array2D<double> &calTableIn,
+ * Precalculate and cache the x sampling locations and phases to save
+ * recomputing them on every row.
+ */
+- int xLo[X], xHi[X];
+- double xf[X];
++ int *xLo = (int*)malloc(X), *xHi = (int*)malloc(X);
++ double *xf = (double*)malloc(X);
+ double scaleX = cameraMode.sensorWidth /
+ (cameraMode.width * cameraMode.scaleX);
+ double xOff = cameraMode.cropX / (double)cameraMode.sensorWidth;
+@@ -539,6 +539,9 @@ void resampleCalTable(const Array2D<double> &calTableIn,
+ *(out++) = above * (1 - yf) + below * yf;
+ }
+ }
++ free(xf);
++ free(xHi);
++ free(xLo);
+ }
+
+ /* Calculate chrominance statistics (R/G and B/G) for each region. */
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch
new file mode 100644
index 0000000000..473820653e
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch
@@ -0,0 +1,128 @@
+From 6e4736180fcaffdb06acf52fd3eb50ba5baa3d2a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Jan 2024 21:04:28 -0800
+Subject: [PATCH] options: Replace use of VLAs in C++
+
+Clang++ 18 is fussy about this with new warning checks.
+
+ ../git/src/apps/common/options.cpp:882:20: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
+ 882 | char shortOptions[optionsMap_.size() * 3 + 2];
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Therefore replace using VLAs with alloca and malloc/free
+
+Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2024-February/040381.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/apps/common/options.cpp | 12 ++++++++++--
+ src/libcamera/ipc_unixsocket.cpp | 13 +++++++++----
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+diff --git a/src/apps/common/options.cpp b/src/apps/common/options.cpp
+index 4f7e8691..3656f3c1 100644
+--- a/src/apps/common/options.cpp
++++ b/src/apps/common/options.cpp
+@@ -879,8 +879,8 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
+ * Allocate short and long options arrays large enough to contain all
+ * options.
+ */
+- char shortOptions[optionsMap_.size() * 3 + 2];
+- struct option longOptions[optionsMap_.size() + 1];
++ char *shortOptions = (char*)malloc(optionsMap_.size() * 3 + 2);
++ struct option *longOptions = (struct option*)malloc(sizeof(struct option) * (optionsMap_.size() + 1));
+ unsigned int ids = 0;
+ unsigned int idl = 0;
+
+@@ -935,12 +935,16 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
+ std::cerr << argv[optind - 1] << std::endl;
+
+ usage();
++ free(shortOptions);
++ free(longOptions);
+ return options;
+ }
+
+ const Option &option = *optionsMap_[c];
+ if (!parseValue(option, optarg, &options)) {
+ usage();
++ free(shortOptions);
++ free(longOptions);
+ return options;
+ }
+ }
+@@ -949,10 +953,14 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
+ std::cerr << "Invalid non-option argument '" << argv[optind]
+ << "'" << std::endl;
+ usage();
++ free(shortOptions);
++ free(longOptions);
+ return options;
+ }
+
+ options.valid_ = true;
++ free(shortOptions);
++ free(longOptions);
+ return options;
+ }
+
+diff --git a/src/libcamera/ipc_unixsocket.cpp b/src/libcamera/ipc_unixsocket.cpp
+index 1980d374..3bd861cb 100644
+--- a/src/libcamera/ipc_unixsocket.cpp
++++ b/src/libcamera/ipc_unixsocket.cpp
+@@ -8,6 +8,7 @@
+ #include "libcamera/internal/ipc_unixsocket.h"
+
+ #include <array>
++#include <cstdint>
+ #include <poll.h>
+ #include <string.h>
+ #include <sys/socket.h>
+@@ -247,8 +248,8 @@ int IPCUnixSocket::sendData(const void *buffer, size_t length,
+ iov[0].iov_base = const_cast<void *>(buffer);
+ iov[0].iov_len = length;
+
+- char buf[CMSG_SPACE(num * sizeof(uint32_t))];
+- memset(buf, 0, sizeof(buf));
++ char *buf = (char*)malloc(CMSG_SPACE(num * sizeof(uint32_t)));
++ memset((void*)buf, 0, sizeof(buf));
+
+ struct cmsghdr *cmsg = (struct cmsghdr *)buf;
+ cmsg->cmsg_len = CMSG_LEN(num * sizeof(uint32_t));
+@@ -270,9 +271,11 @@ int IPCUnixSocket::sendData(const void *buffer, size_t length,
+ int ret = -errno;
+ LOG(IPCUnixSocket, Error)
+ << "Failed to sendmsg: " << strerror(-ret);
++ free(buf);
+ return ret;
+ }
+
++ free(buf);
+ return 0;
+ }
+
+@@ -283,8 +286,8 @@ int IPCUnixSocket::recvData(void *buffer, size_t length,
+ iov[0].iov_base = buffer;
+ iov[0].iov_len = length;
+
+- char buf[CMSG_SPACE(num * sizeof(uint32_t))];
+- memset(buf, 0, sizeof(buf));
++ char *buf = (char*)malloc(CMSG_SPACE(num * sizeof(uint32_t)));
++ memset((void*)buf, 0, sizeof(buf));
+
+ struct cmsghdr *cmsg = (struct cmsghdr *)buf;
+ cmsg->cmsg_len = CMSG_LEN(num * sizeof(uint32_t));
+@@ -305,12 +308,14 @@ int IPCUnixSocket::recvData(void *buffer, size_t length,
+ if (ret != -EAGAIN)
+ LOG(IPCUnixSocket, Error)
+ << "Failed to recvmsg: " << strerror(-ret);
++ free(buf);
+ return ret;
+ }
+
+ if (fds)
+ memcpy(fds, CMSG_DATA(cmsg), num * sizeof(uint32_t));
+
++ free(buf);
+ return 0;
+ }
+
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb
new file mode 100644
index 0000000000..45d6be31ec
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb
@@ -0,0 +1,78 @@
+SUMMARY = "Linux libcamera framework"
+SECTION = "libs"
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+
+LIC_FILES_CHKSUM = "\
+ file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c \
+ file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 \
+"
+
+SRC_URI = " \
+ git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \
+ file://0001-media_device-Add-bool-return-type-to-unlock.patch \
+ file://0002-options-Replace-use-of-VLAs-in-C.patch \
+ file://0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch \
+ file://0001-ipu3-Use-posix-basename.patch \
+"
+
+SRCREV = "89227a428a82e724548399d35c98ea89566f9045"
+
+PE = "1"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls chrpath-native libevent libyaml"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}"
+
+PACKAGES =+ "${PN}-gst"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
+
+LIBCAMERA_PIPELINES ??= "auto"
+
+EXTRA_OEMESON = " \
+ -Dpipelines=${LIBCAMERA_PIPELINES} \
+ -Dv4l2=true \
+ -Dcam=enabled \
+ -Dlc-compliance=disabled \
+ -Dtest=false \
+ -Ddocumentation=disabled \
+"
+
+RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}"
+
+inherit meson pkgconfig python3native
+
+do_configure:prepend() {
+ sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
+}
+
+do_install:append() {
+ chrpath -d ${D}${libdir}/libcamera.so
+ chrpath -d ${D}${libexecdir}/libcamera/v4l2-compat.so
+}
+
+do_package:append() {
+ bb.build.exec_func("do_package_recalculate_ipa_signatures", d)
+}
+
+do_package_recalculate_ipa_signatures() {
+ local modules
+ for module in $(find ${PKGD}/usr/lib/libcamera -name "*.so.sign"); do
+ module="${module%.sign}"
+ if [ -f "${module}" ] ; then
+ modules="${modules} ${module}"
+ fi
+ done
+
+ ${S}/src/ipa/ipa-sign-install.sh ${B}/src/ipa-priv-key.pem "${modules}"
+}
+
+FILES:${PN} += " ${libexecdir}/libcamera/v4l2-compat.so"
+FILES:${PN}-gst = "${libdir}/gstreamer-1.0"
+
+# libcamera-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
+# both 32 and 64 bit file APIs.
+GLIBC_64BIT_TIME_FLAGS = ""
diff --git a/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch b/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
index df0c2355d0..51761eb8c9 100755
--- a/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
+++ b/meta-multimedia/recipes-multimedia/libdc1394/files/install_examples.patch
@@ -1,3 +1,8 @@
+Install all examples
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
Index: libdc1394/examples/Makefile.am
===================================================================
--- libdc1394.orig/examples/Makefile.am
diff --git a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.7.bb
index c9ade4ac99..8cac780d64 100755
--- a/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.6.bb
+++ b/meta-multimedia/recipes-multimedia/libdc1394/libdc1394_2.2.7.bb
@@ -1,21 +1,20 @@
SUMMARY = "Capture and control API for IIDC compliant cameras"
HOMEPAGE = "http://sourceforge.net/projects/libdc1394/"
SECTION = "libs"
-LICENSE = "LGPL-2.0"
+LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=c848e78d9a4a5cc69906178e4d6fbd64"
# libsdl to provide sdl.m4 with AM_PATH_SDL
DEPENDS += "libusb1 libraw1394 libsdl \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxv virtual/libx11', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/egl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'libglu', '', d)} \
"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
file://install_examples.patch \
"
-SRC_URI[md5sum] = "9fad67bbff08fe2818d5ec81802ec89f"
-SRC_URI[sha256sum] = "2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed"
+SRC_URI[sha256sum] = "537ceb78dd3cef271a183f4a176191d1cecf85f025520e6bd3758b0e19e6609f"
inherit autotools pkgconfig
EXTRA_OECONF += "--disable-doxygen-doc --disable-examples"
diff --git a/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb b/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb
index 613dcc71bf..3c9f899491 100644
--- a/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.5.bb
+++ b/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb
@@ -4,16 +4,18 @@ simple integration into other software."
HOMEPAGE = "http://www.libde265.org/"
SECTION = "libs/multimedia"
-LICENSE = "LGPLv3 & MIT"
+LICENSE = "LGPL-3.0-only & MIT"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f"
-SRC_URI = "https://github.com/strukturag/libde265/releases/download/v${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[sha256sum] = "e3f277d8903408615a5cc34718b391b83c97c646faea4f41da93bac5ee08a87f"
+SRC_URI = "git://github.com/strukturag/libde265.git;branch=master;protocol=https"
+SRCREV = "a267c84707ab264928fa9b86de2ee749c48c318c"
+
+S = "${WORKDIR}/git"
EXTRA_OECONF = "--disable-sherlock265 --disable-dec265"
inherit autotools-brokensep pkgconfig
PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*"
+FILES:${PN}-tools = "${bindir}/*"
diff --git a/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb b/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
index 7f042c382f..5de717c281 100644
--- a/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
+++ b/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
@@ -1,11 +1,11 @@
SUMMARY = "Open implementation of the DVB Common Scrambling Algorithm, encrypt and decrypt "
SECTION = "libs/multimedia"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRCREV = "bc6c0b164a87ce05e9925785cc6fb3f54c02b026"
-SRC_URI = "git://code.videolan.org/videolan/libdvbcsa.git;protocol=https \
+SRC_URI = "git://code.videolan.org/videolan/libdvbcsa.git;protocol=https;branch=master \
file://libdvbcsa.pc \
"
@@ -13,7 +13,7 @@ S = "${WORKDIR}/git"
inherit autotools lib_package pkgconfig
-do_install_append() {
+do_install:append() {
install -D -m 0644 ${S}/src/dvbcsa/dvbcsa.h ${D}${includedir}/dvbcsa/dvbcsa.h
install -D -m 0644 ${WORKDIR}/libdvbcsa.pc ${D}${libdir}/pkgconfig/libdvbcsa.pc
}
diff --git a/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.0.bb b/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.3.bb
index 48b0111047..719fbf91e6 100644
--- a/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.0.bb
+++ b/meta-multimedia/recipes-multimedia/libdvbpsi/libdvbpsi_1.3.3.bb
@@ -2,11 +2,10 @@ DESCRIPTION = "libdvbpsi is a simple library designed for decoding \
and generation of MPEG TS and DVB PSI tables according to standards \
ISO/IEC 13818 and ITU-T H.222.0."
HOMEPAGE = "http://www.videolan.org/developers/libdvbpsi.html"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "http://download.videolan.org/pub/libdvbpsi/${PV}/libdvbpsi-${PV}.tar.bz2"
-SRC_URI[md5sum] = "2b217039a1299000c39423441f77e76a"
-SRC_URI[sha256sum] = "a2fed1d11980662f919bbd1f29e2462719e0f6227e1a531310bd5a706db0a1fe"
+SRC_URI[sha256sum] = "02b5998bcf289cdfbd8757bedd5987e681309b0a25b3ffe6cebae599f7a00112"
inherit autotools
diff --git a/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb b/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb
index 06308d96c3..766ee02ca2 100644
--- a/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb
+++ b/meta-multimedia/recipes-multimedia/libdvdnav/libdvdnav_6.1.1.bb
@@ -1,6 +1,6 @@
SUMMARY = "library for DVD navigation features"
SECTION = "libs/multimedia"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libdvdread"
@@ -10,5 +10,5 @@ SRC_URI[sha256sum] = "c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98
inherit autotools lib_package binconfig pkgconfig
-CONFIGUREOPTS_remove = "--disable-silent-rules"
+CONFIGUREOPTS:remove = "--disable-silent-rules"
diff --git a/meta-multimedia/recipes-multimedia/libiec61883/libiec61883_1.2.0.bb b/meta-multimedia/recipes-multimedia/libiec61883/libiec61883_1.2.0.bb
index e6079bd752..7c90faa45e 100644
--- a/meta-multimedia/recipes-multimedia/libiec61883/libiec61883_1.2.0.bb
+++ b/meta-multimedia/recipes-multimedia/libiec61883/libiec61883_1.2.0.bb
@@ -6,7 +6,7 @@ SECTION = "libs/multimedia"
DEPENDS = "libraw1394"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=771782cb6245c7fbbe74bc0ec059beff"
SRC_URI = "https://www.kernel.org/pub/linux/libs/ieee1394/${BPN}-${PV}.tar.xz"
diff --git a/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb b/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb
new file mode 100644
index 0000000000..7f531efc63
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Low Complexity Communication Codec (LC3)"
+HOMEPAGE = "https://github.com/google/liblc3"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/google/liblc3.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "1a5938ebaca4f13fe79ce074f5dee079783aa29f"
+
+inherit pkgconfig meson
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.3.10.bb b/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
index d14246f32b..8bb49b2f12 100644
--- a/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.3.10.bb
+++ b/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
@@ -1,41 +1,33 @@
SUMMARY = "C and C++ cross-platform library for decoding tracked music files (modules)"
DESCRIPTION = "libopenmpt is a cross-platform C++ and C library to decode tracked \
music files (modules) into a raw PCM audio stream. It also comes with openmpt123, a \
-cross-platform command-line or terminal based module file player, and libopenmpt_modplug, \
-a wrapper around libopenmpt that provides an interface that is ABI compatile with \
-libmodplug. libopenmpt is based on the player code of the OpenMPT project."
+cross-platform command-line or terminal based module file player. libopenmpt is based \
+on the player code of the OpenMPT project."
HOMEPAGE = "https://lib.openmpt.org/libopenmpt/"
SECTION = "libs"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e804150573f149befef6c07e173f20c3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=59f6e21f42e49919617267ff13a0b232"
DEPENDS = "virtual/libiconv"
SRC_URI = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${PV}+release.autotools.tar.gz \
file://run-ptest \
"
-SRC_URI[md5sum] = "66bbc6fbb5f27a554cb145d805e9ef9d"
-SRC_URI[sha256sum] = "14a137b8d1a20e1b6a5e67cbc9467ab7e5e4e67d5aa38a247afc825685c53939"
+
+SRC_URI[sha256sum] = "2cf8369b7916b09264f3f14b9fb6cef35a6e9bee0328dec4f49d98211ccfd722"
S = "${WORKDIR}/libopenmpt-${PV}+release.autotools"
inherit autotools pkgconfig ptest
PACKAGECONFIG ??= " \
- libopenmpt-modplug openmpt123 \
+ openmpt123 \
${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
flac mpg123 ogg sndfile vorbis vorbisfile zlib \
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
"
-# libopenmpt_modplug is a library that wraps libopenmpt calls into
-# functions that are ABI compatible with libmodplug. This allows for
-# using modplug headers and linking against libopenmpt_modplug
-# instead of against the original libmodplug library.
-# NOTE: The wrapper is compatible to the ABI from libmodplug version
-# 0.8.8 and newer.
-PACKAGECONFIG[libopenmpt-modplug] = "--enable-libopenmpt_modplug,--disable-libopenmpt_modplug"
PACKAGECONFIG[openmpt123] = "--enable-openmpt123,--disable-openmpt123"
PACKAGECONFIG[tests] = "--enable-tests,--disable-tests"
@@ -45,22 +37,15 @@ PACKAGECONFIG[mpg123] = "--with-mpg123,--without-mpg123,mpg123"
PACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg"
PACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19"
PACKAGECONFIG[pulseaudio] = "--with-pulseaudio,--without-pulseaudio,pulseaudio"
-PACKAGECONFIG[sdl] = "--with-sdl,--without-sdl,virtual/libsdl"
-PACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,virtual/libsdl2"
+PACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,libsdl2"
PACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1"
PACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis"
PACKAGECONFIG[vorbisfile] = "--with-vorbisfile,--without-vorbisfile,libvorbis"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-# --disable-libmodplug is necessary, since otherwise we'd
-# have a collision with the libmodplug package, because of the
-# libmodplug.so file. (libmodplug.so from libopenmpt isintended
-# to be used as a drop-in replacement, and according to the
-# documentation, is not complete.)
EXTRA_OECONF += " \
--disable-doxygen-doc \
--disable-examples \
- --disable-libmodplug \
--without-portaudiocpp \
"
@@ -79,24 +64,17 @@ do_install_ptest() {
install -m 0644 ${S}/libopenmpt/libopenmpt_version.mk ${D}${PTEST_PATH}/libopenmpt
}
-python __anonymous() {
- packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
- if ("sdl" in packageconfig) and ("sdl2" in packageconfig):
- bb.error("sdl and sdl2 packageconfigs cannot be both enabled")
-}
-
-PACKAGES =+ "${PN}-modplug ${PN}-openmpt123 ${PN}-openmpt123-doc"
-FILES_${PN}-modplug = "${libdir}/libopenmpt_modplug.so.*"
-FILES_${PN}-openmpt123 = "${bindir}/openmpt123"
-FILES_${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*"
+PACKAGES =+ "${PN}-openmpt123 ${PN}-openmpt123-doc"
+FILES:${PN}-openmpt123 = "${bindir}/openmpt123"
+FILES:${PN}-openmpt123-doc = "${mandir}/man1/openmpt123*"
# Since version 0.3, libopenmpt uses SemVer 2.0.0 versioning.
# The SemVer versioning scheme is incompatible with Debian/Ubuntu
# package version names.
-DEBIAN_NOAUTONAME_${PN} = "1"
-DEBIAN_NOAUTONAME_${PN}-modplug = "1"
+DEBIAN_NOAUTONAME:${PN} = "1"
-RDEPENDS_${PN}_libc-glibc = " \
+RDEPENDS:${PN}:libc-glibc = " \
+ glibc-gconv \
glibc-gconv-cp1252 \
glibc-gconv-ibm437 \
glibc-gconv-iso8859-1 \
diff --git a/meta-multimedia/recipes-multimedia/libsquish/libsquish/0001-Add-support-for-variable-libdir.patch b/meta-multimedia/recipes-multimedia/libsquish/libsquish/0001-Add-support-for-variable-libdir.patch
new file mode 100644
index 0000000000..a6a58688bc
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libsquish/libsquish/0001-Add-support-for-variable-libdir.patch
@@ -0,0 +1,70 @@
+From 20d14f323c877eca631f0a75efcf19727fb18dd9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 22 Mar 2022 09:17:06 -0700
+Subject: [PATCH] Add support for variable libdir
+
+sometimes libdir is not 'lib' in such cases set LIBDIR_SUFFIX to 32 or
+64 to append to it.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 9 +++++----
+ config.in | 2 ++
+ squish.pc.in | 3 ++-
+ 3 files changed, 9 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 1c01f89..768a4a7 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,13 +10,13 @@ LIB = libsquish.a
+ all : $(LIB) squish.pc
+
+ install : $(LIB) squish.pc
+- install squish.h $(INSTALL_DIR)/include
+- install libsquish.a $(INSTALL_DIR)/lib
+- install squish.pc $(INSTALL_DIR)/lib/pkgconfig
++ install squish.h $(INSTALL_DIR)/include
++ install libsquish.a $(INSTALL_DIR)/lib$(LIBDIR_SUFFIX)
++ install squish.pc $(INSTALL_DIR)/lib$(LIBDIR_SUFFIX)/pkgconfig
+
+ uninstall:
+ $(RM) $(INSTALL_DIR)/include/squish.h
+- $(RM) $(INSTALL_DIR)/lib/libsquish.a
++ $(RM) $(INSTALL_DIR)/lib$(LIBDIR_SUFFIX)/libsquish.a
+
+ $(LIB) : $(OBJ)
+ $(AR) cr $@ $?
+@@ -30,4 +30,5 @@ clean :
+
+ squish.pc:
+ sed 's|@PREFIX@|$(PREFIX)|' $@.in > $@
++ sed 's|@LIBDIR_SUFFIX@|$(LIBDIR_SUFFIX)|' $@.in > $@
+
+diff --git a/config.in b/config.in
+index fdca022..a6cf833 100644
+--- a/config.in
++++ b/config.in
+@@ -19,3 +19,5 @@ endif
+
+ # where should we install to
+ INSTALL_DIR ?= @PREFIX@
++# libdir is architecture specific
++LIBDIR_SUFFIX ?= @LIBDIR_SUFFIX@
+diff --git a/squish.pc.in b/squish.pc.in
+index ca04334..73c21bb 100644
+--- a/squish.pc.in
++++ b/squish.pc.in
+@@ -1,6 +1,7 @@
+ prefix=@PREFIX@
++suffix=@LIBDIR_SUFFIX@
+ exec_prefix=${prefix}
+-libdir=${prefix}/lib
++libdir=${prefix}/lib${suffix}
+ sharedlibdir=${libdir}
+ includedir=${prefix}/include
+
+--
+2.35.1
+
diff --git a/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb b/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
index f060f1e80d..3d631ea0b6 100644
--- a/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
+++ b/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
@@ -3,14 +3,17 @@ SUMMARY = "The squish library (abbreviated to libsquish) is an open source DXT c
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://alpha.cpp;beginline=3;endline=22;md5=6665e479f71feb92d590ea9ae9b9f6d5"
-PV = "1.10+git${SRCPV}"
+PV = "1.10+git"
SRCREV = "52e7d93c5947f72380521116c05d97c528863ba8"
-SRC_URI = "git://github.com/OpenELEC/libsquish.git;protocol=https"
+SRC_URI = "git://github.com/OpenELEC/libsquish.git;protocol=https;branch=master \
+ file://0001-Add-support-for-variable-libdir.patch \
+ "
S = "${WORKDIR}/git"
-EXTRA_OEMAKE = "INSTALL_DIR=${D}${prefix}"
+EXTRA_OEMAKE = "INSTALL_DIR=${D}${prefix} LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'altivec', 'USE_ALTIVEC=1', '', d)}"
do_install() {
install -d ${D}${includedir}
diff --git a/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb b/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb
index 4d301fb2f6..b1572b32ac 100644
--- a/meta-multimedia/recipes-multimedia/libuvc/libuvc.bb
+++ b/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb
@@ -3,12 +3,12 @@ HOMEPAGE = "https://github.com/libuvc/libuvc.git"
SECTION = "libs"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2f1963e0bb88c93463af750daf9ba0c2"
+
DEPENDS = "libusb jpeg"
-SRC_URI = "git://github.com/libuvc/libuvc.git"
-SRCREV = "ad6c72a4e390367f0d2be81aac00cfc0b6680d74"
-PV = "v0.0.6+git${SRCPV}"
+SRC_URI = "git://github.com/libuvc/libuvc.git;branch=master;protocol=https"
+SRCREV = "68d07a00e11d1944e27b7295ee69673239c00b4b"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb b/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
index 0cac2bea53..76f51196aa 100644
--- a/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
+++ b/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
@@ -4,10 +4,10 @@ HOMEPAGE = "https://mimic.mycroft.ai/"
SECTION = "multimedia"
# "Mimic is available under permissive BSD-like licenses"
-LICENSE = "MIT-X & \
+LICENSE = "MIT & \
PD & \
CMU-Tex & \
- BSD & \
+ rateconv & \
BSD-2-Clause & \
BSD-3-Clause & \
flite & \
@@ -20,13 +20,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a2c2c7371b58b9cdeae0dc68846fe9f1"
DEPENDS = "curl-native libpcre2"
SRCREV = "adf655da0399530ac1b586590257847eb61be232"
-SRC_URI = "git://github.com/MycroftAI/mimic1.git \
+SRC_URI = "git://github.com/MycroftAI/mimic1.git;branch=master;protocol=https \
file://0001-Fix-musl-compatibility.patch \
file://0001-cmu_indic_lang-Make-cst_rx_not_indic-as-extern-decla.patch \
"
-inherit autotools
+inherit autotools pkgconfig
S = "${WORKDIR}/git"
-CPPFLAGS_append = " -Wno-error"
+CPPFLAGS:append = " -Wno-error"
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
index 433388759f..4959a3c8d7 100644
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
+++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "MiniDLNA (aka ReadyDLNA) is server software with the aim of \
being fully compliant with DLNA/UPnP-AV clients."
-LICENSE = "GPL-2.0|BSD"
+LICENSE = "GPL-2.0-only|BSD-3-Clause"
DEPENDS = "ffmpeg flac libav jpeg sqlite3 libexif libogg libid3tag libvorbis"
# because it depends on libav which has commercial flag
@@ -13,7 +13,7 @@ SRC_URI = "git://git.code.sf.net/p/minidlna/git;branch=master;module=git \
file://minidlna.service \
file://0001-Update-Gettext-version.patch \
file://0001-configure-Check-for-clock_gettime-seprately-from-__N.patch \
- file://0001-Mark-setjmp_buffer-extern-declaration.patch \
+ file://0001-configure.ac-drop-non-standard-checks.patch \
"
S = "${WORKDIR}/git"
@@ -22,7 +22,7 @@ S = "${WORKDIR}/git"
# configure.ac:30: error: required file './ABOUT-NLS' not found
EXTRA_AUTORECONF = ""
-do_install_append(){
+do_install:append(){
install -d ${D}${sysconfdir}
install -m 0755 minidlna.conf ${D}${sysconfdir}
@@ -36,7 +36,7 @@ do_install_append(){
}
-SYSTEMD_SERVICE_${PN} = "minidlna.service"
+SYSTEMD_SERVICE:${PN} = "minidlna.service"
INITSCRIPT_NAME = "minidlna"
INITSCRIPT_PARAMS = "defaults 90"
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Mark-setjmp_buffer-extern-declaration.patch b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Mark-setjmp_buffer-extern-declaration.patch
deleted file mode 100644
index 0a1e800c81..0000000000
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Mark-setjmp_buffer-extern-declaration.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1c6028f5f8bbfd3fd7327a43e1bb762c2c166167 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 Aug 2020 18:10:54 -0700
-Subject: [PATCH] Mark setjmp_buffer extern declaration
-
-Fixes build with -fno-common
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- metadata.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/metadata.c b/metadata.c
-index 8a10c77..c114091 100644
---- a/metadata.c
-+++ b/metadata.c
-@@ -484,7 +484,7 @@ GetAudioMetadata(const char *path, const char *name)
- }
-
- /* For libjpeg error handling */
--jmp_buf setjmp_buffer;
-+extern jmp_buf setjmp_buffer;
- static void
- libjpeg_error_handler(j_common_ptr cinfo)
- {
---
-2.28.0
-
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch
index 24a307db19..dd29797a66 100644
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch
+++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure-Check-for-clock_gettime-seprately-from-__N.patch
@@ -1,4 +1,4 @@
-From 1118b1912916924bbfa3fd4dced9dfed01fbf0e0 Mon Sep 17 00:00:00 2001
+From 93e7e25a10c890b8c8cd06cbfd78175c30999d31 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 9 Mar 2020 09:44:33 -0700
Subject: [PATCH] configure: Check for clock_gettime seprately from
@@ -9,13 +9,16 @@ since direct use of __NR_clock_gettime is not time64-safe
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
- configure.ac | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
+ configure.ac | 4 ++++
+ 1 file changed, 4 insertions(+)
+diff --git a/configure.ac b/configure.ac
+index 3d218ea..aa7dd1c 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -125,6 +125,10 @@ case $host in
+@@ -127,6 +127,10 @@ case $host in
esac
AC_CHECK_HEADERS(syscall.h sys/syscall.h mach/mach_time.h)
@@ -26,11 +29,3 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
AC_MSG_CHECKING([for __NR_clock_gettime syscall])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
-@@ -143,7 +147,6 @@ AC_COMPILE_IFELSE(
- ],
- [
- AC_MSG_RESULT([no])
-- AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [use clock_gettime])],)
- ])
-
- AC_CHECK_HEADER(linux/netlink.h,
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch
new file mode 100644
index 0000000000..93334b7dab
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch
@@ -0,0 +1,37 @@
+From 83425344b2d7339e8f5b0ad230c51278d330d613 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sat, 22 Jan 2022 11:41:50 +0100
+Subject: [PATCH] configure.ac: drop non-standard checks
+
+Not sure what upstream is trying to do here but it does not work
+with the latest autoconf.
+
+Upstream-Status: Inactive-Upstream
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index aa7dd1c..858db52 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -418,7 +418,6 @@ for dir in "" /usr/local $SEARCH_DIR; do
+ AC_CHECK_LIB([id3tag -lz], [id3_file_open], [LIBID3TAG_LIBS="-lid3tag -lz"], [unset ac_cv_lib_id3tag_id3_file_open; LDFLAGS="$LDFLAGS_SAVE"; continue])
+ break
+ done
+-test x"$ac_cv_lib_id3tag__lz___id3_file_open" = x"yes" || AC_MSG_ERROR([Could not find libid3tag])
+ AC_SUBST(LIBID3TAG_LIBS)
+
+ LDFLAGS_SAVE="$LDFLAGS"
+@@ -444,10 +443,6 @@ for dir in "" /usr/local $SEARCH_DIR; do
+ [unset ac_cv_lib_avformat_av_open_input_file; unset ac_cv_lib_avformat_avformat_open_input; LDFLAGS="$LDFLAGS_SAVE"; continue])])
+ break
+ done
+-if test x"$ac_cv_lib_avformat__lavcodec__lavutil__lz___av_open_input_file" != x"yes" &&
+- test x"$ac_cv_lib_avformat__lavcodec__lavutil__lz___avformat_open_input" != x"yes"; then
+- AC_MSG_ERROR([Could not find libavformat - part of ffmpeg])
+-fi
+ AC_SUBST(LIBAVFORMAT_LIBS)
+
+ AC_CHECK_LIB(pthread, pthread_create)
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.2.1.bb b/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.0.bb
index 999d85ce74..4238918c97 100644
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.2.1.bb
+++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.0.bb
@@ -1,4 +1,4 @@
require ${BPN}.inc
-SRCREV = "c760a338e07ebd11d62fef701e3de824a91f8625"
+SRCREV = "109d63cb11ac207c18a784556834eb054b34b00b"
LIC_FILES_CHKSUM = "file://LICENCE.miniupnpd;md5=b0dabf9d8e0f871554e309d62ead8d2b"
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch
new file mode 100644
index 0000000000..1fae37614c
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch
@@ -0,0 +1,50 @@
+From 06b2a6aa70616aafab780514d9d26e85bd98d965 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 Aug 2022 14:02:16 -0700
+Subject: [PATCH] http/fetch: Pass a non-null buffer to
+ ne_set_request_body_buffer API
+
+Newer versions of neon has added a check for non-null arguments for
+ne_set_request_body_buffer() API and this is triggered but older
+compiler only treats -Wnonnull as warning so all was fine, however gcc
+12.2 has started to throw this warning as error by default and builds
+are breaking
+
+Fixes
+src/HTTPFetch.cc:186:38: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
+ ne_set_request_body_buffer(req,0,0);
+ ~ ^
+Upstream-Status: Submitted [https://github.com/metabrainz/libmusicbrainz/pull/18]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/HTTPFetch.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/HTTPFetch.cc b/src/HTTPFetch.cc
+index baec359..0c0d919 100644
+--- a/src/HTTPFetch.cc
++++ b/src/HTTPFetch.cc
+@@ -182,8 +182,10 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R
+ }
+
+ ne_request *req = ne_request_create(sess, Request.c_str(), URL.c_str());
++ ne_buffer *body = ne_buffer_create();
++
+ if (Request=="PUT")
+- ne_set_request_body_buffer(req,0,0);
++ ne_set_request_body_buffer(req, body->data, ne_buffer_size(body));
+
+ if (Request!="GET")
+ ne_set_request_flag(req, NE_REQFLAG_IDEMPOTENT, 0);
+@@ -195,6 +197,8 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R
+
+ Ret=m_d->m_Data.size();
+
++ ne_buffer_destroy(body);
++
+ ne_request_destroy(req);
+
+ m_d->m_ErrorMessage = ne_get_error(sess);
+--
+2.37.2
+
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
index f73b549df0..2b373d31e5 100644
--- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -1,22 +1,24 @@
SUMMARY = "MusicBrainz client library"
DESCRIPTION = "The MusicBrainz client is a library which can be built into other programs. The library allows you to access the data held on the MusicBrainz server."
HOMEPAGE = "http://musicbrainz.org"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
DEPENDS = "expat libxml2 libxml2-native neon neon-native libmusicbrainz-native"
-PV = "5.1.0+git${SRCPV}"
+PV = "5.1.0+git"
-SRCREV = "8be45b12a86bc0e46f2f836c8ac88e1e98d82aee"
-SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git"
+SRCREV = "4655b571a70d73d41467091f59c518517c956198"
+SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol=https \
+ file://0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch \
+ "
S = "${WORKDIR}/git"
inherit cmake pkgconfig
-EXTRA_OECMAKE_append_class-target = " -DIMPORT_EXECUTABLES=${STAGING_LIBDIR_NATIVE}/cmake/${BPN}/ImportExecutables.cmake"
+EXTRA_OECMAKE:append:class-target = " -DIMPORT_EXECUTABLES=${STAGING_LIBDIR_NATIVE}/cmake/${BPN}/ImportExecutables.cmake"
-do_install_append_class-native() {
+do_install:append:class-native() {
install -Dm 0755 ${B}/src/make-c-interface ${D}${bindir}/make-c-interface
install -Dm 0644 ${B}/ImportExecutables.cmake ${D}${libdir}/cmake/${BPN}/ImportExecutables.cmake
sed -i -e s:'${B}'/src/::g ${D}${libdir}/cmake/${BPN}/ImportExecutables.cmake
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
deleted file mode 100644
index 4a2b25cdd9..0000000000
--- a/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libmpd-11.8.17/src/libmpd-internal.h.orig 2014-09-30 04:08:50.963292427 +0200
-+++ libmpd-11.8.17/src/libmpd-internal.h 2014-09-30 04:08:30.595292223 +0200
-@@ -21,6 +21,7 @@
- #define __MPD_INTERNAL_LIB_
-
- #include "libmpdclient.h"
-+#include "config.h"
- struct _MpdData_real;
-
- typedef struct _MpdData_real {
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch
new file mode 100644
index 0000000000..dd50a71f7d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch
@@ -0,0 +1,27 @@
+From f0f8cc5ac6f1fa9cb5c98cb0b3688f44c64fa8ee Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 19 Jul 2017 14:22:48 +0200
+Subject: [PATCH 1/3] fix return makes integer from pointer without a cast
+
+Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libmpd-playlist.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libmpd-playlist.c b/src/libmpd-playlist.c
+index c3c30ec..64c64ea 100644
+--- a/src/libmpd-playlist.c
++++ b/src/libmpd-playlist.c
+@@ -780,7 +780,7 @@ int mpd_playlist_load(MpdObj *mi, const char *path)
+ if(mpd_lock_conn(mi))
+ {
+ debug_printf(DEBUG_ERROR,"lock failed\n");
+- return NULL;
++ return MPD_LOCK_FAILED;
+ }
+ mpd_sendLoadCommand(mi->connection,path);
+ mpd_finishCommand(mi->connection);
+--
+2.37.2
+
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch
new file mode 100644
index 0000000000..66d921ed6d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch
@@ -0,0 +1,27 @@
+From fa3b3b3759986171a85230ba8b53764beafdb37f Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 19 Jul 2017 14:40:00 +0200
+Subject: [PATCH 2/3] fix comparison between pointer and zero character constant
+
+Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libmpd-database.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libmpd-database.c b/src/libmpd-database.c
+index 2480d5e..edafc0a 100644
+--- a/src/libmpd-database.c
++++ b/src/libmpd-database.c
+@@ -961,7 +961,7 @@ MpdData * mpd_database_get_directory_recursive(MpdObj *mi, const char *path)
+ debug_printf(DEBUG_WARNING,"not connected\n");
+ return NULL;
+ }
+- if(path == '\0' || path[0] == '\0')
++ if(path == NULL || path[0] == '\0')
+ {
+ debug_printf(DEBUG_ERROR, "argumant invalid\n");
+ return NULL;
+--
+2.37.2
+
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch b/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch
new file mode 100644
index 0000000000..805204c0b2
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch
@@ -0,0 +1,26 @@
+From 67eae4f20af9aaaf693025d95a05527a2c1fed1a Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 19 Jul 2017 14:38:43 +0200
+Subject: [PATCH 3/3] include config.h
+
+Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libmpd-strfsong.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/libmpd-strfsong.c b/src/libmpd-strfsong.c
+index 7d47bed..76fa3ff 100644
+--- a/src/libmpd-strfsong.c
++++ b/src/libmpd-strfsong.c
+@@ -28,6 +28,7 @@
+ #include <unistd.h>
+ #include <string.h>
+ #include <glib.h>
++#include <config.h>
+ #include "libmpd.h"
+ #include "libmpd-internal.h"
+
+--
+2.37.2
+
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
index 54d79109df..3a4b3aa1a0 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
@@ -1,13 +1,14 @@
SUMMARY = "Music Player Daemon library"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
HOMEPAGE ="http://sourceforge.net/projects/musicpd"
DEPENDS = "glib-2.0"
SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \
- file://glibc-2.20.patch \
+ file://0001-fix-return-makes-integer-from-pointer-without-a-cast.patch \
+ file://0002-fix-comparison-between-pointer-and-zero-character-co.patch \
+ file://0003-include-config.h.patch \
"
-SRC_URI[md5sum] = "5ae3d87467d52aef3345407adb0a2488"
SRC_URI[sha256sum] = "fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83"
inherit autotools pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.19.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.20.bb
index 32f9688eaa..2746c6bb80 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.19.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.20.bb
@@ -6,15 +6,15 @@ HOMEPAGE = "https://www.musicpd.org/libs/libmpdclient/"
inherit meson
SRC_URI = " \
- git://github.com/MusicPlayerDaemon/libmpdclient \
+ git://github.com/MusicPlayerDaemon/libmpdclient;branch=master;protocol=https \
"
-SRCREV = "27767959442ef390aabb16790494ba93fed962ef"
+SRCREV = "7124a0ad4841a44db084bb785a6e7120bc8f0139"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= "tcp"
PACKAGECONFIG[tcp] = "-Dtcp=true,-Dtcp=false"
-do_install_append() {
+do_install:append() {
# libmpdclient's Vala bindings are outdated and unmaintained; it
# is likely that nobody will ever use them, so let's not install
# them
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb b/meta-multimedia/recipes-multimedia/musicpd/mpc_0.34.bb
index dcfc3df0bf..93df25ee2f 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/mpc_0.33.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpc_0.34.bb
@@ -1,13 +1,13 @@
SUMMARY = "A minimalist command line interface to the Music Player Daemon"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
HOMEPAGE = "https://www.musicpd.org/clients/mpc/"
-inherit meson
+inherit meson pkgconfig
DEPENDS += "libmpdclient"
-SRC_URI = "git://github.com/MusicPlayerDaemon/mpc"
-SRCREV = "ef16b280052ef0320cb80f79d74c8ce0324005ed"
+SRC_URI = "git://github.com/MusicPlayerDaemon/mpc;branch=master;protocol=https"
+SRCREV = "31c900b79b3a1cd7f2944e92f24223d12589fdaa"
S = "${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-include-utility-for-std-forward.patch b/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-include-utility-for-std-forward.patch
deleted file mode 100644
index 68ccb65835..0000000000
--- a/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-include-utility-for-std-forward.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 9bb962148672a3c20fb0119d7f71789b8ef3dc02 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 29 Jun 2021 19:31:34 -0700
-Subject: [PATCH] include <utility> for std::forward
-
-Fixes
-../git/src/Log.hxx:121:42: error: no member named 'forward' in namespace 'std'
- LogFormat(LogLevel::ERROR, e, fmt, std::forward<Args>(args)...);
-
-Upstream-Status: Submitted [https://github.com/MusicPlayerDaemon/MPD/pull/1201]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/Log.hxx | 1 +
- src/lib/expat/ExpatParser.hxx | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/src/Log.hxx b/src/Log.hxx
-index a295ed9f6..87097b086 100644
---- a/src/Log.hxx
-+++ b/src/Log.hxx
-@@ -24,6 +24,7 @@
- #include "util/Compiler.h"
-
- #include <exception>
-+#include <utility>
-
- class Domain;
-
-diff --git a/src/lib/expat/ExpatParser.hxx b/src/lib/expat/ExpatParser.hxx
-index e1723d109..4b5221e89 100644
---- a/src/lib/expat/ExpatParser.hxx
-+++ b/src/lib/expat/ExpatParser.hxx
-@@ -25,6 +25,7 @@
- #include <expat.h>
-
- #include <stdexcept>
-+#include <utility>
-
- class InputStream;
-
---
-2.32.0
-
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch b/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch
new file mode 100644
index 0000000000..b2dea331ef
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch
@@ -0,0 +1,26 @@
+From e62fd0eefe8b475e70d87a673a7216aac3bb622f Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 20 Nov 2023 17:49:59 +0100
+Subject: [PATCH] patch src_decoder_plugins_FfmpegIo.cxx
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+Upstream-Status: Pending [https://github.com/MusicPlayerDaemon/MPD/issues/1898]
+---
+ src/decoder/plugins/FfmpegIo.cxx | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/decoder/plugins/FfmpegIo.cxx b/src/decoder/plugins/FfmpegIo.cxx
+index 572f1a86a..3e2347fec 100644
+--- a/src/decoder/plugins/FfmpegIo.cxx
++++ b/src/decoder/plugins/FfmpegIo.cxx
+@@ -25,6 +25,7 @@
+ #include "input/InputStream.hxx"
+
+ extern "C" {
++#include <libavutil/error.h>
+ #include <libavutil/mem.h>
+ }
+
+--
+2.42.0
+
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.22.9.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb
index c112a40ce9..a762fc8322 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.22.9.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb
@@ -1,5 +1,5 @@
SUMMARY = "Music Player Daemon"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
HOMEPAGE ="http://www.musicpd.org"
@@ -15,21 +15,21 @@ DEPENDS += " \
icu \
dbus \
expat \
+ fmt \
"
-SRC_URI = " \
- git://github.com/MusicPlayerDaemon/MPD;branch=v0.22.x \
- file://0001-include-utility-for-std-forward.patch \
- file://mpd.conf.in \
-"
-SRCREV = "18628bf89ebfa5a806971479a71cf9b5764e500e"
+SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \
+ file://0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch \
+ file://mpd.conf.in \
+ "
+SRCREV = "feac1a3f56591ccfb00870aba66c9ac3abac4773"
S = "${WORKDIR}/git"
EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}"
-PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "aac", "", d)} \
+PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \
alsa ao bzip2 daemon \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "ffmpeg aac", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "ffmpeg aac", "", d)} \
fifo flac fluidsynth iso9660 \
jack libsamplerate httpd \
mms mpg123 modplug sndfile \
@@ -63,12 +63,12 @@ PACKAGECONFIG[oss] = "-Doss=enabled,-Doss=disabled,"
PACKAGECONFIG[recorder] = "-Drecorder=true,-Drecorder=false"
PACKAGECONFIG[smb] = "-Dsmbclient=enabled,-Dsmbclient=disabled,samba"
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
-PACKAGECONFIG[upnp] = "-Dupnp=enabled,-Dupnp=disabled,libupnp"
+PACKAGECONFIG[upnp] = "-Dupnp=pupnp,-Dupnp=disabled,libupnp"
PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis libogg"
PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
PACKAGECONFIG[zlib] = "-Dzlib=enabled,-Dzlib=disabled,zlib"
-do_install_append() {
+do_install:append() {
install -o mpd -d \
${D}/${localstatedir}/lib/mpd \
${D}/${localstatedir}/lib/mpd/playlists
@@ -89,13 +89,13 @@ do_install_append() {
rm -rf ${D}${datadir}/icons
}
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "mpd.socket"
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "mpd.socket"
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = " \
+USERADD_PARAM:${PN} = " \
--system --no-create-home \
--home ${localstatedir}/lib/mpd \
--groups audio \
diff --git a/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb b/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb
index c089b64edc..d93c054f45 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.45.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb
@@ -1,17 +1,17 @@
SUMMARY = "A curses client for the Music Player Daemon"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
HOMEPAGE = "https://www.musicpd.org/clients/ncmpc/"
-inherit meson
+inherit meson pkgconfig
DEPENDS += " \
- boost \
ncurses \
+ libpcre2 \
libmpdclient \
"
-RDEPENDS_${PN} += "python3-core"
+RDEPENDS:${PN} += "python3-core"
PACKAGECONFIG ??= "colors locale mouse nls regex help_screen library_screen search_screen song_screen key_screen lyrics_screen outputs_screen"
@@ -32,8 +32,6 @@ PACKAGECONFIG[lyrics_screen] = "-Dlyrics_screen=true,-Dlyrics_screen=false"
PACKAGECONFIG[outputs_screen] = "-Doutputs_screen=true,-Doutputs_screen=false"
PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
-SRC_URI = " \
- git://github.com/MusicPlayerDaemon/ncmpc \
-"
-SRCREV = "6780ec072f1d314f44ed77efdc58d03c6fbcc96b"
+SRC_URI = "git://github.com/MusicPlayerDaemon/ncmpc;branch=master;protocol=https"
+SRCREV = "f81f875fc5785383d24f54fb9bd3cf06efd915a4"
S = "${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
index 2db30dda06..444bc1cf39 100644
--- a/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
+++ b/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
@@ -7,7 +7,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=79aa497b11564d1d419ee889e7b498f6"
SRCREV = "913f29d3d550637934f9abf43a097eb2c30d76fc"
-SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master \
+SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master;protocol=https \
file://0001-Remove-python-venv.patch \
file://0002-dev_setup.sh-Remove-the-git-dependency.patch \
file://0003-dev_setup.sh-Remove-the-TERM-dependency.patch \
@@ -22,7 +22,7 @@ SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master \
S = "${WORKDIR}/git"
-inherit systemd
+inherit systemd features_check
# Mycroft installs itself on the host
# Just copy the setup files to the rootfs
@@ -48,11 +48,11 @@ do_install() {
fi
}
-FILES_${PN} += "${libdir}/mycroft"
+FILES:${PN} += "${libdir}/mycroft"
-RDEPENDS_${PN} = "python3"
+RDEPENDS:${PN} = "python3"
-RDEPENDS_${PN} += "python3-requests python3-pillow \
+RDEPENDS:${PN} += "python3-requests python3-pillow \
python3-tornado python3-pyyaml \
python3-pyalsaaudio python3-inflection \
python3-pyserial python3-psutil \
@@ -61,7 +61,7 @@ RDEPENDS_${PN} += "python3-requests python3-pillow \
python3-xxhash python3-pako \
python3-six python3-cryptography \
python3-requests-futures \
- python3-xmlrunner python3-fasteners \
+ python3-fasteners \
python3-python-vlc \
python3-padatious python3-padaos \
python3-petact python3-precise-runner \
@@ -77,14 +77,19 @@ RDEPENDS_${PN} += "python3-requests python3-pillow \
# python3-python-dateutil python3-adapt-parser python3-lazy
# Mycroft uses Alsa, PulseAudio and Flac
-RDEPENDS_${PN} += "alsa-utils alsa-plugins alsa-tools"
-RDEPENDS_${PN} += "pulseaudio pulseaudio-misc pulseaudio-server"
-RDEPENDS_${PN} += "flac mpg123"
+RDEPENDS:${PN} += "alsa-utils alsa-plugins alsa-tools"
+RDEPENDS:${PN} += "pulseaudio pulseaudio-misc pulseaudio-server"
+RDEPENDS:${PN} += "flac mpg123"
# Mycroft can do this itself on the target, but it's quicker to do it here
-RDEPENDS_${PN} += "mimic"
+RDEPENDS:${PN} += "mimic"
# pgrep is used by stop-mycroft.sh
-RDEPENDS_${PN} += "procps"
+RDEPENDS:${PN} += "procps"
-SYSTEMD_SERVICE_${PN} = "mycroft-setup.service mycroft.service"
+# More tools needed by scripts
+RDEPENDS:${PN} += "bash jq libnotify"
+
+SYSTEMD_SERVICE:${PN} = "mycroft-setup.service mycroft.service"
+
+REQUIRED_DISTRO_FEATURES += "pulseaudio"
diff --git a/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers/0001-Makefile-add-clean-target.patch b/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers/0001-Makefile-add-clean-target.patch
new file mode 100644
index 0000000000..ac9e70a718
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers/0001-Makefile-add-clean-target.patch
@@ -0,0 +1,27 @@
+From 3b74181d626f7dedb47377450ca7c43457a66cda Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_L_K@t-online.de>
+Date: Sat, 1 Apr 2023 04:42:32 +0200
+Subject: [PATCH] Makefile: add clean target
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index a51c2c9..fbe2aec 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,5 +19,7 @@ install: all
+ uninstall:
+ rm -rf '$(DESTDIR)$(PREFIX)/include/ffnvcodec' '$(DESTDIR)$(PREFIX)/$(LIBDIR)/pkgconfig/ffnvcodec.pc'
+
+-.PHONY: all install uninstall
++clean: uninstall
++
++.PHONY: all clean install uninstall
+
+--
+2.34.1
+
diff --git a/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb b/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb
new file mode 100644
index 0000000000..36885f29e2
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "FFmpeg nvidia headers"
+HOMEPAGE = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/include/ffnvcodec/dynlink_cuda.h;beginline=1;endline=26;md5=bb54a418154445b0aa99e15f640eacf4"
+
+SRC_URI = " \
+ git://git.videolan.org/git/ffmpeg/nv-codec-headers.git;branch=master;protocol=https \
+ file://0001-Makefile-add-clean-target.patch \
+"
+SRCREV = "1889e62e2d35ff7aa9baca2bceb14f053785e6f1"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} LIBDIR=${baselib}"
+
+do_install() {
+ oe_runmake install
+}
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch b/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch
deleted file mode 100644
index 2bffd65c6e..0000000000
--- a/meta-multimedia/recipes-multimedia/openal/openal-soft/0001-Use-BUILD_CC-to-compile-native-tools.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 29217932c34d7e3368764ab64879dc6f1edab1a6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 14 Jan 2019 11:19:44 -0800
-Subject: [PATCH] Use host compiler to compile native tools
-
-Helps in cross compiling
-
-Upstream-Status: Inappropriate [OE-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- CMakeLists.txt | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1085,11 +1085,10 @@ ELSE()
- SET(BIN2H_COMMAND "${NATIVE_BIN_DIR}/bin2h")
- SET(BSINCGEN_COMMAND "${NATIVE_BIN_DIR}/bsincgen")
- ADD_CUSTOM_COMMAND(OUTPUT "${BIN2H_COMMAND}" "${BSINCGEN_COMMAND}"
-- COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" "${NATIVE_SRC_DIR}"
- COMMAND ${CMAKE_COMMAND} -E remove "${BIN2H_COMMAND}" "${BSINCGEN_COMMAND}"
-- COMMAND ${CMAKE_COMMAND} --build . --config "Release"
-+ COMMAND gcc "${NATIVE_SRC_DIR}/bin2h.c" -o "${BIN2H_COMMAND}" -lm
-+ COMMAND gcc "${NATIVE_SRC_DIR}/bsincgen.c" -o "${BSINCGEN_COMMAND}" -lm
- WORKING_DIRECTORY "${NATIVE_BIN_DIR}"
-- DEPENDS "${NATIVE_SRC_DIR}/CMakeLists.txt"
- IMPLICIT_DEPENDS
- C "${NATIVE_SRC_DIR}/bin2h.c"
- C "${NATIVE_SRC_DIR}/bsincgen.c"
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch b/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch
deleted file mode 100644
index 607ddab8d6..0000000000
--- a/meta-multimedia/recipes-multimedia/openal/openal-soft/0002-makehrtf-Disable-Wstringop-truncation.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 07ef86e33ed6f7585f0dfaa1732ea17c816655a4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 14 Jan 2019 11:45:42 -0800
-Subject: [PATCH] makehrtf: Disable Wstringop-truncation
-
-Upstream-Status: Inappropriate [Should be fixed in code]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- utils/makemhr/makemhr.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/utils/makemhr/makemhr.cpp
-+++ b/utils/makemhr/makemhr.cpp
-@@ -161,6 +161,7 @@ enum ChannelIndex : uint {
- * pattern string are replaced with the replacement string. The result is
- * truncated if necessary.
- */
-+#pragma GCC diagnostic ignored "-Wstringop-truncation"
- static int StrSubst(const char *in, const char *pat, const char *rep, const size_t maxLen, char *out)
- {
- size_t inLen, patLen, repLen;
-@@ -199,6 +200,7 @@ static int StrSubst(const char *in, cons
- return !truncated;
- }
-
-+#pragma GCC diagnostic pop
-
- /*********************
- *** Math routines ***
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.20.1.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.20.1.bb
deleted file mode 100644
index d283cb361b..0000000000
--- a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.20.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "OpenAL is a cross-platform 3D audio API"
-HOMEPAGE = "http://kcat.strangesoft.net/openal.html"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0f159f19f9377e1895fbb477d5a7953e"
-
-inherit cmake pkgconfig
-
-SRCREV = "f5e0eef34db3a3ab94b61a2f99f84f078ba947e7"
-SRC_URI = "git://github.com/kcat/openal-soft \
- file://0001-Use-BUILD_CC-to-compile-native-tools.patch \
- file://0002-makehrtf-Disable-Wstringop-truncation.patch \
- "
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
-PACKAGECONFIG[alsa] = "-DALSA=TRUE, -DALSA=FALSE, alsa-lib"
-PACKAGECONFIG[pulseaudio] = "-DPULSEAUDIO=TRUE, -DPULSEAUDIO=FALSE, pulseaudio"
-# currently doesn't work with libav-9
-# PKG_CHECK_MODULES(FFMPEG libavcodec>=53.61.100 libavformat>=53.32.100 libavutil>=51.35.100)
-# but alffmpeg.c:418:44: error: 'AV_CH_LAYOUT_MONO' undeclared (first use in this function)
-PACKAGECONFIG[examples] = "-DEXAMPLES=TRUE, -DEXAMPLES=FALSE, libav"
-
-FILES_${PN} += "${datadir}/openal"
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb
new file mode 100644
index 0000000000..83745703f5
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "OpenAL is a cross-platform 3D audio API"
+HOMEPAGE = "http://kcat.strangesoft.net/openal.html"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0f159f19f9377e1895fbb477d5a7953e"
+
+inherit cmake pkgconfig
+
+DEPENDS = "zlib libsndfile1"
+
+SRCREV = "d3875f333fb6abe2f39d82caca329414871ae53b"
+SRC_URI = "git://github.com/kcat/openal-soft.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pipewire pulseaudio', d)}"
+PACKAGECONFIG[alsa] = "-DALSOFT_BACKEND_ALSA=ON,-DALSOFT_BACKEND_ALSA=OFF,alsa-lib"
+PACKAGECONFIG[oss] = "-DALSOFT_BACKEND_OSS=ON,-DALSOFT_BACKEND_OSS=OFF"
+PACKAGECONFIG[pulseaudio] = "-DALSOFT_BACKEND_PULSEAUDIO=ON,-DALSOFT_BACKEND_PULSEAUDIO=OFF,pulseaudio"
+PACKAGECONFIG[pipewire] = "-DALSOFT_BACKEND_PIPEWIRE=ON,-DALSOFT_BACKEND_PIPEWIRE=OFF,pipewire"
+PACKAGECONFIG[examples] = "-DALSOFT_EXAMPLES=ON,-DALSOFT_EXAMPLES=OFF"
+PACKAGECONFIG[sdl2] = "-DALSOFT_BACKEND_SDL2=ON,-DALSOFT_BACKEND_SDL2=OFF,libsdl2 ffmpeg"
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.3.bb b/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.6.bb
index ab5813ebe9..be7977308b 100644
--- a/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.3.bb
+++ b/meta-multimedia/recipes-multimedia/opencore-amr/opencore-amr_0.1.6.bb
@@ -4,10 +4,10 @@ SECTION = "libs"
LICENSE = "Apache-2.0"
LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dd2c2486aca02190153cf399e508c7e7"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dd2c2486aca02190153cf399e508c7e7"
SRC_URI = "${SOURCEFORGE_MIRROR}/opencore-amr/${BP}.tar.gz"
-SRC_URI[md5sum] = "09d2c5dfb43a9f6e9fec8b1ae678e725"
-SRC_URI[sha256sum] = "106bf811c1f36444d7671d8fd2589f8b2e0cca58a2c764da62ffc4a070595385"
+SRC_URI[md5sum] = "03de025060a4f16c4c44218f65e13e95"
+SRC_URI[sha256sum] = "483eb4061088e2b34b358e47540b5d495a96cd468e361050fae615b1809dc4a1"
inherit autotools
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch b/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch
new file mode 100644
index 0000000000..298ac1c013
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch
@@ -0,0 +1,103 @@
+From bc3a3baeaccfe9c1286848b348baf92dfbd05346 Mon Sep 17 00:00:00 2001
+From: Benjamin Bara <benjamin.bara@skidata.com>
+Date: Thu, 31 Aug 2023 09:27:31 +0200
+Subject: [PATCH 2/2] Makefile: add possibility to disable NEON extension
+
+README states that the NEON extension is optional. However, currently it
+cannot be turned off, therefore add an option to disable it.
+
+Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3679]
+Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
+---
+ Makefile | 1 +
+ build/arch.mk | 4 ++++
+ build/msvc-common.mk | 10 ++++++++--
+ build/platform-mingw_nt.mk | 5 ++++-
+ 4 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index baed53a7..cc22c4aa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -35,6 +35,7 @@ CCASFLAGS=$(CFLAGS)
+ STATIC_LDFLAGS=-lstdc++
+ STRIP ?= strip
+ USE_STACK_PROTECTOR = Yes
++USE_NEON=Yes
+
+ SHAREDLIB_MAJORVERSION=7
+ FULL_VERSION := 2.3.1
+diff --git a/build/arch.mk b/build/arch.mk
+index 4e1538c4..fd6a81e4 100644
+--- a/build/arch.mk
++++ b/build/arch.mk
+@@ -17,18 +17,22 @@ ifneq ($(filter-out arm64 arm64e, $(filter arm%, $(ARCH))),)
+ ifeq ($(USE_ASM), Yes)
+ ASM_ARCH = arm
+ ASMFLAGS += -I$(SRC_PATH)codec/common/arm/
++ifeq ($(USE_NEON), Yes)
+ CFLAGS += -DHAVE_NEON
+ endif
+ endif
++endif
+
+ #for arm64
+ ifneq ($(filter arm64 aarch64 arm64e, $(ARCH)),)
+ ifeq ($(USE_ASM), Yes)
+ ASM_ARCH = arm64
+ ASMFLAGS += -I$(SRC_PATH)codec/common/arm64/
++ifeq ($(USE_NEON), Yes)
+ CFLAGS += -DHAVE_NEON_AARCH64
+ endif
+ endif
++endif
+
+ #for mips
+ ifneq ($(filter mips mips64, $(ARCH)),)
+diff --git a/build/msvc-common.mk b/build/msvc-common.mk
+index 5891ea4e..5a1e2582 100644
+--- a/build/msvc-common.mk
++++ b/build/msvc-common.mk
+@@ -10,7 +10,10 @@ else
+ endif
+ ifeq ($(ASM_ARCH), arm)
+ CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm
+-CCASFLAGS = -nologo -DHAVE_NEON -ignore 4509
++CCASFLAGS = -nologo -ignore 4509
++ifeq ($(USE_NEON), Yes)
++CCASFLAGS += -DHAVE_NEON
++endif
+ endif
+
+ CC=cl
+@@ -20,7 +23,10 @@ CXX_O=-Fo$@
+
+ ifeq ($(ASM_ARCH), arm64)
+ CCAS = clang-cl
+-CCASFLAGS = -nologo -DHAVE_NEON_AARCH64 --target=arm64-windows
++CCASFLAGS = -nologo --target=arm64-windows
++ifeq ($(USE_NEON), Yes)
++CCASFLAGS += -DHAVE_NEON_AARCH64
++endif
+ endif
+
+
+diff --git a/build/platform-mingw_nt.mk b/build/platform-mingw_nt.mk
+index b7a5495d..d73e362a 100644
+--- a/build/platform-mingw_nt.mk
++++ b/build/platform-mingw_nt.mk
+@@ -17,7 +17,10 @@ endif
+ endif
+ ifeq ($(ASM_ARCH), arm)
+ CCAS = gas-preprocessor.pl -as-type clang -force-thumb -- $(CC)
+-CCASFLAGS = -DHAVE_NEON -mimplicit-it=always
++CCASFLAGS = -mimplicit-it=always
++ifeq ($(USE_NEON), Yes)
++CCASFLAGS += -DHAVE_NEON
++endif
+ endif
+ EXEEXT = .exe
+
+--
+2.34.1
+
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb b/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb
deleted file mode 100644
index 75d5010f18..0000000000
--- a/meta-multimedia/recipes-multimedia/openh264/openh264_2.1.1.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
-decoding. It is suitable for use in real time applications such as WebRTC."
-HOMEPAGE = "http://www.openh264.org/"
-SECTION = "libs/multimedia"
-
-DEPENDS_append_x86 = " nasm-native"
-DEPENDS_append_x86-64 = " nasm-native"
-
-LICENSE = "BSD-2-Clause"
-LICENSE_FLAGS = "commercial"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
-
-S = "${WORKDIR}/git"
-SRCREV = "50a1fcf70fafe962c526749991cb4646406933ba"
-BRANCH = "openh264v2.1.1"
-SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
- file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
- "
-
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-COMPATIBLE_MACHINE_aarch64 = "(.*)"
-COMPATIBLE_MACHINE_x86 = "(.*)"
-COMPATIBLE_MACHINE_x86-64 = "(.*)"
-COMPATIBLE_MACHINE_mips = "(.*)"
-COMPATIBLE_MACHINE_mips64 = "(.*)"
-COMPATIBLE_MACHINE_powerpc64le = "null"
-
-EXTRA_OEMAKE_armv7a = "ARCH=arm"
-EXTRA_OEMAKE_armv7ve = "ARCH=arm"
-EXTRA_OEMAKE_aarch64 = "ARCH=arm64"
-EXTRA_OEMAKE_x86 = "ARCH=i386"
-EXTRA_OEMAKE_x86-64 = "ARCH=x86_64"
-EXTRA_OEMAKE_mips = "ARCH=mips"
-EXTRA_OEMAKE_mips64 = "ARCH=mips64"
-EXTRA_OEMAKE_riscv64 = "ARCH=riscv64"
-
-EXTRA_OEMAKE_append = " ENABLEPIC=Yes"
-do_configure() {
- :
-}
-
-do_compile() {
- oe_runmake
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} PREFIX=${prefix}
-}
-
-CLEANBROKEN = "1"
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb b/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
new file mode 100644
index 0000000000..6dfd759355
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Open Source H.264 Codec"
+DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
+decoding. It is suitable for use in real time applications such as WebRTC."
+HOMEPAGE = "http://www.openh264.org/"
+SECTION = "libs/multimedia"
+
+DEPENDS:append:x86 = " nasm-native"
+DEPENDS:append:x86-64 = " nasm-native"
+
+LICENSE = "BSD-2-Clause"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
+
+S = "${WORKDIR}/git"
+SRCREV = "0a48f4d2e9be2abb4fb01b4c3be83cf44ce91a6e"
+BRANCH = "openh264v${PV}"
+SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
+ file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
+ file://0002-Makefile-add-possibility-to-disable-NEON-extension.patch \
+ "
+
+COMPATIBLE_MACHINE:armv7a = "(.*)"
+COMPATIBLE_MACHINE:aarch64 = "(.*)"
+COMPATIBLE_MACHINE:x86 = "(.*)"
+COMPATIBLE_MACHINE:x86-64 = "(.*)"
+COMPATIBLE_MACHINE:mips = "(.*)"
+COMPATIBLE_MACHINE:mips64 = "(.*)"
+COMPATIBLE_MACHINE:powerpc64le = "null"
+
+EXTRA_OEMAKE:armv7a = "ARCH=arm"
+EXTRA_OEMAKE:armv7ve = "ARCH=arm"
+EXTRA_OEMAKE:aarch64 = "ARCH=arm64"
+EXTRA_OEMAKE:x86 = "ARCH=i386"
+EXTRA_OEMAKE:x86-64 = "ARCH=x86_64"
+EXTRA_OEMAKE:mips = "ARCH=mips"
+EXTRA_OEMAKE:mips64 = "ARCH=mips64"
+EXTRA_OEMAKE:riscv64 = "ARCH=riscv64"
+
+EXTRA_OEMAKE:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
+EXTRA_OEMAKE:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
+
+EXTRA_OEMAKE:append = " ENABLEPIC=Yes"
+do_configure() {
+ :
+}
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIBDIR_NAME=${baselib} SHAREDLIB_DIR=${libdir}
+}
+
+CLEANBROKEN = "1"
diff --git a/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb b/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb
new file mode 100644
index 0000000000..b76c5ba01d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Opus Audio Tools"
+HOMEPAGE = "http://www.opus-codec.org/"
+
+LICENSE = "BSD-2-Clause & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=79f6fc2a6239fbe5f6e52f20ac76698c"
+
+SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz"
+SRC_URI[md5sum] = "ff2d0536e960cabbfb8ca7c8c1759b6c"
+SRC_URI[sha256sum] = "b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86"
+
+S = "${WORKDIR}/opus-tools-${PV}"
+
+DEPENDS = "libopus libopusenc flac opusfile"
+
+inherit autotools pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
index 0601cdd99b..672c8abc9a 100644
--- a/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
+++ b/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
@@ -11,7 +11,7 @@ PACKAGES = ' \
packagegroup-meta-multimedia-support \
'
-RDEPENDS_packagegroup-meta-multimedia = "\
+RDEPENDS:packagegroup-meta-multimedia = "\
packagegroup-meta-multimedia \
packagegroup-meta-multimedia-connectivity \
packagegroup-meta-multimedia-dvb \
@@ -19,90 +19,59 @@ RDEPENDS_packagegroup-meta-multimedia = "\
packagegroup-meta-multimedia-support \
"
-RDEPENDS_packagegroup-meta-multimedia = "\
+RDEPENDS:packagegroup-meta-multimedia = "\
alsa-equal \
aom \
+ bluealsa \
caps \
cdparanoia \
- dcadec \
- dleyna-connector-dbus \
- dleyna-core \
- dleyna-renderer \
- dleyna-server \
dvb-apps \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "faac fdk-aac mpd", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "faac mpd", "", d)} \
gerbera \
- libao \
libavc1394 \
- libdc1394 \
- libdvbpsi \
- libdvdnav \
libiec61883 \
- fluidsynth \
libmusicbrainz \
- libmpdclient \
mpc \
ncmpc \
- libmpd \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "opencore-amr vo-aacenc vo-amrwbenc", "", d)} \
- gst-shark \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "opencore-amr", "", d)} \
gstd \
rtmpdump \
bigbuckbunny-1080p \
bigbuckbunny-480p \
bigbuckbunny-720p \
tearsofsteel-1080p \
- schroedinger \
pipewire \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "projucer", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", bb.utils.contains("DISTRO_FEATURES", "x11", "projucer", "", d), "", d)} \
libcamera \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libde265 openh264", "", d)} \
vorbis-tools \
- libdvbcsa \
libopenmpt \
- libuvc \
mimic \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "minidlna", "", d)} \
- mycroft \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "minidlna", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pulseaudio", "mycroft", "", d)} \
openal-soft \
opusfile \
- libdvdcss \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", bb.utils.contains("DISTRO_FEATURES", "x11", "vlc", "", d), "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "sox streamripper", "", d)} \
+ opus-tools \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", bb.utils.contains("DISTRO_FEATURES", "x11", "vlc", "", d), "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "sox streamripper", "", d)} \
tinyalsa \
- tremor \
- webrtc-audio-processing \
- ${@bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 x86-64", "x265", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 i686 x86-64", "x265", "", d), "", d)} \
"
-RDEPENDS_packagegroup-meta-multimedia_remove_libc-musl = "projucer"
-RDEPENDS_packagegroup-meta-multimedia_remove_powerpc64le = "openh264"
+RDEPENDS:packagegroup-meta-multimedia:remove:libc-musl = "projucer"
-RDEPENDS_packagegroup-meta-multimedia-connectivity = "\
- gssdp \
- gupnp-av \
+RDEPENDS:packagegroup-meta-multimedia-connectivity = "\
gupnp-dlna \
- gupnp-igd \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "gupnp-tools", "", d)} \
- gupnp \
libupnp \
- ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "rygel", "", d)} \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "rygel", "", d), "", d)} \
"
-RDEPENDS_packagegroup-meta-multimedia-dvb = "\
+RDEPENDS:packagegroup-meta-multimedia-dvb = "\
oscam \
tvheadend \
"
-RDEPENDS_packagegroup-meta-multimedia-mkv = "\
- libebml \
- libmatroska \
-"
-
-RDEPENDS_packagegroup-meta-multimedia-support = "\
+RDEPENDS:packagegroup-meta-multimedia-support = "\
crossguid \
- ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "libmediaart-2.0", "", d)} \
gst-instruments \
- libsrtp \
- srt \
"
# devel headers/libraries only packages
# libsquish
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
index bcb3015f8b..9895e89761 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
@@ -1,8 +1,7 @@
SUMMARY = "Multimedia processing server for Linux"
-AUTHOR = "Wim Taymans <wtaymans@redhat.com>"
HOMEPAGE = "https://pipewire.org"
SECTION = "multimedia"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=d8153c6e65986f862a0550ca74a3ed73 \
file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
@@ -11,7 +10,7 @@ DEPENDS = "alsa-lib dbus udev"
SRCREV = "14c11c0fe4d366bad4cfecdee97b6652ff9ed63d"
PV = "0.2.7"
-SRC_URI = "git://github.com/PipeWire/pipewire"
+SRC_URI = "git://github.com/PipeWire/pipewire;branch=master;protocol=https"
S = "${WORKDIR}/git"
@@ -35,31 +34,31 @@ PACKAGES =+ "\
lib${PN}-modules \
"
-RDEPENDS_lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
+RDEPENDS:lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
-FILES_${PN} = "\
+FILES:${PN} = "\
${sysconfdir}/pipewire/pipewire.conf \
${bindir}/pipewire* \
${systemd_user_unitdir}/* \
"
-FILES_lib${PN} = "\
+FILES:lib${PN} = "\
${libdir}/libpipewire-*.so.* \
"
-FILES_lib${PN}-modules = "\
+FILES:lib${PN}-modules = "\
${libdir}/pipewire-*/* \
"
-FILES_${PN}-spa-plugins = "\
+FILES:${PN}-spa-plugins = "\
${bindir}/spa-* \
${libdir}/spa/* \
"
-FILES_${PN}-alsa = "\
+FILES:${PN}-alsa = "\
${libdir}/alsa-lib/* \
${datadir}/alsa/alsa.conf.d/50-pipewire.conf \
"
-FILES_gstreamer1.0-${PN} = "\
+FILES:gstreamer1.0-${PN} = "\
${libdir}/gstreamer-1.0/* \
"
-CONFFILES_${PN} = "\
+CONFFILES:${PN} = "\
${sysconfdir}/pipewire/pipewire.conf \
"
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb
new file mode 100644
index 0000000000..8ae0624135
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "PipeWire Media Session is an example session manager for PipeWire"
+HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/media-session"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a"
+
+DEPENDS = " \
+ pipewire \
+ alsa-lib \
+ dbus \
+"
+
+SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+SRCREV = "80dae7e24bec02b2befe09a72fbac6e2b38ccb5c"
+
+inherit meson pkgconfig
+# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2952
+CFLAGS += "-DPW_ENABLE_DEPRECATED"
+FILES:${PN} += " \
+ ${systemd_user_unitdir}/pipewire-media-session.service \
+ ${datadir}/pipewire/media-session.d/* \
+"
+
+RRECOMMENDS:${PN} += "pipewire"
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb
deleted file mode 100644
index 3e8792118c..0000000000
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.31.bb
+++ /dev/null
@@ -1,285 +0,0 @@
-SUMMARY = "Multimedia processing server for Linux"
-DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices"
-HOMEPAGE = "https://pipewire.org/"
-BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues"
-LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only"
-LIC_FILES_CHKSUM = " \
- file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \
- file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \
-"
-SECTION = "multimedia"
-
-DEPENDS = "dbus"
-
-SRCREV = "c43dabcc96e2e072cdf08e5f094bb677d9017c6b"
-SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig systemd manpages gettext useradd
-
-USERADD_PACKAGES = "${PN}"
-
-GROUPADD_PARAM_${PN} = "--system pipewire"
-
-USERADD_PARAM_${PN} = "--system --home / --no-create-home \
- --comment 'PipeWire multimedia daemon' \
- --gid pipewire --groups audio,video \
- pipewire"
-
-# For "EVL", look up https://evlproject.org/ . It involves
-# a specially prepared kernel, and is currently unavailable
-# in Yocto.
-#
-# FFmpeg and Vulkan aren't really supported - at the current
-# stage (version 0.3.22), these are just experiments, not
-# actual features.
-#
-# libcamera support currently does not build successfully.
-#
-# systemd user service files are disabled because per-user
-# PipeWire instances aren't really something that makes
-# much sense in an embedded environment. A system-wide
-# instance does.
-#
-# manpage generation requires xmltoman, which is not available.
-EXTRA_OEMESON += " \
- -Daudiotestsrc=enabled \
- -Devl=disabled \
- -Dsystemd-user-service=disabled \
- -Dtests=disabled \
- -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \
- -Dvideotestsrc=enabled \
- -Dffmpeg=disabled \
- -Dvulkan=disabled \
- -Dlibcamera=disabled \
- -Dman=disabled \
-"
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'alsa systemd', d)} \
- gstreamer jack v4l2 \
-"
-
-# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
-# since "jack" imports libjack, and "pipewire-jack" generates
-# libjack.so* files, thus colliding with the libpack package. This
-# is why these two are marked in their respective packageconfigs
-# as being in conflict.
-
-PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev"
-PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
-PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native"
-PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
-PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
-PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
-PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemd-system-service=enabled ,-Dsystemd=disabled -Dsystemd-system-service=disabled,systemd"
-PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
-PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib"
-PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack"
-
-PACKAGESPLITFUNCS_prepend = " split_dynamic_packages "
-PACKAGESPLITFUNCS_append = " set_dynamic_metapkg_rdepends "
-
-SPA_SUBDIR = "spa-0.2"
-PW_MODULE_SUBDIR = "pipewire-0.3"
-
-remove_unused_installed_files() {
- # jack.conf is used by pipewire-jack (not the JACK SPA plugin).
- # Remove it if pipewire-jack is not built to avoid creating the
- # pipewire-jack package.
- if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then
- rm -f "${D}${datadir}/pipewire/jack.conf"
- fi
-}
-
-do_install[postfuncs] += "remove_unused_installed_files"
-
-python split_dynamic_packages () {
- # Create packages for each SPA plugin. These plugins are located
- # in individual subdirectories, so a recursive search is needed.
- spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}')
- do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True)
-
- # Create packages for each PipeWire module.
- pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}')
- do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False)
-}
-
-python set_dynamic_metapkg_rdepends () {
- import os
- import oe.utils
-
- # Go through all generated SPA plugin and PipeWire module packages
- # (excluding the main package and the -meta package itself) and
- # add them to the -meta package as RDEPENDS.
-
- base_pn = d.getVar('PN')
-
- spa_pn = base_pn + '-spa-plugins'
- spa_metapkg = spa_pn + '-meta'
-
- pw_module_pn = base_pn + '-modules'
- pw_module_metapkg = pw_module_pn + '-meta'
-
- d.setVar('ALLOW_EMPTY_' + spa_metapkg, "1")
- d.setVar('FILES_' + spa_metapkg, "")
-
- d.setVar('ALLOW_EMPTY_' + pw_module_metapkg, "1")
- d.setVar('FILES_' + pw_module_metapkg, "")
-
- blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ]
- spa_metapkg_rdepends = []
- pw_module_metapkg_rdepends = []
- pkgdest = d.getVar('PKGDEST')
-
- for pkg in oe.utils.packages_filter_out_system(d):
- if pkg in blacklist:
- continue
-
- is_spa_pkg = pkg.startswith(spa_pn)
- is_pw_module_pkg = pkg.startswith(pw_module_pn)
- if not is_spa_pkg and not is_pw_module_pkg:
- continue
-
- if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends:
- continue
-
- # See if the package is empty by looking at the contents of its
- # PKGDEST subdirectory. If this subdirectory is empty, then then
- # package is empty as well. Empty packages do not get added to
- # the meta package's RDEPENDS.
- pkgdir = os.path.join(pkgdest, pkg)
- if os.path.exists(pkgdir):
- dir_contents = os.listdir(pkgdir) or []
- else:
- dir_contents = []
- is_empty = len(dir_contents) == 0
- if not is_empty:
- if is_spa_pkg:
- spa_metapkg_rdepends.append(pkg)
- if is_pw_module_pkg:
- pw_module_metapkg_rdepends.append(pkg)
-
- d.setVar('RDEPENDS_' + spa_metapkg, ' '.join(spa_metapkg_rdepends))
- d.setVar('DESCRIPTION_' + spa_metapkg, spa_pn + ' meta package')
-
- d.setVar('RDEPENDS_' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends))
- d.setVar('DESCRIPTION_' + pw_module_metapkg, pw_module_pn + ' meta package')
-}
-
-PACKAGES =+ "\
- libpipewire \
- ${PN}-tools \
- ${PN}-pulse \
- ${PN}-alsa \
- ${PN}-jack \
- ${PN}-media-session \
- ${PN}-spa-plugins \
- ${PN}-spa-plugins-meta \
- ${PN}-spa-tools \
- ${PN}-modules \
- ${PN}-modules-meta \
- ${PN}-alsa-card-profile \
- gstreamer1.0-pipewire \
-"
-
-PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*"
-
-SYSTEMD_SERVICE_${PN} = "pipewire.service"
-CONFFILES_${PN} += "${datadir}/pipewire/pipewire.conf"
-FILES_${PN} = " \
- ${datadir}/pipewire/pipewire.conf \
- ${systemd_user_unitdir}/pipewire.* \
- ${bindir}/pipewire \
-"
-
-FILES_${PN}-dev += " \
- ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \
-"
-
-CONFFILES_libpipewire += "${datadir}/pipewire/client.conf"
-FILES_libpipewire = " \
- ${datadir}/pipewire/client.conf \
- ${libdir}/libpipewire-*.so.* \
-"
-# Add the bare minimum modules and plugins required to be able
-# to use libpipewire. Without these, it is essentially unusable.
-RDEPENDS_libpipewire += " \
- ${PN}-modules-client-node \
- ${PN}-modules-protocol-native \
- ${PN}-spa-plugins-support \
-"
-
-FILES_${PN}-tools = " \
- ${bindir}/pw-* \
-"
-
-# This is a shim daemon that is intended to be used as a
-# drop-in PulseAudio replacement, providing a pulseaudio-compatible
-# socket that can be used by applications that use libpulse.
-CONFFILES_${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf"
-FILES_${PN}-pulse = " \
- ${datadir}/pipewire/pipewire-pulse.conf \
- ${systemd_user_unitdir}/pipewire-pulse.* \
- ${bindir}/pipewire-pulse \
-"
-RDEPENDS_${PN}-pulse += " \
- ${PN}-modules-protocol-pulse \
-"
-
-# alsa plugin to redirect audio to pipewire
-FILES_${PN}-alsa = "\
- ${libdir}/alsa-lib/* \
- ${datadir}/alsa/alsa.conf.d/* \
-"
-
-# jack drop-in libraries to redirect audio to pipewire
-CONFFILES_${PN}-jack = "${datadir}/pipewire/jack.conf"
-FILES_${PN}-jack = "\
- ${datadir}/pipewire/jack.conf \
- ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \
-"
-
-# Example session manager. Not intended for use in production.
-CONFFILES_${PN}-media-session = "${datadir}/pipewire/media-session.d/*"
-SYSTEMD_SERVICE_${PN}-media-session = "pipewire-media-session.service"
-FILES_${PN}-media-session = " \
- ${bindir}/pipewire-media-session \
- ${datadir}/pipewire/media-session.d/* \
- ${systemd_system_unitdir}/pipewire-media-session.service \
-"
-RPROVIDES_${PN}-media-session = "virtual/pipewire-sessionmanager"
-
-# Dynamic packages (see set_dynamic_metapkg_rdepends).
-FILES_${PN}-spa-plugins = ""
-RRECOMMENDS_${PN}-spa-plugins += "${PN}-spa-plugins-meta"
-
-FILES_${PN}-spa-tools = " \
- ${bindir}/spa-* \
-"
-
-# Dynamic packages (see set_dynamic_metapkg_rdepends).
-FILES_${PN}-modules = ""
-RRECOMMENDS_${PN}-modules += "${PN}-modules-meta"
-
-CONFFILES_${PN}-modules-rtkit = "${datadir}/pipewire/client-rt.conf"
-FILES_${PN}-modules-rtkit += " \
- ${datadir}/pipewire/client-rt.conf \
- "
-
-CONFFILES_${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*"
-FILES_${PN}-modules-filter-chain += " \
- ${datadir}/pipewire/filter-chain/* \
-"
-
-FILES_${PN}-alsa-card-profile = " \
- ${datadir}/alsa-card-profile/* \
- ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \
-"
-
-FILES_gstreamer1.0-pipewire = " \
- ${libdir}/gstreamer-1.0/* \
-"
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.5.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.5.bb
new file mode 100644
index 0000000000..c8ac04d59a
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.5.bb
@@ -0,0 +1,388 @@
+SUMMARY = "Multimedia processing server for Linux"
+DESCRIPTION = "Linux server for handling and routing audio and video streams between applications and multimedia I/O devices"
+HOMEPAGE = "https://pipewire.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/pipewire/issues"
+SECTION = "multimedia"
+
+LICENSE = "MIT & LGPL-2.1-or-later & GPL-2.0-only"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=2158739e172e58dc9ab1bdd2d6ec9c72 \
+ file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a \
+"
+
+DEPENDS = "dbus ncurses"
+
+SRCREV = "a2287be601710eea0d073261223ec34b92384c8a"
+SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=1.0;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd gettext useradd
+
+USERADD_PACKAGES = "${PN}"
+
+GROUPADD_PARAM:${PN} = "--system pipewire"
+
+USERADD_PARAM:${PN} = "--system --home / --no-create-home \
+ --comment 'PipeWire multimedia daemon' \
+ --gid pipewire --groups audio,video \
+ pipewire"
+
+SYSTEMD_PACKAGES = "${PN}"
+
+# For "EVL", look up https://evlproject.org/ . It involves
+# a specially prepared kernel, and is currently unavailable
+# in Yocto.
+#
+#
+# manpage generation requires xmltoman, which is not available.
+#
+# The session-managers list specifies which session managers Meson
+# shall download (via git clone) and build as subprojects. In OE,
+# this is not how a session manager should be built. Instead, they
+# should be integrated as separate OE recipes. To prevent PipeWire
+# from using this Meson feature, set an empty list.
+# This does not disable support or the need for session managers,
+# it just prevents this subproject feature.
+#
+# AptX and LDAC are not available in OE. Currently, neither
+# are lv2, ROC, and libmysofa.
+#
+# The RTKit module is deprecated in favor of the newer RT module.
+# It still exists for legacy setups that still include it in
+# their PipeWire configuration files.
+EXTRA_OEMESON += " \
+ -Devl=disabled \
+ -Dtests=disabled \
+ -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \
+ -Dsystemd-system-unit-dir=${systemd_system_unitdir} \
+ -Dsystemd-user-unit-dir=${systemd_user_unitdir} \
+ -Dman=disabled \
+ -Dsession-managers='[]' \
+ -Dlv2=disabled \
+ -Droc=disabled \
+ -Dbluez5-codec-aptx=disabled \
+ -Dbluez5-codec-ldac=disabled \
+ -Dlegacy-rtkit=false \
+ -Dlibmysofa=disabled \
+"
+
+# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature.
+# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99
+# mode but it looks like clang still does
+CFLAGS:append = " -Wno-typedef-redefinition"
+
+# According to wireplumber documentation only one session manager should be installed at a time
+# Possible options are media-session, which has fewer dependencies but is very simple,
+# or wireplumber, which is more powerful.
+PIPEWIRE_SESSION_MANAGER ??= "wireplumber"
+
+FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}"
+BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}"
+
+PACKAGECONFIG:class-target ??= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez bluez-opus ${BLUETOOTH_AAC}', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \
+ ${PIPEWIRE_SESSION_MANAGER} \
+ ${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \
+"
+
+# "jack" and "pipewire-jack" packageconfigs cannot be both enabled,
+# since "jack" imports libjack, and "pipewire-jack" generates
+# libjack.so* files, thus colliding with the libpack package. This
+# is why these two are marked in their respective packageconfigs
+# as being in conflict.
+PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile"
+PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
+PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
+PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
+PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus"
+PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3"
+# From the pipewire git log:
+# "Some Linux phones doesn't use oFono but ModemManager to control the modem."
+# This packageconfig enables modemmanager specific code in the BlueZ backend.
+PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager"
+PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native"
+PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg"
+PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0"
+PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire"
+PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack"
+PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm"
+PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra"
+PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb"
+PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber"
+PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse"
+PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib"
+PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack"
+PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled"
+PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
+# Starting with version 0.3.60, readline usage can be turned off in pw-cli.
+# If it is disabled, getline() is used as a fallback.
+PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline"
+PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2"
+PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
+# "systemd-user-service" packageconfig will only install service
+# files to rootfs but not enable them as systemd.bbclass
+# currently lacks the feature of enabling user services.
+PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd"
+# pw-cat needs sndfile packageconfig to be enabled
+PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
+PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
+PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled"
+PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader"
+PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-1"
+PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session"
+
+PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
+PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
+
+SPA_SUBDIR = "spa-0.2"
+PW_MODULE_SUBDIR = "pipewire-0.3"
+
+remove_unused_installed_files() {
+ # jack.conf is used by pipewire-jack (not the JACK SPA plugin).
+ # Remove it if pipewire-jack is not built to avoid creating the
+ # pipewire-jack package.
+ if ${@bb.utils.contains('PACKAGECONFIG', 'pipewire-jack', 'false', 'true', d)}; then
+ rm -f "${D}${datadir}/pipewire/jack.conf"
+ fi
+
+ # minimal.conf is an example of how to minimally configure the
+ # daemon and is not meant to be used for production.
+ rm -f "${D}${datadir}/pipewire/minimal.conf"
+}
+
+do_install[postfuncs] += "remove_unused_installed_files"
+
+python split_dynamic_packages () {
+ # Create packages for each SPA plugin. These plugins are located
+ # in individual subdirectories, so a recursive search is needed.
+ spa_libdir = d.expand('${libdir}/${SPA_SUBDIR}')
+ do_split_packages(d, spa_libdir, r'^libspa-(.*)\.so$', d.expand('${PN}-spa-plugins-%s'), 'PipeWire SPA plugin for %s', extra_depends='', recursive=True)
+
+ # Create packages for each PipeWire module.
+ pw_module_libdir = d.expand('${libdir}/${PW_MODULE_SUBDIR}')
+ do_split_packages(d, pw_module_libdir, r'^libpipewire-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'PipeWire %s module', extra_depends='', recursive=False)
+}
+
+python set_dynamic_metapkg_rdepends () {
+ import os
+ import oe.utils
+
+ if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('native', d):
+ return
+
+ # Go through all generated SPA plugin and PipeWire module packages
+ # (excluding the main package and the -meta package itself) and
+ # add them to the -meta package as RDEPENDS.
+
+ base_pn = d.getVar('PN')
+
+ spa_pn = base_pn + '-spa-plugins'
+ spa_metapkg = spa_pn + '-meta'
+
+ pw_module_pn = base_pn + '-modules'
+ pw_module_metapkg = pw_module_pn + '-meta'
+
+ d.setVar('ALLOW_EMPTY:' + spa_metapkg, "1")
+ d.setVar('FILES:' + spa_metapkg, "")
+
+ d.setVar('ALLOW_EMPTY:' + pw_module_metapkg, "1")
+ d.setVar('FILES:' + pw_module_metapkg, "")
+
+ blacklist = [ spa_pn, spa_metapkg, pw_module_pn, pw_module_metapkg ]
+ spa_metapkg_rdepends = []
+ pw_module_metapkg_rdepends = []
+ pkgdest = d.getVar('PKGDEST')
+
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg in blacklist:
+ continue
+
+ is_spa_pkg = pkg.startswith(spa_pn)
+ is_pw_module_pkg = pkg.startswith(pw_module_pn)
+ if not is_spa_pkg and not is_pw_module_pkg:
+ continue
+
+ if pkg in spa_metapkg_rdepends or pkg in pw_module_metapkg_rdepends:
+ continue
+
+ # See if the package is empty by looking at the contents of its
+ # PKGDEST subdirectory. If this subdirectory is empty, then then
+ # package is empty as well. Empty packages do not get added to
+ # the meta package's RDEPENDS.
+ pkgdir = os.path.join(pkgdest, pkg)
+ if os.path.exists(pkgdir):
+ dir_contents = os.listdir(pkgdir) or []
+ else:
+ dir_contents = []
+ is_empty = len(dir_contents) == 0
+ if not is_empty:
+ if is_spa_pkg:
+ spa_metapkg_rdepends.append(pkg)
+ if is_pw_module_pkg:
+ pw_module_metapkg_rdepends.append(pkg)
+
+ d.setVar('RDEPENDS:' + spa_metapkg, ' '.join(spa_metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + spa_metapkg, spa_pn + ' meta package')
+
+ d.setVar('RDEPENDS:' + pw_module_metapkg, ' '.join(pw_module_metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + pw_module_metapkg, pw_module_pn + ' meta package')
+}
+
+PACKAGES =+ "\
+ libpipewire \
+ ${PN}-tools \
+ ${PN}-pulse \
+ ${PN}-alsa \
+ ${PN}-jack \
+ ${PN}-spa-plugins \
+ ${PN}-spa-plugins-meta \
+ ${PN}-spa-tools \
+ ${PN}-modules \
+ ${PN}-modules-meta \
+ ${PN}-alsa-card-profile \
+ ${PN}-v4l2 \
+ ${PN}-aes67 \
+ gstreamer1.0-pipewire \
+"
+
+PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*"
+PACKAGES_DYNAMIC:class-native = ""
+
+SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}"
+CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf"
+FILES:${PN} = " \
+ ${datadir}/pipewire \
+ ${systemd_system_unitdir}/pipewire* \
+ ${systemd_user_unitdir} \
+ ${bindir}/pipewire \
+ ${bindir}/pipewire-avb \
+ ${bindir}/pipewire-vulkan \
+"
+
+RRECOMMENDS:${PN}:class-target += " \
+ pipewire-modules-meta \
+ pipewire-spa-plugins-meta \
+"
+
+FILES:${PN}-dev += " \
+ ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so \
+"
+
+CONFFILES:libpipewire += "${datadir}/pipewire/client.conf"
+FILES:libpipewire = " \
+ ${datadir}/pipewire/client.conf \
+ ${libdir}/libpipewire-*.so.* \
+"
+# Add the bare minimum modules and plugins required to be able
+# to use libpipewire. Without these, it is essentially unusable.
+RDEPENDS:libpipewire += " \
+ ${PN}-modules-client-node \
+ ${PN}-modules-protocol-native \
+ ${PN}-spa-plugins-support \
+"
+
+FILES:${PN}-tools = " \
+ ${bindir}/pw-cat \
+ ${bindir}/pw-cli \
+ ${bindir}/pw-config \
+ ${bindir}/pw-dot \
+ ${bindir}/pw-dsdplay \
+ ${bindir}/pw-dump \
+ ${bindir}/pw-encplay \
+ ${bindir}/pw-link \
+ ${bindir}/pw-loopback \
+ ${bindir}/pw-metadata \
+ ${bindir}/pw-mididump \
+ ${bindir}/pw-midiplay \
+ ${bindir}/pw-midirecord \
+ ${bindir}/pw-mon \
+ ${bindir}/pw-play \
+ ${bindir}/pw-profiler \
+ ${bindir}/pw-record \
+ ${bindir}/pw-reserve \
+ ${bindir}/pw-top \
+"
+
+# This is a shim daemon that is intended to be used as a
+# drop-in PulseAudio replacement, providing a pulseaudio-compatible
+# socket that can be used by applications that use libpulse.
+CONFFILES:${PN}-pulse += "${datadir}/pipewire/pipewire-pulse.conf"
+FILES:${PN}-pulse = " \
+ ${datadir}/pipewire/pipewire-pulse.conf \
+ ${systemd_system_unitdir}/pipewire-pulse.* \
+ ${systemd_user_unitdir}/pipewire-pulse.* \
+ ${bindir}/pipewire-pulse \
+"
+RDEPENDS:${PN}-pulse += " \
+ ${PN}-modules-protocol-pulse \
+"
+
+# ALSA plugin to redirect audio to pipewire.
+FILES:${PN}-alsa = "\
+ ${libdir}/alsa-lib/* \
+ ${datadir}/alsa/alsa.conf.d/* \
+"
+
+# JACK drop-in libraries to redirect audio to pipewire.
+CONFFILES:${PN}-jack = "${datadir}/pipewire/jack.conf"
+FILES:${PN}-jack = "\
+ ${bindir}/pw-jack \
+ ${datadir}/pipewire/jack.conf \
+ ${libdir}/${PW_MODULE_SUBDIR}/jack/libjack*.so.* \
+"
+
+# Dynamic SPA plugin packages (see set_dynamic_metapkg_rdepends).
+FILES:${PN}-spa-plugins = ""
+RRECOMMENDS:${PN}-spa-plugins += "${PN}-spa-plugins-meta"
+
+FILES:${PN}-spa-plugins-bluez5 += " \
+ ${datadir}/${SPA_SUBDIR}/bluez5/* \
+"
+
+FILES:${PN}-spa-tools = " \
+ ${bindir}/spa-* \
+"
+
+# Dynamic PipeWire module packages (see set_dynamic_metapkg_rdepends).
+FILES:${PN}-modules = ""
+RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
+
+CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf"
+FILES:${PN}-modules-rt += " \
+ ${datadir}/pipewire/client-rt.conf \
+ ${sysconfdir}/security/limits.d/* \
+ "
+
+CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*"
+FILES:${PN}-modules-filter-chain += " \
+ ${datadir}/pipewire/filter-chain/* \
+"
+
+FILES:${PN}-alsa-card-profile = " \
+ ${datadir}/alsa-card-profile/* \
+ ${nonarch_base_libdir}/udev/rules.d/90-pipewire-alsa.rules \
+"
+
+# V4L2 interface emulator for sending/receiving data between PipeWire and V4L2 applications.
+FILES:${PN}-v4l2 += " \
+ ${bindir}/pw-v4l2 \
+ ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \
+"
+
+# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES).
+FILES:${PN}-aes67 += " \
+ ${bindir}/pipewire-aes67 \
+"
+
+FILES:gstreamer1.0-pipewire = " \
+ ${libdir}/gstreamer-1.0/* \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
index 5f78be4f51..aa92c58808 100644
--- a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
+++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
@@ -2,14 +2,14 @@ SUMMARY = "RTMP Dump"
DESCRIPTION = "rtmpdump is a toolkit for RTMP streams. All forms of RTMP are \
supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://."
HOMEPAGE = "http://rtmpdump.mplayerhq.hu/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "gnutls zlib"
SRCREV = "fa8646daeb19dfd12c181f7d19de708d623704c0"
SRC_URI = " \
- git://git.ffmpeg.org/rtmpdump \
+ git://git.ffmpeg.org/rtmpdump;branch=master \
file://fix-racing-build-issue.patch"
S = "${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
index 70eb6e4be7..cb919d79e3 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
@@ -3,7 +3,7 @@ LICENSE = "CC-BY-3.0"
# http://www.bigbuckbunny.org/index.php/about/
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/CC-BY-3.0;md5=dfa02b5755629022e267f10b9c0a2ab7"
-SRC_URI = "http://themazzone.com/big_buck_bunny_1080p_surround.avi"
+SRC_URI = "http://www.peach.themazzone.com/big_buck_bunny_1080p_surround.avi"
SRC_URI[md5sum] = "223991c8b33564eb77988a4c13c1c76a"
SRC_URI[sha256sum] = "69fe2cfe7154a6e752688e3a0d7d6b07b1605bbaf75b56f6470dc7b4c20c06ea"
@@ -14,4 +14,4 @@ do_install() {
install -m 0644 ${WORKDIR}/big_buck_bunny_1080p_surround.avi ${D}${datadir}/movies/
}
-FILES_${PN} += "${datadir}/movies"
+FILES:${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
index df23689960..40dc2aacb5 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
@@ -14,4 +14,4 @@ do_install() {
install -m 0644 ${WORKDIR}/big_buck_bunny_480p_surround-fix.avi ${D}${datadir}/movies/
}
-FILES_${PN} += "${datadir}/movies"
+FILES:${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
index cb8ece0cb1..ed1d027b40 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
@@ -14,4 +14,4 @@ do_install() {
install -m 0644 ${WORKDIR}/big_buck_bunny_720p_surround.avi ${D}${datadir}/movies/
}
-FILES_${PN} += "${datadir}/movies"
+FILES:${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
index 04cbd2e34d..78f15f143f 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
@@ -13,4 +13,4 @@ do_install() {
install -m 0644 ${WORKDIR}/ToS-4k-1920.mov ${D}${datadir}/movies/
}
-FILES_${PN} += "${datadir}/movies"
+FILES:${PN} += "${datadir}/movies"
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/0001-testsuite-Add-tmp-orc.c-for-missing-_orc_code_orc_de.patch b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/0001-testsuite-Add-tmp-orc.c-for-missing-_orc_code_orc_de.patch
new file mode 100644
index 0000000000..498630c638
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger/0001-testsuite-Add-tmp-orc.c-for-missing-_orc_code_orc_de.patch
@@ -0,0 +1,43 @@
+From 7c998657c1787fcad8f0a502063adff71d78a140 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Jun 2023 09:37:10 -0700
+Subject: [PATCH] testsuite: Add tmp-orc.c for missing
+ _orc_code_orc_deinterleave2_s16
+
+Fixes
+| aarch64-yoe-linux-ld.lld: error: undefined symbol: _orc_code_orc_deinterleave2_s16
+| >>> referenced by schroorc.h:1312 (../schroedinger/schroorc.h:1312)
+| >>> wavelet_max_gain.o:(iwt_ref)
+| >>> referenced by schroorc.h:1312 (../schroedinger/schroorc.h:1312)
+| >>> wavelet_max_gain.o:(iwt_ref)
+|
+| aarch64-yoe-linux-ld.lld: error: undefined symbol: _orc_code_orc_interleave2_s16
+| >>> referenced by wavelet_max_gain.c:281 (/usr/src/debug/schroedinger/1.0.11-r0/testsuite/wavelet_max_gain.c:281)
+| >>> wavelet_max_gain.o:(iiwt_ref)
+| >>> referenced by wavelet_max_gain.c:281 (/usr/src/debug/schroedinger/1.0.11-r0/testsuite/wavelet_max_gain.c:281)
+| >>> wavelet_max_gain.o:(iiwt_ref)
+| clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
+| make[3]: *** [Makefile:1147: wavelet_max_gain] Error 1
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ testsuite/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
+index 6ee1130..762ecf2 100644
+--- a/testsuite/Makefile.am
++++ b/testsuite/Makefile.am
+@@ -100,6 +100,7 @@ wavelet_2d_SOURCES = wavelet_2d.c
+ nodist_wavelet_2d_SOURCES = $(top_srcdir)/schroedinger/tmp-orc.c
+
+ wavelet_max_gain_SOURCES = wavelet_max_gain.c
++nodist_wavelet_max_gain_SOURCES = $(top_srcdir)/schroedinger/tmp-orc.c
+
+ wavelet_noise_2d_SOURCES = wavelet_noise_2d.c
+
+--
+2.41.0
+
diff --git a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
index 2f1fda341e..e8f6df6348 100644
--- a/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
+++ b/meta-multimedia/recipes-multimedia/schroedinger/schroedinger_1.0.11.bb
@@ -1,6 +1,6 @@
SUMMARY = "Dirac compressed video encoder/decoder"
HOMEPAGE = "http://schrodinger.sourceforge.net/"
-LICENSE = "MPL-1.1 | GPLv2 | LGPLv2 | MIT"
+LICENSE = "MPL-1.1 | GPL-2.0-only | LGPL-2.0-only | MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=d91a46405fc074b88c963cc4f2a0aae9 \
file://COPYING.GPL;md5=e181e3b7c66f5f96921d813c1074f833 \
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d91a46405fc074b88c963cc4f2a0aae9 \
DEPENDS = "orc-native orc"
SRC_URI = "https://download.videolan.org/contrib/${BPN}/${BP}.tar.gz \
+ file://0001-testsuite-Add-tmp-orc.c-for-missing-_orc_code_orc_de.patch \
file://configure.ac.patch"
SRC_URI[md5sum] = "da6af08e564ca1157348fb8d92efc891"
@@ -18,5 +19,5 @@ SRC_URI[sha256sum] = "1e572a0735b92aca5746c4528f9bebd35aa0ccf8619b22fa2756137a8c
EXTRA_OECONF += "STAGING_DIR=${STAGING_DIR_NATIVE}"
-inherit autotools-brokensep pkgconfig
+inherit autotools-brokensep pkgconfig gtk-doc
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
index 4f02a66fcc..3085bd495c 100644
--- a/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
+++ b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
@@ -1,11 +1,11 @@
From d0313be5fb947df399a4db24a5f9244510d2ce87 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 12 Jul 2017 16:36:06 -0700
-Subject: [PATCH] remove the #error line and live without file-type detection
- with pipes
+Subject: [PATCH] remove the #error line and live without file-type detection with pipes
this fallback is executed with musl
+Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/formats.c | 1 -
diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
index 2d6e913d87..011cbc2a9d 100644
--- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
+++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
@@ -4,7 +4,7 @@ and can apply different effects and filters to the audio data."
HOMEPAGE = "http://sox.sourceforge.net"
SECTION = "audio"
-DEPENDS = "libpng ffmpeg libsndfile1"
+DEPENDS = "libpng libsndfile1 libtool"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
magic \
@@ -23,7 +23,7 @@ PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag,"
PACKAGECONFIG[lame] = "--with-lame,--without-lame,lame,"
PACKAGECONFIG[ao] = "--with-ao,--without-ao,libao,"
-LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24"
@@ -36,4 +36,7 @@ SRC_URI[sha256sum] = "b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3b
inherit autotools pkgconfig
-EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}"
+# Enable largefile support
+CFLAGS += "-D_FILE_OFFSET_BITS=64"
+
+EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}"
diff --git a/meta-multimedia/recipes-multimedia/spandsp/spandsp/configure.patch b/meta-multimedia/recipes-multimedia/spandsp/spandsp/configure.patch
new file mode 100644
index 0000000000..af504be766
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/spandsp/spandsp/configure.patch
@@ -0,0 +1,56 @@
+From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
+Date: Thu, 14 Mar 2024 09:41:57 +0100
+Subject: [PATCH 2/2] configure: Replace manual search for libxml by
+ AC_CHECK_LIB
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The manual search fails if the include directories (and build environment)
+are located somewhere else.
+
+Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
+Upstream-Status: Submitted [https://github.com/freeswitch/spandsp/pull/74]
+---
+
+ERROR: spandsp-3.0.0+git-r0 do_configure: QA Issue: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
+
+ configure.ac | 22 +++++-----------------
+ 1 file changed, 5 insertions(+), 17 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2140837..b5138d6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -185,23 +185,11 @@ then
+ fi
+
+ # Determine XML2 include path
+-AC_MSG_CHECKING(for libxml/xmlmemory.h)
+-
+-# Can we include headers using system include dirs?
+-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <libxml/xmlmemory.h>]], [[int a = 1;]])],[XML2_INCLUDE=" "],[XML2_INCLUDE=])
+-
+-# Hunt through several possible directories to find the includes for libxml2
+-if test "x$XML2_INCLUDE" = "x"; then
+- old_CPPFLAGS="$CPPFLAGS"
+- for i in $xml2_include_dir /usr/include /usr/local/include /usr/include/libxml2 /usr/local/include/libxml2 ; do
+- CPPFLAGS="$old_CPPFLAGS -I$i"
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <libxml/xmlmemory.h>]], [[int a = 1;]])],[XML2_INCLUDE="-I$i"],[XML2_INCLUDE=
+- ])
+- if test "x$XML2_INCLUDE" != "x"; then
+- break;
+- fi
+- done
+- CPPFLAGS="$old_CPPFLAGS $XML2_INCLUDE"
++AC_CHECK_LIB([xml2], [xmlParseFile], [libxml2_found=yes])
++if test "$libxml2_found" = "yes" ; then
++ AC_DEFINE(HAVE_LIBXML2,1,[defined when libxml2 is available])
++else
++ AC_MSG_WARN([libxml2 not found. Disabling cache.])
+ fi
+
+ AC_CHECK_HEADERS([libxml/xmlmemory.h])
+--
+2.34.1
+
diff --git a/meta-multimedia/recipes-multimedia/spandsp/spandsp/makefile.patch b/meta-multimedia/recipes-multimedia/spandsp/spandsp/makefile.patch
new file mode 100644
index 0000000000..d3eb047fe5
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/spandsp/spandsp/makefile.patch
@@ -0,0 +1,161 @@
+From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
+Date: Thu, 14 Mar 2024 08:08:13 +0100
+Subject: [PATCH 1/2] configure: Use AX_PROG_CC_FOR_BUILD for cross compiling
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The macro AX_PROG_CC_FOR_BUILD [1] sets the variables CC_FOR_BUILD and
+..._FLAGS_FOR_BUILD they can be used [2] to build binaries used at compile
+time.
+
+[1]: https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
+[2]: https://stackoverflow.com/questions/24201260/autotools-cross-compilation-and-generated-sources/24208587#24208587
+
+Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
+Upstream-Status: Submitted [https://github.com/freeswitch/spandsp/pull/74]
+---
+ configure.ac | 49 +-------------------------------------------
+ src/Makefile.am | 54 +++++++++++++++++++++++++------------------------
+ 2 files changed, 29 insertions(+), 74 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 96fd022..2140837 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,54 +55,7 @@ AC_LANG([C])
+
+ AX_COMPILER_VENDOR
+
+-if test "${build}" != "${host}"
+-then
+- # If we are doing a Canadian Cross, in which the host and build systems
+- # are not the same, we set reasonable default values for the tools.
+-
+- CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
+- CPPFLAGS_FOR_BUILD="\$(CPPFLAGS)"
+- CC=${CC-${host_alias}-gcc}
+- CFLAGS=${CFLAGS-"-g -O2"}
+- CXX=${CXX-${host_alias}-c++}
+- CXXFLAGS=${CXXFLAGS-"-g -O2"}
+-else
+- # Set reasonable default values for some tools even if not Canadian.
+- # Of course, these are different reasonable default values, originally
+- # specified directly in the Makefile.
+- # We don't export, so that autoconf can do its job.
+- # Note that all these settings are above the fragment inclusion point
+- # in Makefile.in, so can still be overridden by fragments.
+- # This is all going to change when we autoconfiscate...
+- CC_FOR_BUILD="\$(CC)"
+- CPPFLAGS_FOR_BUILD="\$(CPPFLAGS)"
+- AC_PROG_CC
+-
+- # We must set the default linker to the linker used by gcc for the correct
+- # operation of libtool. If LD is not defined and we are using gcc, try to
+- # set the LD default to the ld used by gcc.
+- if test -z "$LD"
+- then
+- if test "$GCC" = yes
+- then
+- case $build in
+- *-*-mingw*)
+- gcc_prog_ld=`$CC -print-prog-name=ld 2>&1 | tr -d '\015'` ;;
+- *)
+- gcc_prog_ld=`$CC -print-prog-name=ld 2>&1` ;;
+- esac
+- case $gcc_prog_ld in
+- # Accept absolute paths.
+- [[\\/]* | [A-Za-z]:[\\/]*)]
+- LD="$gcc_prog_ld" ;;
+- esac
+- fi
+- fi
+-
+- CXX=${CXX-"c++"}
+- CFLAGS=${CFLAGS-"-g -O2"}
+- CXXFLAGS=${CXXFLAGS-"-g -O2"}
+-fi
++AX_PROG_CC_FOR_BUILD
+
+ AC_DEFUN([REMOVE_FROM_VAR],[
+ new_val=""
+diff --git a/src/Makefile.am b/src/Makefile.am
+index e05fad5..9b409a1 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -386,44 +386,46 @@ noinst_HEADERS = cielab_luts.h \
+ v34_tx_pre_emphasis_filters.h \
+ v34_tables.h
+
+-make_at_dictionary$(EXEEXT): $(top_srcdir)/src/make_at_dictionary.c
+- $(CC_FOR_BUILD) -o make_at_dictionary$(EXEEXT) $(top_srcdir)/src/make_at_dictionary.c -DHAVE_CONFIG_H -I$(top_builddir)/src
++LINK_FOR_BUILD.c = $(CC_FOR_BUILD) -DHAVE_CONFIG_H -I$(top_builddir)/src $(CFLAGS_FOR_BUILD) $(CPPFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $(TARGET_ARCH_FOR_BUILD)
+
+-make_cielab_luts$(EXEEXT): $(top_srcdir)/src/make_cielab_luts.c
+- $(CC_FOR_BUILD) -o make_cielab_luts$(EXEEXT) $(top_srcdir)/src/make_cielab_luts.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_at_dictionary$(BUILD_EXEEXT): $(top_srcdir)/src/make_at_dictionary.c
++ $(LINK_FOR_BUILD.c) -o $@ $^
+
+-make_math_fixed_tables$(EXEEXT): $(top_srcdir)/src/make_math_fixed_tables.c
+- $(CC_FOR_BUILD) -o make_math_fixed_tables$(EXEEXT) $(top_srcdir)/src/make_math_fixed_tables.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_cielab_luts$(BUILD_EXEEXT): $(top_srcdir)/src/make_cielab_luts.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_modem_filter$(EXEEXT): $(top_srcdir)/src/make_modem_filter.c $(top_srcdir)/src/filter_tools.c
+- $(CC_FOR_BUILD) -o make_modem_filter$(EXEEXT) $(top_srcdir)/src/make_modem_filter.c $(top_srcdir)/src/filter_tools.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_math_fixed_tables$(BUILD_EXEEXT): $(top_srcdir)/src/make_math_fixed_tables.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_modem_godard_coefficients$(EXEEXT): $(top_srcdir)/src/make_modem_godard_coefficients.c $(top_srcdir)/src/filter_tools.c
+- $(CC_FOR_BUILD) -o make_modem_godard_coefficients$(EXEEXT) $(top_srcdir)/src/make_modem_godard_coefficients.c $(top_srcdir)/src/filter_tools.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_modem_filter$(BUILD_EXEEXT): $(top_srcdir)/src/make_modem_filter.c $(top_srcdir)/src/filter_tools.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_t43_gray_code_tables$(EXEEXT): $(top_srcdir)/src/make_t43_gray_code_tables.c
+- $(CC_FOR_BUILD) -o make_t43_gray_code_tables$(EXEEXT) $(top_srcdir)/src/make_t43_gray_code_tables.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_modem_godard_coefficients$(BUILD_EXEEXT): $(top_srcdir)/src/make_modem_godard_coefficients.c $(top_srcdir)/src/filter_tools.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_v17_v32_constellation_map$(EXEEXT): $(top_srcdir)/src/make_v17_v32_constellation_map.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
+- $(CC_FOR_BUILD) -o make_v17_v32_constellation_map$(EXEEXT) $(top_srcdir)/src/make_v17_v32_constellation_map.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_t43_gray_code_tables$(BUILD_EXEEXT): $(top_srcdir)/src/make_t43_gray_code_tables.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_v17_v32_convolutional_encoder$(EXEEXT): $(top_srcdir)/src/make_v17_v32_convolutional_encoder.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
+- $(CC_FOR_BUILD) -o make_v17_v32_convolutional_encoder$(EXEEXT) $(top_srcdir)/src/make_v17_v32_convolutional_encoder.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_v17_v32_constellation_map$(BUILD_EXEEXT): $(top_srcdir)/src/make_v17_v32_constellation_map.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_v29_constellation_map$(EXEEXT): $(top_srcdir)/src/make_v29_constellation_map.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
+- $(CC_FOR_BUILD) -o make_v29_constellation_map$(EXEEXT) $(top_srcdir)/src/make_v29_constellation_map.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_v17_v32_convolutional_encoder$(BUILD_EXEEXT): $(top_srcdir)/src/make_v17_v32_convolutional_encoder.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_v34_convolutional_coders$(EXEEXT): $(top_srcdir)/src/make_v34_convolutional_coders.c
+- $(CC_FOR_BUILD) -o make_v34_convolutional_coders$(EXEEXT) $(top_srcdir)/src/make_v34_convolutional_coders.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_v29_constellation_map$(BUILD_EXEEXT): $(top_srcdir)/src/make_v29_constellation_map.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_v34_probe_signals$(EXEEXT): $(top_srcdir)/src/make_v34_probe_signals.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
+- $(CC_FOR_BUILD) -o make_v34_probe_signals$(EXEEXT) $(top_srcdir)/src/make_v34_probe_signals.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c -DHAVE_CONFIG_H -I$(top_builddir)/src -lm
++make_v34_convolutional_coders$(BUILD_EXEEXT): $(top_srcdir)/src/make_v34_convolutional_coders.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -lm
+
+-make_v34_shell_map$(EXEEXT): $(top_srcdir)/src/make_v34_shell_map.c
+- $(CC_FOR_BUILD) -o make_v34_shell_map$(EXEEXT) $(top_srcdir)/src/make_v34_shell_map.c -DHAVE_CONFIG_H -I$(top_builddir)/src
++make_v34_probe_signals$(BUILD_EXEEXT): $(top_srcdir)/src/make_v34_probe_signals.c $(top_srcdir)/src/g711.c $(top_srcdir)/src/alloc.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -I$(top_srcdir)/src -lm
+
+-make_v34_tx_pre_emphasis_filters$(EXEEXT): $(top_srcdir)/src/make_v34_tx_pre_emphasis_filters.c $(top_srcdir)/tools/meteor-engine.c
+- $(CC_FOR_BUILD) -o make_v34_tx_pre_emphasis_filters$(EXEEXT) $(top_srcdir)/src/make_v34_tx_pre_emphasis_filters.c $(top_srcdir)/tools/meteor-engine.c -DHAVE_CONFIG_H -I$(top_builddir)/src -I$(top_builddir)/tools -lm
++make_v34_shell_map$(BUILD_EXEEXT): $(top_srcdir)/src/make_v34_shell_map.c
++ $(LINK_FOR_BUILD.c) -o $@ $^
++
++make_v34_tx_pre_emphasis_filters$(BUILD_EXEEXT): $(top_srcdir)/src/make_v34_tx_pre_emphasis_filters.c $(top_srcdir)/tools/meteor-engine.c
++ $(LINK_FOR_BUILD.c) -o $@ $^ -I$(top_srcdir)/tools -lm
+
+ # We need to run make_at_dictionary, so it generates the
+ # at_interpreter_dictionary.h file
+--
+2.34.1
+
diff --git a/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb b/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb
new file mode 100644
index 0000000000..f115553fd1
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb
@@ -0,0 +1,50 @@
+SUMMARY = "A DSP library for telephony"
+DESCRIPTION = "\
+ SpanDSP is a low-level signal processing library that modulates and \
+ demodulates signals commonly used in telephony, such as the \"noise\" \
+ generated by a fax modem or DTMF touchpad. \
+"
+HOMEPAGE = "https://www.soft-switch.org/"
+BUGTRACKER = "https://github.com/freeswitch/spandsp/issues"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8791c23ddf418deb5be264cffb5fa6bc"
+
+DEPENDS = "\
+ libxml2 \
+ tiff \
+ tiff-native \
+"
+
+PV = "3.0.0+git"
+
+SRC_URI = "\
+ git://github.com/freeswitch/spandsp.git;protocol=https;branch=master \
+ file://configure.patch \
+ file://makefile.patch \
+"
+# Fails to build with Clang since 5394b2cae6c482ccb835335b769469977e6802ae
+# https://github.com/freeswitch/spandsp/issues/67
+# https://lists.openembedded.org/g/openembedded-devel/message/109325
+SRCREV = "df1282eb9af538ab1aadb6d66146e258451d4fe4"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ?= ""
+
+PACKAGECONFIG[mmx] = "--enable-mmx,--disable-mmx"
+PACKAGECONFIG[sse] = "--enable-sse,--disable-sse"
+PACKAGECONFIG[sse2] = "--enable-sse2,--disable-sse2"
+PACKAGECONFIG[sse3] = "--enable-sse3,--disable-sse3"
+PACKAGECONFIG[ssse3] = "--enable-ssse3,--disable-ssse3"
+PACKAGECONFIG[sse4-1] = "--enable-sse4-1,--disable-sse4-1"
+PACKAGECONFIG[sse4-2] = "--enable-sse4-2,--disable-sse4-2"
+PACKAGECONFIG[avx] = "--enable-avx,--disable-avx"
+PACKAGECONFIG[avx2] = "--enable-avx2,--disable-avx2"
+PACKAGECONFIG[neon] = "--enable-neon,--disable-neon"
+PACKAGECONFIG[fixed-point] = "--enable-fixed-point,--disable-fixed-point"
+PACKAGECONFIG[v32bis] = "--enable-v32bis,--disable-v32bis"
+PACKAGECONFIG[v34] = "--enable-v34,--disable-v34"
+PACKAGECONFIG[sslfax] = "--enable-sslfax,--disable-sslfax"
diff --git a/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb b/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb
index 722815ab6a..6014326826 100644
--- a/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb
+++ b/meta-multimedia/recipes-multimedia/streamripper/streamripper_1.64.6.bb
@@ -2,7 +2,7 @@ SUMMARY = "download online streams into audio files"
DESCRIPTION = "This command-line tool can be used to record MPEG III \
and OGG online radio-streams into track-separated audio files."
HOMEPAGE = "http://streamripper.sourceforge.net"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
DEPENDS = "glib-2.0 libmad libogg libvorbis"
@@ -29,4 +29,4 @@ EXTRA_OECONF += "\
"
# the included argv library needs this
-CPPFLAGS_append = " -DANSI_PROTOTYPES"
+CPPFLAGS:append = " -DANSI_PROTOTYPES"
diff --git a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch
deleted file mode 100644
index 6f9c39996b..0000000000
--- a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From fe4f3c2a37a81201f463ff962364f014f50c9896 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Dec 2019 22:58:41 -0800
-Subject: [PATCH] Use CMAKE_INSTALL_<path> instead of hardcoding bin/lib/
- install paths
-
-Helps fix build/packaging issues on machines where default libdir is not
-lib but say lib64
-
-Upstream-Status: Submitted [https://github.com/tinyalsa/tinyalsa/pull/143]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cb31c58..1cc4a85 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -41,12 +41,20 @@ add_util("tinymix" "utils/tinymix.c")
- install(FILES ${HDRS}
- DESTINATION "include/tinyalsa")
-
-+if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
-+ set(CMAKE_INSTALL_LIBDIR lib)
-+endif()
-+
-+if(NOT DEFINED CMAKE_INSTALL_BINDIR)
-+ set(CMAKE_INSTALL_BINDIR bin)
-+endif()
-+
- install(TARGETS "tinyalsa"
- "tinyplay"
- "tinycap"
- "tinymix"
- "tinypcminfo"
-- RUNTIME DESTINATION "bin"
-- ARCHIVE DESTINATION "lib"
-- LIBRARY DESTINATION "lib")
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
---
-2.24.1
-
diff --git a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch
new file mode 100644
index 0000000000..64ebdb19c9
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch
@@ -0,0 +1,69 @@
+From 639650dd64e483074dd7c3c7ea6dc1b1bd542743 Mon Sep 17 00:00:00 2001
+From: alperak <alperyasinak1@gmail.com>
+Date: Sun, 12 Nov 2023 20:16:55 +0300
+Subject: [PATCH] fixed compilation error caused by strncpy
+
+Issue:
+ https://github.com/tinyalsa/tinyalsa/issues/219
+
+Fix:
+ https://github.com/tinyalsa/tinyalsa/pull/220
+ https://github.com/tinyalsa/tinyalsa/pull/221
+
+Upstream-Status: Submitted
+
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ src/mixer_plugin.c | 8 +++++---
+ src/pcm_plugin.c | 9 ++++++---
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/src/mixer_plugin.c b/src/mixer_plugin.c
+index 34117a9..f608563 100644
+--- a/src/mixer_plugin.c
++++ b/src/mixer_plugin.c
+@@ -82,7 +82,8 @@ static int mixer_plug_get_elem_id(struct mixer_plug_data *plug_data,
+ id->iface = ctl->iface;
+
+ strncpy((char *)id->name, (char *)ctl->name,
+- sizeof(id->name));
++ sizeof(id->name) - 1);
++ ((char *)id->name)[sizeof(id->name) - 1] = '\0';
+
+ return 0;
+ }
+@@ -100,8 +101,9 @@ static int mixer_plug_info_enum(struct snd_control *ctl,
+
+ strncpy(einfo->value.enumerated.name,
+ val->texts[einfo->value.enumerated.item],
+- sizeof(einfo->value.enumerated.name));
+-
++ sizeof(einfo->value.enumerated.name) - 1);
++ einfo->value.enumerated.name[sizeof(einfo->value.enumerated.name) - 1] = '\0';
++
+ return 0;
+ }
+
+diff --git a/src/pcm_plugin.c b/src/pcm_plugin.c
+index 15bfc80..47bf4a5 100644
+--- a/src/pcm_plugin.c
++++ b/src/pcm_plugin.c
+@@ -153,9 +153,12 @@ static int pcm_plug_info(struct pcm_plug_data *plug_data,
+ return ret;
+ }
+
+- strncpy((char *)info->id, name, sizeof(info->id));
+- strncpy((char *)info->name, name, sizeof(info->name));
+- strncpy((char *)info->subname, name, sizeof(info->subname));
++ strncpy((char *)info->id, name, sizeof(info->id) - 1);
++ ((char *)info->id)[sizeof(info->id) - 1] = '\0';
++ strncpy((char *)info->name, name, sizeof(info->name) - 1);
++ ((char *)info->name)[sizeof(info->name) - 1] = '\0';
++ strncpy((char *)info->subname, name, sizeof(info->subname) - 1);
++ ((char *)info->subname)[sizeof(info->subname) - 1] = '\0';
+
+ info->subdevices_count = 1;
+
+--
+2.25.1
+
diff --git a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb
index 062096892e..e261611afd 100644
--- a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa.bb
+++ b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb
@@ -4,13 +4,12 @@ HOMEPAGE = "https://github.com/tinyalsa/tinyalsa"
SECTION = "libs/multimedia"
LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://NOTICE;md5=dbdefe400d894b510a9de14813181d0b"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=e04cd6fa58488e016f7fb648ebea1db4"
-SRCREV = "8449529c7e50f432091539ba7b438e79b04059b5"
-SRC_URI = "git://github.com/tinyalsa/tinyalsa \
- file://0001-Use-CMAKE_INSTALL_-path-instead-of-hardcoding-bin-li.patch \
+SRCREV = "1c5fb68ced57d838f2b7ecd0c00bc1fefc9ab60d"
+SRC_URI = "git://github.com/tinyalsa/tinyalsa;branch=master;protocol=https \
+ file://0001-fixed-compilation-error-caused-by-strncpy.patch \
"
-PV = "1.1.1+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb b/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
index 6abf6080bd..f8ab1bf680 100644
--- a/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
+++ b/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
file://os.h;beginline=3;endline=14;md5=5c0af5e1bedef3ce8178c89f48cd6f1f"
DEPENDS = "libogg"
-SRC_URI = "git://gitlab.xiph.org/xiph/tremor.git;protocol=https \
+SRC_URI = "git://gitlab.xiph.org/xiph/tremor.git;protocol=https;branch=master \
file://obsolete_automake_macros.patch;striplevel=0 \
file://tremor-arm-thumb2.patch \
"
diff --git a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.2.bb b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb
index fe06699ab4..42c771e0ff 100644
--- a/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.2.bb
+++ b/meta-multimedia/recipes-multimedia/vlc/libdvdcss_1.4.3.bb
@@ -1,6 +1,6 @@
SUMMARY = "libdvdcss is a simple library for accessing DVDs like block devices"
DESCRIPTION = "libdvdcss is a simple library designed for accessing DVDs like a block device without having to bother about the decryption."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "http://download.videolan.org/pub/libdvdcss/${PV}/libdvdcss-${PV}.tar.bz2"
@@ -9,5 +9,4 @@ inherit autotools
EXTRA_OECONF = " --disable-doc "
-SRC_URI[md5sum] = "7b74f2e142b13c9de6dc8d807ab912d4"
-SRC_URI[sha256sum] = "78c2ed77ec9c0d8fbed7bf7d3abc82068b8864be494cfad165821377ff3f2575"
+SRC_URI[sha256sum] = "233cc92f5dc01c5d3a96f5b3582be7d5cee5a35a52d3a08158745d3d86070079"
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch
deleted file mode 100644
index e1383c826c..0000000000
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1068c7451855c3f9acde9af265b5a790073b1641 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Mar 2021 14:28:27 -0800
-Subject: [PATCH] include <limits> header
-
-Fixes
-SegmentInformation.cpp:397:49: error: '::max' has not been declared; d
-id you mean 'std::max'?
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- modules/demux/adaptive/playlist/SegmentInformation.cpp | 1 +
- modules/demux/hls/playlist/Parser.cpp | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/modules/demux/adaptive/playlist/SegmentInformation.cpp b/modules/demux/adaptive/playlist/SegmentInformation.cpp
-index 344e155..8eeb054 100644
---- a/modules/demux/adaptive/playlist/SegmentInformation.cpp
-+++ b/modules/demux/adaptive/playlist/SegmentInformation.cpp
-@@ -34,6 +34,7 @@
-
- #include <algorithm>
- #include <cassert>
-+#include <limits>
-
- using namespace adaptive::playlist;
-
-diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp
-index 67110e4..7439699 100644
---- a/modules/demux/hls/playlist/Parser.cpp
-+++ b/modules/demux/hls/playlist/Parser.cpp
-@@ -42,6 +42,7 @@
- #include <map>
- #include <cctype>
- #include <algorithm>
-+#include <limits>
-
- using namespace adaptive;
- using namespace adaptive::playlist;
---
-2.30.1
-
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch
index 950c09b8ae..d6ff0b2dba 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch
@@ -5,11 +5,9 @@ Upstream-Status: Inappropriate [configuration]
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
-Index: vlc-2.1.4/configure.ac
-===================================================================
---- vlc-2.1.4.orig/configure.ac
-+++ vlc-2.1.4/configure.ac
-@@ -1693,7 +1693,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu
+--- a/configure.ac
++++ b/configure.ac
+@@ -1891,7 +1891,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu
dnl
dnl OpenCV wrapper and example filters
dnl
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch
new file mode 100644
index 0000000000..866ed03294
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch
@@ -0,0 +1,44 @@
+From fc4bd86bea0b81da0b6fa5be0a352aecc8fa690a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Sep 2023 20:13:55 -0700
+Subject: [PATCH] po: Fix invalid .oc translation format string
+
+gettext can validate format strings now [1] with 0.22 and newer release
+
+[1] https://savannah.gnu.org/bugs/index.php?64332#comment1
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ po/oc.po | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/po/oc.po b/po/oc.po
+index 667696cfe7..ddb1677d8a 100644
+--- a/po/oc.po
++++ b/po/oc.po
+@@ -5298,18 +5298,18 @@ msgstr "Comanda+"
+ #: src/misc/update.c:482
+ #, c-format
+ msgid "%.1f GiB"
+-msgstr "%.lf Gio"
++msgstr "%.1f Gio"
+
+ #: src/misc/update.c:484
+ #, c-format
+ msgid "%.1f MiB"
+-msgstr "%.lf Mio"
++msgstr "%.1f Mio"
+
+ #: src/misc/update.c:486 modules/gui/macosx/VLCPlaylistInfo.m:138
+ #: modules/gui/macosx/VLCPlaylistInfo.m:140
+ #, c-format
+ msgid "%.1f KiB"
+-msgstr "%.lf Kio"
++msgstr "%.1f Kio"
+
+ #: src/misc/update.c:488
+ #, c-format
+--
+2.42.0
+
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch
new file mode 100644
index 0000000000..2dff9b63ce
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-taglib-Fix-build-on-x86-32-bit.patch
@@ -0,0 +1,50 @@
+From 5b921009b0db2c5c15aef7ce241d3c81f9c272c9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 9 Mar 2024 12:26:39 -0800
+Subject: [PATCH] taglib: Fix build on x86 32-bit
+
+While compiling with clang, there are errors seen such as
+on function override signature mismatches
+
+meta_engine/taglib.cpp:240:10: error: virtual function 'tell' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long'))
+ 240 | long tell() const
+ | ~~~~ ^
+/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:156:22: note: overridden virtual function is here
+ 156 | virtual offset_t tell() const = 0;
+ | ~~~~~~~~ ^
+meta_engine/taglib.cpp:245:10: error: virtual function 'length' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long'))
+ 245 | long length()
+ | ~~~~ ^
+/mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:161:22: note: overridden virtual function is here
+ 161 | virtual offset_t length() = 0;
+ | ~~~~~~~~ ^
+
+Upstream-Status: Submitted [https://mailman.videolan.org/pipermail/vlc-devel/2024-March/143639.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/meta_engine/taglib.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp
+index f371485008..129fdf55f1 100644
+--- a/modules/meta_engine/taglib.cpp
++++ b/modules/meta_engine/taglib.cpp
+@@ -237,12 +237,12 @@ public:
+ return;
+ }
+
+- long tell() const
++ offset_t tell() const
+ {
+- return m_previousPos;
++ return (offset_t)m_previousPos;
+ }
+
+- long length()
++ offset_t length()
+ {
+ uint64_t i_size;
+ if (vlc_stream_GetSize( m_stream, &i_size ) != VLC_SUCCESS)
+--
+2.44.0
+
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch
index d05cf02b71..f68da33607 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch
@@ -1,14 +1,12 @@
* tremor provides libvorbisidec, use it instead of libvorbisdec
-Upstream-status: Pending
+Upstream-Status: Pending
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
-Index: vlc-2.2.1/modules/codec/Makefile.am
-===================================================================
---- vlc-2.2.1.orig/modules/codec/Makefile.am
-+++ vlc-2.2.1/modules/codec/Makefile.am
-@@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora)
+--- a/modules/codec/Makefile.am
++++ b/modules/codec/Makefile.am
+@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala)
libtremor_plugin_la_SOURCES = codec/vorbis.c
libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor
libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0003-fix-luaL-checkint.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-fix-luaL-checkint.patch
index 96b5d2d246..e10002f78e 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0003-fix-luaL-checkint.patch
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0003-fix-luaL-checkint.patch
@@ -1,7 +1,7 @@
* luaL_checkint and luaL_optint were deprecated in lua 5.3
* replacement functions are luaL_checkinteger and luaL_optinteger
-Upstream-status: Pending
+Upstream-Status: Pending
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch
index 424aaa2815..6659a44a0a 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch
@@ -8,16 +8,15 @@ in different locations, therefore its best to rely on pkgconf to find
the libs and header locations instead of assuming /opt/vc which might
work on some distros ( like raspbian ) but not everywhere
+Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 31 +++++++++++--------------------
1 file changed, 11 insertions(+), 20 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index d7cf692..f81b99d 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -3427,27 +3427,18 @@ AC_ARG_ENABLE(mmal,
+@@ -3460,27 +3460,18 @@ AC_ARG_ENABLE(mmal,
AS_HELP_STRING([--enable-mmal],
[Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)]))
if test "${enable_mmal}" != "no"; then
@@ -56,6 +55,3 @@ index d7cf692..f81b99d 100644
dnl
dnl evas plugin
---
-2.26.1
-
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch
new file mode 100644
index 0000000000..89e7d585d7
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch
@@ -0,0 +1,40 @@
+From a46cee56d05884b8020ace6f67ef8389ac1845da Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 5 Mar 2023 13:50:40 -0800
+Subject: [PATCH 1/3] ioctl does not have same signature between glibc and musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ modules/access/v4l2/lib.c | 4 ++++
+ modules/access/v4l2/v4l2.h | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+--- a/modules/access/v4l2/lib.c
++++ b/modules/access/v4l2/lib.c
+@@ -49,7 +49,11 @@ int (*v4l2_fd_open) (int, int) = fd_open
+ //int (*v4l2_open) (const char *, int, ...) = open;
+ //int (*v4l2_dup) (const char *, int, ...) = dup;
+ int (*v4l2_close) (int) = close;
++#ifdef __GLIBC__
+ int (*v4l2_ioctl) (int, unsigned long int, ...) = ioctl;
++#else
++int (*v4l2_ioctl) (int, int, ...) = ioctl;
++#endif
+ ssize_t (*v4l2_read) (int, void *, size_t) = read;
+ //ssize_t (*v4l2_write) (int, const void *, size_t) = write;
+ void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t) = mmap;
+--- a/modules/access/v4l2/v4l2.h
++++ b/modules/access/v4l2/v4l2.h
+@@ -28,7 +28,11 @@
+ /* libv4l2 functions */
+ extern int (*v4l2_fd_open) (int, int);
+ extern int (*v4l2_close) (int);
++#ifdef __GLIBC__
+ extern int (*v4l2_ioctl) (int, unsigned long int, ...);
++#else
++extern int (*v4l2_ioctl) (int, int, ...);
++#endif
+ extern ssize_t (*v4l2_read) (int, void *, size_t);
+ extern void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t);
+ extern int (*v4l2_munmap) (void *, size_t);
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch
deleted file mode 100644
index 405490dcfc..0000000000
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From f7957c35654222e5bd1038341612bbb40a88e98b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Nov 2020 12:08:43 -0800
-Subject: [PATCH] linux/thread: Use SYS_futex instead of __NR_futex
-
-SYS_futex it expected from system C library.
-in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex)
-some newer 32bit architectures e.g. riscv32 are using 64bit time_t from
-get go unlike other 32bit architectures in glibc, therefore it wont have
-NR_futex defined but just NR_futex_time64 this aliases it to NR_futex so
-that SYS_futex is then defined for rv32
-
-Upstream-Status: Submitted [https://github.com/videolan/vlc/pull/117]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/linux/thread.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/linux/thread.c b/src/linux/thread.c
-index 20da296..30639a3 100644
---- a/src/linux/thread.c
-+++ b/src/linux/thread.c
-@@ -30,6 +30,11 @@
- #include <sys/syscall.h>
- #include <linux/futex.h>
-
-+/* 32bit architectures with 64bit time_t do not define __NR_futex syscall */
-+#if !defined(SYS_futex) && defined(SYS_futex_time64)
-+#define SYS_futex SYS_futex_time64
-+#endif
-+
- #ifndef FUTEX_PRIVATE_FLAG
- #define FUTEX_WAKE_PRIVATE FUTEX_WAKE
- #define FUTEX_WAIT_PRIVATE FUTEX_WAIT
-@@ -50,7 +55,7 @@ unsigned long vlc_thread_id(void)
- static int sys_futex(void *addr, int op, unsigned val,
- const struct timespec *to, void *addr2, int val3)
- {
-- return syscall(__NR_futex, addr, op, val, to, addr2, val3);
-+ return syscall(SYS_futex, addr, op, val, to, addr2, val3);
- }
-
- static int vlc_futex_wake(void *addr, int nr)
---
-2.29.2
-
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch
new file mode 100644
index 0000000000..b158328aa2
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch
@@ -0,0 +1,26 @@
+From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 5 Mar 2023 14:13:25 -0800
+Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types
+ warning
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -98,6 +98,11 @@ AS_IF([test -n "${with_binary_version}"]
+ dnl Prevent clang from accepting unknown flags with a mere warning
+ AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS])
+ AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS])
++dnl disable clang from erroring on function pointer protype mismatch, vlc seems to rely on that
++dnl especially in modules/video_filter/deinterlace/algo_yadif.c how it interpolates 'filter` variable
++dnl between different functions yadif_filter_line_c_16bit() and yadif_filter_line_c()
++AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CFLAGS])
++AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CXXFLAGS])
+
+ dnl
+ dnl Check the operating system
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch
new file mode 100644
index 0000000000..f238ff4244
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc/taglib-2.patch
@@ -0,0 +1,67 @@
+Fix build with taglib 2.0
+
+Source: https://gitlab.archlinux.org/archlinux/packaging/packages/vlc/-/blob/main/taglib-2.patch?ref_type=heads
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/modules/meta_engine/taglib.cpp
++++ b/modules/meta_engine/taglib.cpp
+@@ -185,7 +185,7 @@ public:
+ ByteVector res(length, 0);
+ ssize_t i_read = vlc_stream_Read( m_stream, res.data(), length);
+ if (i_read < 0)
+- return ByteVector::null;
++ return ByteVector();
+ else if ((size_t)i_read != length)
+ res.resize(i_read);
+ return res;
+@@ -465,7 +465,7 @@ static void ReadMetaFromASF( ASF::Tag* t
+ static void ReadMetaFromBasicTag(const Tag* tag, vlc_meta_t *dest)
+ {
+ #define SET( accessor, meta ) \
+- if( !tag->accessor().isNull() && !tag->accessor().isEmpty() ) \
++ if( !tag->accessor().isEmpty() ) \
+ vlc_meta_Set##meta( dest, tag->accessor().toCString(true) )
+ #define SETINT( accessor, meta ) \
+ if( tag->accessor() ) \
+@@ -806,15 +806,15 @@ static void ReadMetaFromMP4( MP4::Tag* t
+ {
+ MP4::Item list;
+ #define SET( keyName, metaName ) \
+- if( tag->itemListMap().contains(keyName) ) \
++ if( tag->itemMap().contains(keyName) ) \
+ { \
+- list = tag->itemListMap()[keyName]; \
++ list = tag->itemMap()[keyName]; \
+ vlc_meta_Set##metaName( p_meta, list.toStringList().front().toCString( true ) ); \
+ }
+ #define SET_EXTRA( keyName, metaName ) \
+- if( tag->itemListMap().contains(keyName) ) \
++ if( tag->itemMap().contains(keyName) ) \
+ { \
+- list = tag->itemListMap()[keyName]; \
++ list = tag->itemMap()[keyName]; \
+ vlc_meta_AddExtra( p_meta, metaName, list.toStringList().front().toCString( true ) ); \
+ }
+
+@@ -824,9 +824,9 @@ static void ReadMetaFromMP4( MP4::Tag* t
+ #undef SET
+ #undef SET_EXTRA
+
+- if( tag->itemListMap().contains("covr") )
++ if( tag->itemMap().contains("covr") )
+ {
+- MP4::CoverArtList list = tag->itemListMap()["covr"].toCoverArtList();
++ MP4::CoverArtList list = tag->itemMap()["covr"].toCoverArtList();
+ const char *psz_format = list[0].format() == MP4::CoverArt::PNG ? "image/png" : "image/jpeg";
+
+ msg_Dbg( p_demux_meta, "Found embedded art (%s) is %i bytes",
+@@ -1337,7 +1337,7 @@ static int WriteMeta( vlc_object_t *p_th
+ if( RIFF::AIFF::File* riff_aiff = dynamic_cast<RIFF::AIFF::File*>(f.file()) )
+ WriteMetaToId3v2( riff_aiff->tag(), p_item );
+ else if( RIFF::WAV::File* riff_wav = dynamic_cast<RIFF::WAV::File*>(f.file()) )
+- WriteMetaToId3v2( riff_wav->tag(), p_item );
++ WriteMetaToId3v2( riff_wav->ID3v2Tag(), p_item );
+ }
+ else if( TrueAudio::File* trueaudio = dynamic_cast<TrueAudio::File*>(f.file()) )
+ {
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.12.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb
index cb796a00fa..d25a20ae01 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.12.bb
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb
@@ -2,10 +2,10 @@ DESCRIPTION = "Video player and streamer - davinci edition"
HOMEPAGE = "http://www.videolan.org"
SECTION = "multimedia"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
+DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native bison-native \
dbus libxml2 gnutls \
tremor faad2 ffmpeg flac alsa-lib \
lua-native lua libidn \
@@ -13,20 +13,22 @@ DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \
tiff"
-LDFLAGS_append_riscv64 = " -latomic"
-LDFLAGS_append_riscv32 = " -latomic"
+LDFLAGS:append:riscv64 = " -latomic"
+LDFLAGS:append:riscv32 = " -latomic"
-SRC_URI = "http://download.videolan.org/pub/videolan/${BPN}/${PV}/${BP}.tar.xz \
+SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \
file://0001-make-opencv-configurable.patch \
file://0002-use-vorbisidec.patch \
file://0003-fix-luaL-checkint.patch \
file://0004-Use-packageconfig-to-detect-mmal-support.patch \
- file://0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch \
- file://0001-include-limits-header.patch \
+ file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \
+ file://0006-configure-Disable-incompatible-function-pointer-type.patch \
+ file://taglib-2.patch \
+ file://0001-taglib-Fix-build-on-x86-32-bit.patch \
"
-SRC_URI[sha256sum] = "eff458f38a92126094f44f2263c2bf2c7cdef271b48192d0fe7b1726388cf879"
+SRC_URI[sha256sum] = "adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5"
-inherit autotools features_check gettext pkgconfig mime-xdg
+inherit autotools-brokensep features_check gettext pkgconfig mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
@@ -95,13 +97,12 @@ PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
-do_configure_append() {
- sed -i -e s:'${top_builddir_slash}libtool':'${top_builddir_slash}'${TARGET_SYS}-libtool:g ${B}/doltlibtool
-
+do_configure:append() {
# moc needs support: precreate build paths
for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do
mkdir -p "${B}/modules/gui/qt/$qtpath"
done
+ sed -i -e 's|${WORKDIR}||g' ${B}/config.h
}
# This recipe packages vlc as a library as well, so qt4 dependencies
@@ -109,9 +110,9 @@ do_configure_append() {
PACKAGES =+ "libvlc"
LEAD_SONAME_libvlc = "libvlc.so.5"
-FILES_libvlc = "${libdir}/lib*.so.*"
+FILES:libvlc = "${libdir}/lib*.so.*"
-FILES_${PN} += "\
+FILES:${PN} += "\
${bindir}/vlc \
${libdir}/vlc/vlc/libvlc_vdpau.so \
${datadir}/applications \
@@ -120,15 +121,15 @@ FILES_${PN} += "\
${datadir}/metainfo/vlc.appdata.xml \
"
-FILES_${PN}-dbg += "\
+FILES:${PN}-dbg += "\
${libdir}/vlc/*/.debug \
${libdir}/vlc/plugins/*/.debug \
"
-FILES_${PN}-staticdev += "\
+FILES:${PN}-staticdev += "\
${libdir}/vlc/plugins/*/*.a \
"
-INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP:${PN} = "dev-so"
-EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "0", "1", d)}"
+EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}"
diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch
deleted file mode 100644
index b623dbf37e..0000000000
--- a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Upstream-Status: Backport
-
-Backport patch to fix CVE-2015-6749 from:
-
-https://trac.xiph.org/ticket/2212
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From 04815d3e1bfae3a6cdfb2c25358a5a72b61299f7 Mon Sep 17 00:00:00 2001
-From: Mark Harris <mark.hsj@gmail.com>
-Date: Sun, 30 Aug 2015 05:54:46 -0700
-Subject: [PATCH] oggenc: Fix large alloca on bad AIFF input
-
-Fixes #2212
----
- oggenc/audio.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/oggenc/audio.c b/oggenc/audio.c
-index 477da8c..4921fb9 100644
---- a/oggenc/audio.c
-+++ b/oggenc/audio.c
-@@ -245,8 +245,8 @@ static int aiff_permute_matrix[6][6] =
- int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen)
- {
- int aifc; /* AIFC or AIFF? */
-- unsigned int len;
-- unsigned char *buffer;
-+ unsigned int len, readlen;
-+ unsigned char buffer[22];
- unsigned char buf2[8];
- aiff_fmt format;
- aifffile *aiff = malloc(sizeof(aifffile));
-@@ -269,9 +269,9 @@ int aiff_open(FILE *in, oe_enc_opt *opt, unsigned char *buf, int buflen)
- return 0; /* Weird common chunk */
- }
-
-- buffer = alloca(len);
--
-- if(fread(buffer,1,len,in) < len)
-+ readlen = len < sizeof(buffer) ? len : sizeof(buffer);
-+ if(fread(buffer,1,readlen,in) < readlen ||
-+ (len > readlen && !seek_forward(in, len-readlen)))
- {
- fprintf(stderr, _("Warning: Unexpected EOF in reading AIFF header\n"));
- return 0;
---
-2.5.0
-
diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch
new file mode 100644
index 0000000000..36a31a85cd
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch
@@ -0,0 +1,27 @@
+From 8c10181547c93438fc10f753e7164ee004add6d1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Aug 2022 10:28:47 -0700
+Subject: [PATCH] ogginfo: Include utf8.h for missing utf8_decode
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ogginfo/codec_skeleton.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ogginfo/codec_skeleton.c b/ogginfo/codec_skeleton.c
+index a27f8da..3ac13f6 100644
+--- a/ogginfo/codec_skeleton.c
++++ b/ogginfo/codec_skeleton.c
+@@ -25,6 +25,7 @@
+ #include <ogg/ogg.h>
+
+ #include "i18n.h"
++#include "utf8.h" /* utf8_decode */
+
+ #include "private.h"
+
+--
+2.37.2
+
diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch
deleted file mode 100644
index 111e98ac1f..0000000000
--- a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0004-Fix-format-error-blocking-compilation-with-hardening.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Petter Reinholdtsen <pere@hungry.com>
-Date: Wed, 22 Oct 2014 13:25:21 +0200
-Subject: Fix format error blocking compilation with hardening
-
-Last-Update: 2014-10-22
-Forwarded: no
-
-Enabling hardening refuses to compile code with sprintf() calls
-with no formatting string. Adjust the code to work with hardening.
----
- ogg123/status.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ogg123/status.c b/ogg123/status.c
-index 92b8ff1..ccec389 100644
---- a/ogg123/status.c
-+++ b/ogg123/status.c
-@@ -148,7 +148,7 @@ int print_statistics_line (stat_format_t stats[])
-
- switch (stats->type) {
- case stat_noarg:
-- len += sprintf(str+len, stats->formatstr);
-+ len += sprintf(str+len, "%s", stats->formatstr);
- break;
- case stat_intarg:
- len += sprintf(str+len, stats->formatstr, stats->arg.intarg);
diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch
index b61ce7c184..dd03fa9524 100644
--- a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch
+++ b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/gettext.patch
@@ -2,23 +2,10 @@ Fix build with gettext 0.20.x
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,8 +2,8 @@
-
- AUTOMAKE_OPTIONS = foreign dist-zip
-
--SUBDIRS = po intl include share debian win32 @OPT_SUBDIRS@
--DIST_SUBDIRS = po intl include share debian win32 ogg123 oggenc oggdec ogginfo \
-+SUBDIRS = po include share debian win32 @OPT_SUBDIRS@
-+DIST_SUBDIRS = po include share debian win32 ogg123 oggenc oggdec ogginfo \
- vcut vorbiscomment m4
-
- EXTRA_DIST = config.rpath README AUTHORS COPYING CHANGES vorbis-tools.spec config.h mkinstalldirs
+Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
--- a/configure.ac
+++ b/configure.ac
-@@ -31,7 +31,7 @@ CFLAGS="$cflags_save"
+@@ -34,7 +34,7 @@
AC_PROG_LIBTOOL
ALL_LINGUAS="be cs da en_GB eo es fr hr hu nl pl ro ru sk sv uk vi"
@@ -27,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
dnl --------------------------------------------------
dnl System checks
-@@ -383,7 +383,6 @@ AC_OUTPUT([
+@@ -397,7 +397,6 @@
Makefile
m4/Makefile
po/Makefile.in
@@ -35,3 +22,16 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
include/Makefile
share/Makefile
win32/Makefile
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,8 +2,8 @@
+
+ AUTOMAKE_OPTIONS = foreign dist-zip
+
+-SUBDIRS = po intl include share win32 @OPT_SUBDIRS@
+-DIST_SUBDIRS = po intl include share win32 ogg123 oggenc oggdec ogginfo \
++SUBDIRS = po include share win32 @OPT_SUBDIRS@
++DIST_SUBDIRS = po include share win32 ogg123 oggenc oggdec ogginfo \
+ vcut vorbiscomment m4
+
+ EXTRA_DIST = config.rpath README AUTHORS COPYING CHANGES
diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
index 89e66528ac..61a4aedb85 100644
--- a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.0.bb
+++ b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
@@ -5,19 +5,18 @@ include some command line applications to use the libraries."
HOMEPAGE = "http://www.vorbis.com/"
BUGTRACKER = "https://trac.xiph.org"
SECTION = "multimedia"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libogg libvorbis"
SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \
- file://0001-oggenc-Fix-large-alloca-on-bad-AIFF-input.patch \
- file://0004-Fix-format-error-blocking-compilation-with-hardening.patch \
file://gettext.patch \
+ file://0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch \
"
-SRC_URI[md5sum] = "567e0fb8d321b2cd7124f8208b8b90e6"
-SRC_URI[sha256sum] = "a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc"
+SRC_URI[md5sum] = "998fca293bd4e4bdc2b96fb70f952f4e"
+SRC_URI[sha256sum] = "db7774ec2bf2c939b139452183669be84fda5774d6400fc57fde37f77624f0b0"
inherit autotools pkgconfig gettext
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-Fix-return-type-errors.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-Fix-return-type-errors.patch
new file mode 100644
index 0000000000..37b4db6894
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-Fix-return-type-errors.patch
@@ -0,0 +1,95 @@
+From b6ad4b7086a6487b36d626248322f4c9d5bf420a Mon Sep 17 00:00:00 2001
+From: "thomas.georgec" <thomas.georgec@lge.com>
+Date: Sun, 12 Mar 2023 14:28:50 +0530
+Subject: [PATCH] Fix return-type errors
+
+Fix "control reaches end of non-void function" in code when -Werror=return-type
+is used.
+
+ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc: In function 'float webrtc::{anonymous}::GetLevel(const webrtc::VadLevelAnalyzer::Result&, LevelEstimatorType)':
+ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc:45:1: error: control reaches end of non-void function [-Werror=return-type]
+ 45 | }
+ | ^
+ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::GainControl::Mode webrtc::{anonymous}::Agc1ConfigModeToInterfaceMode(webrtc::AudioProcessing::Config::GainController1::Mode)':
+ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc:117:1: error: control reaches end of non-void function [-Werror=return-type]
+ 117 | }
+ | ^
+ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc: In lambda function:
+ webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc:1853:13: error: control reaches end of non-void function -Werror=return-type]
+ 1853 | default:
+ | ^~~~~~~
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/28]
+
+ .../audio_processing/agc2/adaptive_mode_level_estimator.cc | 2 ++
+ webrtc/modules/audio_processing/audio_processing_impl.cc | 3 +++
+ webrtc/modules/audio_processing/include/audio_processing.cc | 6 ++++++
+ 3 files changed, 11 insertions(+)
+
+diff --git a/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc b/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
+index f09f63b..9cdf6ca 100644
+--- a/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
++++ b/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc
+@@ -42,6 +42,8 @@ float GetLevel(const VadLevelAnalyzer::Result& vad_level,
+ return vad_level.peak_dbfs;
+ break;
+ }
++ RTC_NOTREACHED();
++ __builtin_unreachable ();
+ }
+
+ } // namespace
+diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
+index 67208df..3b8262a 100644
+--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
++++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
+@@ -114,6 +114,8 @@ GainControl::Mode Agc1ConfigModeToInterfaceMode(
+ case Agc1Config::kFixedDigital:
+ return GainControl::kFixedDigital;
+ }
++ RTC_NOTREACHED();
++ __builtin_unreachable ();
+ }
+
+ // Maximum lengths that frame of samples being passed from the render side to
+@@ -1852,6 +1854,7 @@ void AudioProcessingImpl::InitializeNoiseSuppressor() {
+ return NsConfig::SuppressionLevel::k21dB;
+ default:
+ RTC_NOTREACHED();
++ __builtin_unreachable ();
+ }
+ };
+
+diff --git a/webrtc/modules/audio_processing/include/audio_processing.cc b/webrtc/modules/audio_processing/include/audio_processing.cc
+index 8854415..cc8752b 100644
+--- a/webrtc/modules/audio_processing/include/audio_processing.cc
++++ b/webrtc/modules/audio_processing/include/audio_processing.cc
+@@ -28,6 +28,8 @@ std::string NoiseSuppressionLevelToString(
+ case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh:
+ return "VeryHigh";
+ }
++ RTC_NOTREACHED();
++ __builtin_unreachable ();
+ }
+
+ std::string GainController1ModeToString(
+@@ -40,6 +42,8 @@ std::string GainController1ModeToString(
+ case AudioProcessing::Config::GainController1::Mode::kFixedDigital:
+ return "FixedDigital";
+ }
++ RTC_NOTREACHED();
++ __builtin_unreachable ();
+ }
+
+ std::string GainController2LevelEstimatorToString(
+@@ -50,6 +54,8 @@ std::string GainController2LevelEstimatorToString(
+ case AudioProcessing::Config::GainController2::LevelEstimator::kPeak:
+ return "Peak";
+ }
++ RTC_NOTREACHED();
++ __builtin_unreachable ();
+ }
+
+ int GetDefaultMaxInternalRate() {
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-add-missing-header-for-musl.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-add-missing-header-for-musl.patch
new file mode 100644
index 0000000000..ef1d454663
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-add-missing-header-for-musl.patch
@@ -0,0 +1,33 @@
+From 141fb5cbdaa6a883a61b5bf390c849159fc77605 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Thu, 14 Sep 2023 16:12:32 +0200
+Subject: [PATCH] file_wrapper.h: add missing include for musl
+
+this fixes:
+| In file included from ../webrtc-audio-processing-1.3/webrtc/rtc_base/system/file_wrapper.cc:11:
+| ../webrtc-audio-processing-1.3/webrtc/rtc_base/system/file_wrapper.h:86:21: error: 'int64_t' has not been declared
+
+if built with musl libc
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/37]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ webrtc/rtc_base/system/file_wrapper.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/webrtc/rtc_base/system/file_wrapper.h b/webrtc/rtc_base/system/file_wrapper.h
+index 42c463c..c34d366 100644
+--- a/webrtc/rtc_base/system/file_wrapper.h
++++ b/webrtc/rtc_base/system/file_wrapper.h
+@@ -13,6 +13,7 @@
+
+ #include <stddef.h>
+ #include <stdio.h>
++#include <cstdint>
+
+ #include <string>
+
+--
+2.41.0
+
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb
new file mode 100644
index 0000000000..c56ca53f89
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
+HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
+SECTION = "audio"
+
+DEPENDS = "abseil-cpp"
+DEPENDS:append:libc-musl = " libexecinfo"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2"
+
+SRC_URI = " \
+ http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${PV}.tar.xz \
+ file://0001-add-missing-header-for-musl.patch \
+ file://0001-Fix-return-type-errors.patch \
+"
+SRC_URI[sha256sum] = "2365e93e778d7b61b5d6e02d21c47d97222e9c7deff9e1d0838ad6ec2e86f1b9"
+S = "${WORKDIR}/webrtc-audio-processing-${PV}"
+
+LDFLAGS:append:libc-musl = " -lexecinfo"
+
+inherit meson pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb
index b94dcf9f18..6e56c4409c 100644
--- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing_0.3.1.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
SECTION = "audio"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2 \
@@ -19,5 +19,5 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${
SRC_URI[md5sum] = "6e10724ca34bcbc715a4c208273acb0c"
SRC_URI[sha256sum] = "a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf"
-LDFLAGS_append_libc-musl = " -lexecinfo"
+LDFLAGS:append:libc-musl = " -lexecinfo"
inherit autotools pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua b/meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua
new file mode 100644
index 0000000000..353a49c0b5
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/wireplumber/files/90-OE-disable-session-dbus-dependent-features.lua
@@ -0,0 +1,5 @@
+-- These features require a session DBus instance, which is not available
+-- by default in OE generated images. The absence of such a DBus instance
+-- causes WirePlumber to fail to start. Turn these off to prevent that.
+alsa_monitor.properties["alsa.reserve"] = false
+default_access.properties["enable-flatpak-portal"] = false
diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.1.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.1.bb
new file mode 100644
index 0000000000..9115076a24
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.1.bb
@@ -0,0 +1,145 @@
+SUMMARY = "Session / policy manager implementation for PipeWire"
+HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/wireplumber"
+BUGTRACKER = "https://gitlab.freedesktop.org/pipewire/wireplumber/issues"
+SECTION = "multimedia"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=17d1fe479cdec331eecbc65d26bc7e77"
+
+DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \
+ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \
+"
+
+SRCREV = "961450b2ac700e8c9c85a0beb2426b875fa08bff"
+SRC_URI = " \
+ git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
+ file://90-OE-disable-session-dbus-dependent-features.lua \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gobject-introspection systemd
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
+# Enable system-lua to let wireplumber use OE's lua.
+# Documentation needs python-sphinx, which is not in oe-core or meta-python2 for now.
+# elogind is not (yet) available in OE, so disable support.
+EXTRA_OEMESON += " \
+ -Ddoc=disabled \
+ -Dsystem-lua=true \
+ -Delogind=disabled \
+ -Dsystemd-system-unit-dir=${systemd_system_unitdir} \
+ -Dsystemd-user-unit-dir=${systemd_user_unitdir} \
+ -Dtests=false \
+"
+
+PACKAGECONFIG ??= " dbus \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \
+"
+
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=true,-Dsystemd-system-service=false,systemd"
+# "systemd-user-service" packageconfig will only install service
+# files to rootfs but not enable them as systemd.bbclass
+# currently lacks the feature of enabling user services.
+PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=true,-Dsystemd-user-service=false,systemd"
+PACKAGECONFIG[dbus] = ""
+
+PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
+PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends "
+
+WP_MODULE_SUBDIR = "wireplumber-0.5"
+
+do_install:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then
+ install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d
+ fi
+}
+
+python split_dynamic_packages () {
+ # Create packages for each WirePlumber module.
+ wp_module_libdir = d.expand('${libdir}/${WP_MODULE_SUBDIR}')
+ do_split_packages(d, wp_module_libdir, r'^libwireplumber-module-(.*)\.so$', d.expand('${PN}-modules-%s'), 'WirePlumber %s module', extra_depends='', recursive=False)
+}
+
+python set_dynamic_metapkg_rdepends () {
+ import os
+ import oe.utils
+
+ # Go through all generated WirePlumber module packages
+ # (excluding the main package and the -meta package itself)
+ # and add them to the -meta package as RDEPENDS.
+
+ base_pn = d.getVar('PN')
+
+ wp_module_pn = base_pn + '-modules'
+ wp_module_metapkg = wp_module_pn + '-meta'
+
+ d.setVar('ALLOW_EMPTY:' + wp_module_metapkg, "1")
+ d.setVar('FILES:' + wp_module_metapkg, "")
+
+ blacklist = [ wp_module_pn, wp_module_metapkg ]
+ wp_module_metapkg_rdepends = []
+ pkgdest = d.getVar('PKGDEST')
+
+ for pkg in oe.utils.packages_filter_out_system(d):
+ if pkg in blacklist:
+ continue
+
+ is_wp_module_pkg = pkg.startswith(wp_module_pn)
+ if not is_wp_module_pkg:
+ continue
+
+ if pkg in wp_module_metapkg_rdepends:
+ continue
+
+ # See if the package is empty by looking at the contents of its
+ # PKGDEST subdirectory. If this subdirectory is empty, then then
+ # package is empty as well. Empty packages do not get added to
+ # the meta package's RDEPENDS.
+ pkgdir = os.path.join(pkgdest, pkg)
+ if os.path.exists(pkgdir):
+ dir_contents = os.listdir(pkgdir) or []
+ else:
+ dir_contents = []
+ is_empty = len(dir_contents) == 0
+ if not is_empty:
+ if is_wp_module_pkg:
+ wp_module_metapkg_rdepends.append(pkg)
+
+ d.setVar('RDEPENDS:' + wp_module_metapkg, ' '.join(wp_module_metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + wp_module_metapkg, wp_module_pn + ' meta package')
+}
+
+PACKAGES =+ "\
+ libwireplumber \
+ ${PN}-default-config \
+ ${PN}-scripts \
+ ${PN}-modules \
+ ${PN}-modules-meta \
+"
+
+PACKAGES_DYNAMIC = "^${PN}-modules.*"
+
+CONFFILES:${PN} += " \
+ ${datadir}/wireplumber/wireplumber.conf \
+ ${datadir}/wireplumber/*.lua.d/* \
+"
+# Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to
+# be present. While in theory any application that uses libpipewire can configure
+# itself to become a daemon, in practice, the PipeWire daemon is used.
+RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta"
+
+FILES:${PN} += "${systemd_user_unitdir} ${systemd_system_unitdir} ${datadir}/zsh"
+
+FILES:libwireplumber = " \
+ ${libdir}/libwireplumber-*.so.* \
+"
+
+FILES:${PN}-scripts += "${datadir}/wireplumber/scripts/*"
+
+# Dynamic packages (see set_dynamic_metapkg_rdepends).
+FILES:${PN}-modules = ""
+RRECOMMENDS:${PN}-modules += "${PN}-modules-meta"
diff --git a/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb b/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
index 8c34526cc3..2d4f389e34 100644
--- a/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
+++ b/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
@@ -2,7 +2,7 @@ SUMMARY = "H.265/HEVC video encoder"
DESCRIPTION = "A free software library and application for encoding video streams into the H.265/HEVC format."
HOMEPAGE = "http://www.videolan.org/developers/x265.html"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://../COPYING;md5=c9e0427bc58f129f99728c62d4ad4091"
@@ -17,8 +17,13 @@ SRC_URI[sha256sum] = "fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b5
inherit lib_package pkgconfig cmake
-EXTRA_OECMAKE_append_x86 = " -DENABLE_ASSEMBLY=OFF"
+do_generate_toolchain_file:append() {
+ echo "set(CMAKE_ASM_NASM_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake
+}
+
+EXTRA_OECMAKE:append:x86 = " -DENABLE_ASSEMBLY=OFF"
+EXTRA_OECMAKE:append:aarch64 = " -DENABLE_PIC=ON"
AS[unexport] = "1"
-COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
+COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux'
diff --git a/meta-multimedia/recipes-support/crossguid/crossguid/0001-include-missing-cstdint.patch b/meta-multimedia/recipes-support/crossguid/crossguid/0001-include-missing-cstdint.patch
new file mode 100644
index 0000000000..a12eba8ebf
--- /dev/null
+++ b/meta-multimedia/recipes-support/crossguid/crossguid/0001-include-missing-cstdint.patch
@@ -0,0 +1,31 @@
+From 1eb9bea38c320b2b588635cffceaaa2a8d434780 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Jan 2023 22:09:26 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no longer transitively
+included [1]. Explicitly include it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/graeme-hill/crossguid/pull/67]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/crossguid/guid.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/crossguid/guid.hpp b/include/crossguid/guid.hpp
+index 61e0f17..70966f2 100644
+--- a/include/crossguid/guid.hpp
++++ b/include/crossguid/guid.hpp
+@@ -29,6 +29,7 @@ THE SOFTWARE.
+ #include <jni.h>
+ #endif
+
++#include <cstdint>
+ #include <functional>
+ #include <iostream>
+ #include <array>
+--
+2.39.1
+
diff --git a/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb b/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb
index 7441716635..5e680c4640 100644
--- a/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb
+++ b/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb
@@ -7,14 +7,14 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1373274bc8d8001edc54933919f36f68"
DEPENDS += "util-linux"
-SRCREV = "5b45cdd9a56ca9da35ee0f8845cb4e2603d245dc"
-SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https"
+SRCREV = "ca1bf4b810e2d188d04cb6286f957008ee1b7681"
+SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https;branch=master \
+ file://0001-include-missing-cstdint.patch"
S = "${WORKDIR}/git"
inherit cmake
-do_install() {
- install -D -m 0644 ${B}/libxg.a ${D}${libdir}/libxg.a
- install -D -m 0644 ${S}/Guid.hpp ${D}${includedir}/Guid.hpp
+do_install:append() {
+ sed -i -e 's|${STAGING_DIR_HOST}||g' ${D}${datadir}/crossguid/cmake/crossguid-config.cmake
}
diff --git a/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb b/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
index feffa9fe19..df688bbcda 100644
--- a/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
+++ b/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
@@ -2,19 +2,22 @@ SUMMARY = "Profiling utilities for GStreamer 1.0 pipelines"
HOMEPAGE = "https://github.com/kirushyk/gst-instruments"
SECTION = "multimedia"
-LICENSE = "LGPL-3.0"
+LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
DEPENDS = "gstreamer1.0"
+SRCREV = "cb8977a6711657e32853159cd539d1d75fcbc772"
+PV = "0.3.1+git"
+
+SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
-SRCREV = "3b862e52e5c53ad1023dc6808effa4cb75572c4b"
-SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*a"
-FILES_${PN} += "${libdir}/*"
+inherit vala meson pkgconfig
-INSANE_SKIP_${PN} = "dev-so"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*a"
+FILES:${PN} += "${libdir}/*"
-inherit autotools pkgconfig
+INSANE_SKIP:${PN}-dev = "dev-elf"
+PACKAGECONFIG ??= "ui"
+PACKAGECONFIG[ui] = "-Dui=enabled,-Dui=disabled,gtk+3"
diff --git a/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.5.bb b/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb
index 31fe43bfa7..376dd15d17 100644
--- a/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.5.bb
+++ b/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb
@@ -1,23 +1,22 @@
SUMMARY = "Library tasked with managing, extracting and handling media art caches"
-LICENSE = "LGPLv2+ & GPLv2+"
+LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
file://libmediaart/extract.c;endline=18;md5=dff2b6328ab067b5baadc135f9876c36 \
file://tests/mediaarttest.c;endline=18;md5=067106eaa1f7a9d918759a096667f18e"
DEPENDS = "glib-2.0 gdk-pixbuf"
-GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection vala features_check
SRC_URI = "${GNOME_MIRROR}/libmediaart/1.9/libmediaart-${PV}.tar.xz"
-SRC_URI[sha256sum] = "07def5a42c482ae71d3e1f77a4d0fdc337f74226059a65284d6d5a241f0e9cd6"
+SRC_URI[sha256sum] = "c3bc5025d7db380587f9c8eb800c611f6b5a16d6b4b78fcff93f62876a677f17"
S = "${WORKDIR}/libmediaart-${PV}"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST = "introspection"
+GIR_MESON_OPTION = ""
EXTRA_OEMESON = "-Dimage_library=gdk-pixbuf"
diff --git a/meta-multimedia/recipes-support/libsrtp/libsrtp_2.3.0.bb b/meta-multimedia/recipes-support/libsrtp/libsrtp_2.3.0.bb
deleted file mode 100644
index 9d4c305fc7..0000000000
--- a/meta-multimedia/recipes-support/libsrtp/libsrtp_2.3.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "library implementing Secure RTP (RFC 3711)"
-HOMEPAGE = "https://github.com/cisco/libsrtp"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2909fcf6f09ffff8430463d91c08c4e1"
-
-S = "${WORKDIR}/git"
-SRCREV = "d02d21111e379c297e93a9033d7b653135f732ee"
-SRC_URI = "git://github.com/cisco/libsrtp.git"
-
-inherit autotools pkgconfig
-
-EXTRA_OEMAKE += "shared_library"
-
-do_configure_prepend() {
- cp ${STAGING_DATADIR_NATIVE}/automake-*/ar-lib ${S}
-}
-
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb b/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb
new file mode 100644
index 0000000000..d1cbe0f590
--- /dev/null
+++ b/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Library implementing Secure RTP (RFC 3711)"
+DESCRIPTION = "This package provides an implementation of the Secure Real-time Transport Protocol (SRTP), \
+ the Universal Security Transform (UST), and a supporting cryptographic kernel. The SRTP API \
+ is documented in include/srtp.h, and the library is in libsrtp2.a (after compilation)."
+HOMEPAGE = "https://github.com/cisco/libsrtp"
+BUGTRACKER = "https://github.com/cisco/libsrtp/issues"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2909fcf6f09ffff8430463d91c08c4e1"
+
+SRC_URI = "git://github.com/cisco/libsrtp.git;branch=main;protocol=https"
+SRCREV = "a566a9cfcd619e8327784aa7cff4a1276dc1e895"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[nss] = "-Dcrypto-library=nss,, nss,,, openssl"
+PACKAGECONFIG[openssl] = "-Dcrypto-library=openssl,, openssl,,, nss"
+
+inherit meson pkgconfig
diff --git a/meta-multimedia/recipes-support/srt/srt/0001-core-Fix-build-with-GCC-11.-1806.patch b/meta-multimedia/recipes-support/srt/srt/0001-core-Fix-build-with-GCC-11.-1806.patch
deleted file mode 100644
index 0cb6943ccb..0000000000
--- a/meta-multimedia/recipes-support/srt/srt/0001-core-Fix-build-with-GCC-11.-1806.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f1b35cbf5b9b42b031e9b119e4c802b5f744468c Mon Sep 17 00:00:00 2001
-From: Christophe Giboudeaux <krop@users.noreply.github.com>
-Date: Wed, 10 Feb 2021 12:42:45 +0000
-Subject: [PATCH] [core] Fix build with GCC 11. (#1806)
-
-The 'limits' header must be included explicitly.
----
-Upstream-Status: Backport [https://github.com/haivision/srt/commit/f1b35cbf5b9b42b031e9b119e4c802b5f744468c]
- srtcore/sync.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/srtcore/sync.h b/srtcore/sync.h
-index 59c125a7..9f01ca91 100644
---- a/srtcore/sync.h
-+++ b/srtcore/sync.h
-@@ -15,6 +15,7 @@
- //#define ENABLE_CXX17
-
- #include <cstdlib>
-+#include <limits>
- #ifdef ENABLE_STDCXX_SYNC
- #include <chrono>
- #include <thread>
---
-2.30.1
-
diff --git a/meta-multimedia/recipes-support/srt/srt_1.4.2.bb b/meta-multimedia/recipes-support/srt/srt_1.4.4.bb
index f7dfda28f1..d6cf36dfbe 100644
--- a/meta-multimedia/recipes-support/srt/srt_1.4.2.bb
+++ b/meta-multimedia/recipes-support/srt/srt_1.4.4.bb
@@ -6,10 +6,9 @@ HOMEPAGE = "https://github.com/Haivision/srt"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
-SRCREV = "50b7af06f3a0a456c172b4cb3aceafa8a5cc0036"
-SRC_URI = "git://github.com/Haivision/srt;protocol=https \
+SRCREV = "8b32f3734ff6af7cc7b0fef272591cb80a2d1aae"
+SRC_URI = "git://github.com/Haivision/srt;protocol=https;branch=master \
file://0001-don-t-install-srt-ffplay.patch \
- file://0001-core-Fix-build-with-GCC-11.-1806.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
@@ -24,5 +23,5 @@ PACKAGECONFIG[crypt] = "-DENABLE_ENCRYPTION=ON,-DENABLE_ENCRYPTION=OFF,openssl"
PACKAGECONFIG[utils] = "-DENABLE_APPS=ON,-DENABLE_APPS=OFF,"
PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'utils', '${PN}-utils', '', d)}"
-FILES_${PN}-utils += "${bindir}"
-RDEPENDS_${PN}-utils += "${PN}"
+FILES:${PN}-utils += "${bindir}"
+RDEPENDS:${PN}-utils += "${PN}"
diff --git a/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr/0001-screencast-Fix-build-with-older-mesa.patch b/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr/0001-screencast-Fix-build-with-older-mesa.patch
new file mode 100644
index 0000000000..ff4fcc292a
--- /dev/null
+++ b/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr/0001-screencast-Fix-build-with-older-mesa.patch
@@ -0,0 +1,53 @@
+From ef60a76e2a21b7649632dcf71d125039604a56b5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 18 Jun 2023 10:42:19 -0700
+Subject: [PATCH] screencast: Fix build with older mesa
+
+gbm_bo_create_with_modifiers2() is quite new and there are still distros
+that ship 21.2 and older. e.g. powerVR mesa implementation
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/screencast/pipewire_screencast.c | 8 ++++++--
+ src/screencast/screencast_common.c | 4 ++--
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/screencast/pipewire_screencast.c b/src/screencast/pipewire_screencast.c
+index 0611fd5..7d66810 100644
+--- a/src/screencast/pipewire_screencast.c
++++ b/src/screencast/pipewire_screencast.c
+@@ -234,9 +234,13 @@ static void pwr_handle_stream_param_changed(void *data, uint32_t id,
+ uint32_t n_params;
+ struct spa_pod_builder *builder[2] = {&b[0].b, &b[1].b};
+
+- struct gbm_bo *bo = gbm_bo_create_with_modifiers2(cast->ctx->gbm,
++ struct gbm_bo *bo = gbm_bo_create_with_modifiers(cast->ctx->gbm,
+ cast->screencopy_frame_info[cast->buffer_type].width, cast->screencopy_frame_info[cast->buffer_type].height,
+- cast->screencopy_frame_info[cast->buffer_type].format, modifiers, n_modifiers, flags);
++ cast->screencopy_frame_info[cast->buffer_type].format, modifiers, n_modifiers);
++ if(!bo)
++ bo = gbm_bo_create(cast->ctx->gbm,
++ cast->screencopy_frame_info[cast->buffer_type].width, cast->screencopy_frame_info[cast->buffer_type].height,
++ cast->screencopy_frame_info[cast->buffer_type].format, GBM_BO_USE_RENDERING);
+ if (bo) {
+ modifier = gbm_bo_get_modifier(bo);
+ gbm_bo_destroy(bo);
+diff --git a/src/screencast/screencast_common.c b/src/screencast/screencast_common.c
+index d6d13db..2e4fc18 100644
+--- a/src/screencast/screencast_common.c
++++ b/src/screencast/screencast_common.c
+@@ -143,8 +143,8 @@ struct xdpw_buffer *xdpw_buffer_create(struct xdpw_screencast_instance *cast,
+ uint32_t flags = GBM_BO_USE_RENDERING;
+ if (cast->pwr_format.modifier != DRM_FORMAT_MOD_INVALID) {
+ uint64_t *modifiers = (uint64_t*)&cast->pwr_format.modifier;
+- buffer->bo = gbm_bo_create_with_modifiers2(cast->ctx->gbm, frame_info->width, frame_info->height,
+- frame_info->format, modifiers, 1, flags);
++ buffer->bo = gbm_bo_create_with_modifiers(cast->ctx->gbm, frame_info->width, frame_info->height,
++ frame_info->format, modifiers, 1);
+ } else {
+ if (cast->ctx->state->config->screencast_conf.force_mod_linear) {
+ flags |= GBM_BO_USE_LINEAR;
+--
+2.41.0
+
diff --git a/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb b/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
new file mode 100644
index 0000000000..8ffe652b22
--- /dev/null
+++ b/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "This provides screenshot/screencast xdg-desktop-portal backends for wlroots."
+HOMEPAGE = "https://github.com/emersion/xdg-desktop-portal-wlr"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e316e9609dd7672b87ff25b46b2cf3e1"
+
+DEPENDS = " \
+ wayland \
+ wayland-native \
+ wayland-protocols \
+ libdrm \
+ libinih \
+ pipewire \
+ virtual/libgbm \
+"
+
+inherit meson pkgconfig features_check
+REQUIRED_DISTRO_FEATURES = "opengl wayland"
+
+SRC_URI = "git://github.com/emersion/xdg-desktop-portal-wlr.git;protocol=https;branch=master \
+ file://0001-screencast-Fix-build-with-older-mesa.patch"
+
+S = "${WORKDIR}/git"
+SRCREV = "776113a4f014639c29d8de8fcb513493ef7b491f"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'basu', d)}"
+
+PACKAGECONFIG[man-pages] = "-Dman-pages=enabled,-Dman-pages=disabled,scdoc-native"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsd-bus-provider=libsystemd,-Dsystemd=disabled"
+PACKAGECONFIG[basu] = "-Dsd-bus-provider=basu,,basu"
+
+FILES:${PN} += "${systemd_user_unitdir} ${datadir}"